首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QPainter到QImage

QPainter到QImage
EN

Stack Overflow用户
提问于 2016-10-11 00:54:01
回答 1查看 3.8K关注 0票数 3

我正在尝试使用以下代码使用Qt5QGraphicsScene呈现为图像:

代码语言:javascript
复制
QImage image(outputWidth, outputHeight, QImage::Format_ARGB32_Premultiplied);
QPainter painter(&image);
scene->render(&painter);
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
image.mirrored().save("output.png");

问题是,太接近图像边界的点不会被渲染。有没有办法强制使用填充/边距?

EN

回答 1

Stack Overflow用户

发布于 2016-12-01 06:13:47

您可以通过渲染到较大的图像,然后裁剪到较小的图像来实现pad。

代码语言:javascript
复制
int pad_width = 4;
QImage image;
QImage padded_image(outputWidth + 2 * pad_width, outputHeight + 2 * pad_width, QImage::Format_ARGB32_Premultiplied);
QPainter painter(&padded_image);
scene->render(&painter);
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
image = padded_image.copy(pad_width, pad_width, outputWidth, outputHeight);
image.mirrored().save("output.png");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39963144

复制
相关文章

相似问题

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