环境:
QT4.7,Mac OS X 10.12.6
问题:
当我保存一个图像,或者将它放在剪贴板中,然后从一个用QT4.7构建的应用程序中粘贴到OSX10.12.6下,生成的图像将垂直倒置。我使用native图形模式,因为OS 10.12破坏了raster模式的QT4.7工具提示;保存和复制到剪贴板功能多年来一直正常工作,从10.6.8到10.11,所以在那些OS版本中,我确实使用了raster。在这种情况下,剪贴板图像(和保存的图像)不会倒置。
下面是我正在做的复制剪贴板的工作:
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);我试图找到一个“翻转像素地图”功能,但没有运气。我的Google-fu在这里可能有缺陷。我搜索过“倒转”、“翻转”和“转换”和“QT4.7”
有人能为像素映射提供指向基于Qt的“翻转”函数的本地(Qt类的标准部分)的指针吗?还是我需要写一个?
发布于 2018-03-24 14:04:51
以下是一个似乎可行的答案:
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();https://stackoverflow.com/questions/49465140
复制相似问题