我正在尝试使用QImage从文本创建图像.
根据此处的文档:http: //doc.qt.io/qt-5/qimage.html#Format-enum
我们不能使用QImage::Format_Indexed8QImage.我不能使用QImage::Format_Mono或QImage::Format_MonoLSB由于其低质量.
我的问题是:
以下是执行此操作的示例代码:
QImage image(100, 50, QImage::Format_ARGB32_Premultiplied);
QPainter painter(&image);
painter.fillRect(image.rect(), Qt::yellow);
painter.drawText(image.rect(), Qt::AlignCenter | Qt::AlignVCenter, "hello, world");
image.save("output.png");
Run Code Online (Sandbox Code Playgroud)
它创建了这个图像:
输出格式为PNG,因此它具有良好的压缩性能而不会丢失任何质量.
这个例子向您展示了如何使用QPainter::drawText和处理字体:
http://doc.qt.io/archives/qt-4.7/painting-fontsampler.html
QImage::save支持多种格式和质量级别:
http://doc.qt.io/archives/qt-4.7/qimage.html#reading-and-writing-image-files
虽然QImage是在QtCore中,QPainter而文本绘制例程是在QtGUI中。因此,在 Linux 系统上,这将需要运行 X 服务器:
http://www.qtcentre.org/threads/1758-QPainter-in-console-apps
| 归档时间: |
|
| 查看次数: |
3812 次 |
| 最近记录: |