-
UID:159898
-
- 注册时间2015-02-06
- 最后登录2019-04-12
- 在线时间63小时
-
- 发帖23
- 搜Ta的帖子
- 精华0
- 金钱235
- 威望34
- 贡献值1
- 好评度24
-
访问TA的空间加好友用道具
|
各位高手, 不知道有谁知道QPdfWriter的QPainter能否使用CompositionMode。 我用如下代码测试,发现pdf writer不能用 composition mode,而 QIamage能用, 代码如下: // 绘制文本 void MainWindow::drawText(QPainter *painter, const QString &str) { painter->drawText(QPoint(10, 10), "strdkdkdk "); } // 用 multipy 模式绘制矩形 void MainWindow::drawRect(QPainter *painter, const QRectF &rect) { painter->setCompositionMode(QPainter::CompositionMode_Multiply); painter->fillRect(rect, Qt::yellow); } void MainWindow::testPdfWriter() { QString str("hello, word"); QRectF rect(0, 0, 200, 100); QPdfWriter writer("e:\\testPdfWriter.pdf"); writer.setPageSize(QPageSize(QPageSize::A4)); writer.setResolution(72); QPainter painter; painter.begin(&writer); drawText(&painter, str); drawRect(&painter, rect); painter.end(); QImage img(500, 500, QImage::Format_RGBA8888); painter.begin(&img); drawText(&painter, str); drawRect(&painter, rect); painter.end(); img.save("e:\\testPdfWriter.png"); } 结果是png文件里能看到字符hello, word,
而pdf文件里只有黄色矩形,字符被覆盖了。
|