环境:
Qt 4.7,Mac OS X 10.12.6
问题:
当我保存图像或将其放在剪贴板中,然后将其粘贴到使用Qt 4.7构建的应用程序的OS X 10.12.6下时,生成的图像将垂直反转。我正在使用raster
图形模式,因为OS X 10.12已经破坏了raster
模式的Qt 4.7工具提示;保存和复制到剪贴板功能已经从10.6.8到10.11正常工作多年,因此在那些OS X版本中我使用QPixmap pm = QPixmap::grabWindow(uiframePlot->winId());
clipboard->setPixmap( pm, QClipboard::Clipboard);
QApplication::processEvents();
。在这种情况下,剪贴板图像(和保存的图像)不会反转。
以下是我要复制到剪贴板的内容:
QString qs = QDir::homePath() + scappath;
QPixmap pm = QPixmap::grabWindow(uiframePlot->winId());
pm.save(qs);
以下是我为保存图片所做的工作:
let
我试图找到一个"翻转像素图"功能,但没有运气。我的谷歌可能在这里不足。我一直在寻找"倒转","翻转"和"转换"用" Qt 4.7"
任何人都可以提供指向本地的指针(意思是Qt类的标准部分)基于Qt,"翻转"像素图的功能?或者我需要写一个吗?
答案 0 :(得分:0)
这里的答案似乎没问题:
QPixmap pm = QPixmap::grabWindow(tmw->ui->frameScope->winId());
if (imageinvert)
{
QPixmap pmf = pm.transformed(QTransform().scale(1, -1));
clipboard->setPixmap( pmf, QClipboard::Clipboard);
}
else
{
clipboard->setPixmap( pm, QClipboard::Clipboard);
}
QApplication::processEvents();