QPainter到QImage

时间:2016-10-10 16:54:01

标签: qt5 qgraphicsview qgraphicsscene

我正在尝试使用QGraphicsScene使用以下代码向Qt5呈现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");

get_post_meta

问题是没有渲染太靠近图像边界的点。有没有办法强制执行填充/边距?

1 个答案:

答案 0 :(得分:0)

您可以通过渲染到更大的图像然后剪切到更小的图像来实现填充。

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");