首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Q像素映射qclipboard并保存倒置图像

Q像素映射qclipboard并保存倒置图像
EN

Stack Overflow用户
提问于 2018-03-24 13:18:38
回答 1查看 357关注 0票数 0

环境:

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。在这种情况下,剪贴板图像(和保存的图像)不会倒置。

下面是我正在做的复制剪贴板的工作:

代码语言:javascript
复制
QPixmap pm = QPixmap::grabWindow(uiframePlot->winId());
clipboard->setPixmap( pm, QClipboard::Clipboard);
QApplication::processEvents();

以下是我为保存图像所做的工作:

代码语言:javascript
复制
QString qs = QDir::homePath() + scappath;
QPixmap pm = QPixmap::grabWindow(uiframePlot->winId());
pm.save(qs);

我试图找到一个“翻转像素地图”功能,但没有运气。我的Google-fu在这里可能有缺陷。我搜索过“倒转”、“翻转”和“转换”和“QT4.7”

有人能为像素映射提供指向基于Qt的“翻转”函数的本地(Qt类的标准部分)的指针吗?还是我需要写一个?

EN

回答 1

Stack Overflow用户

发布于 2018-03-24 14:04:51

以下是一个似乎可行的答案:

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49465140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档