2010-12-07 11 views
10

動画編集アプリケーションでトリムされたクリップとトリムされていないクリップの違いを表示したい、つまり、トリミングされたクリップのサムネイルに小さなフィルム画像を追加したいとします。これどうやってするの?別の画像の上に画像を追加するには?

私たちのギャラリーアプリケーションでは、画像とビデオの違いを表示するだけです。

Qtの別の画像の上に画像を追加するにはどうすればよいですか?

答えて

21

下部イメージでQPainterを開き、drawPixmap()/ drawImage()メソッドを使用して上部イメージを描画します。

QPixmap base, overlay; // come from your code 
{ 
    QPainter painter(base); 
    painter.drawPixmap(100, 100, overlay); 
} 

あなたのオーバーレイは、アルファチャンネル(例えばファンシーPNGアイコン)を含み、あなたの基本イメージは、あなたがアルファチャンネルを持つ新しいQPixmapのを作成する必要があり、その中に両方の画像を描画していない場合:

QPixmap base, overlay; // come from your code 
QPixmap result(base.width(), base.height()); 
result.fill(Qt::transparent); // force alpha channel 
{ 
    QPainter painter(&result); 
    painter.drawPixmap(0, 0, base); 
    painter.drawPixmap(100, 100, overlay); 
} 

QPixmapsとQImagesは互換的に使用できますが、すべての組み合わせが良好なパフォーマンスを示すわけではありません。

+0

Nikitaさん、ありがとうございます。今はうまくいきます... – gsgoodguy

+0

偉大な答えです。ありがとう。 – giles123

関連する問題