2011-08-10 59 views

答えて

30

あなたはQPixmap::copyを使用することができます。

QRect rect(10, 20, 30, 40); 
QPixmap original('image.png'); 
QPixmap cropped = original.copy(rect); 

QImage::copyもあります:

QRect rect(10, 20, 30, 40); 
QImage original('image.png'); 
QImage cropped = original.copy(rect); 
3

あなたはQPixmapのを使用しているので、あなたがそのcopy methodを使用し、実際の作物を実行するためにQRectでそれを供給することができます。

2

QPixmapのcopy()関数を使用するだけです。

このテキストは、あなたのquiestionに最初のコメントを読んでの結果である:

時には画像の周りにラップすることをお勧めします。それは、別の画像の一部である、すなわち別の画像の一部を指す画像を有することである。これは、ラップされたイメージがヘッダを除いて追加のメモリを必要としない方法です。ラップされたイメージを心配することなく表示または保存できます。欠点は、元のイメージがラップされたイメージを使用するまで有効でなければならないことです。ラップされたイメージを描画している場合は、元のイメージに影響します。代わりに、QPixmapのの

25

使用QImageの:このコードは、ファイルを保存します

QImage image("initial_image.jpg"); 
    QImage copy ; 
    copy = image.copy(0, 0, 128, 128); 
    copy.save("cropped_image.jpg"); 

は、左上隅の128x128pxにトリミング。

+0

'QPixmap'を使って同じ操作をすることができます。さらに、 'QPixmap'から始まって' QImage'として 'QPixmap'が' toImage() 'を持っています。そのようにすることができます: 'QImage copy = pixmap.copy(0,0,128,128).toImage();' –

関連する問題