2011-08-10 37 views

cevap

30

Sen QPixmap::copy kullanabilirsiniz:

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

da QImage::copy vardır: Eğer QPixmap kullandığınız için, onun copy method kullanabilir ve gerçek kırpma gerçekleştirmek için QRect ile sağlayabilmektedir

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

Sadece QPixmap'ın copy() işlevlerini kullanın.

Bazen bir görüntü etrafında sarmak için daha iyidir:

Bu metin quiestion ilk yorumu okuduktan sonucudur. Yani başka bir görüntünün parçası olan ya da başka bir deyişle başka bir görüntünün bir parçasını gösteren bir görüntüye sahip olmaktır. Bu, sarılmış görüntünün, başlığı dışında ek bellek gerektirmediği yoldur. Sarılmış görüntüyü endişelenmeden görüntüleyebilir veya kaydedebilirsiniz. Dezavantajı, sarılı görüntüyü kullanana kadar orijinal görüntünün geçerli kalması gerektiğidir, ayrıca sarılmış görüntüde çizim yaparsanız kaynağı etkileyecektir. yerine QPixmap ait

25

Kullanım Qimage: Bu kod bir dosyayı kurtaracak

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

sol üst köşe 128x128px için kırpılmış.

+0

Aynı işlemi yapmak için 'QPixmap' kullanabilirsiniz; Ayrıca, bir QPixmap'den başlıyorsanız ve bunu bir QImage olarak istiyorsanız “QPixmap” toImage() işlevine sahiptir. Bunu bir satırda yapabilirsiniz: QImage copy = pixmap.copy (0,0,128,128) .toImage(); ' –