Попытка скопировать часть изображения в виде многоугольника (в частности, пятиугольника), но меня больше интересует, как копировать как что-либо, кроме прямоугольника.
Следующий код позволяет копировать только как прямоугольник.
QImage copy(const QRect &rect = QRect()) const;
inline QImage copy(int x, int y, int w, int h) const
{ return copy(QRect(x, y, w, h)); }
void SelectionInstrument::copyImage(ImageArea &imageArea)
{
if (mIsSelectionExists)
{
imageArea.setImage(mImageCopy);
QClipboard *globalClipboard = QApplication::clipboard();
QImage copyImage;
if(mIsImageSelected)
{
copyImage = mSelectedImage;
}
else
{
copyImage = imageArea.getImage()->copy(mTopLeftPoint.x(), mTopLeftPoint.y(), mWidth, mHeight);
}
globalClipboard->setImage(copyImage, QClipboard::Clipboard);
}
}