0
在我自定义的QWidget paintEvent方法中,我想绘制一个带有圆形图像图标的圆。源图像从文件加载,然后使用QPainter组合自动转换为圆形。怎么做?谢谢!如何从图像文件创建圆形图标?
void DotGraphView::paintNodes(QPainter & painter)
{
painter.setPen(Qt::blue);
painter.drawEllipse(x, y, 36, 36);
QPixmap icon("./image.png");
QImage fixedImage(64, 64, QImage::Format_ARGB32_Premultiplied);
QPainter imgPainter(&fixedImage);
imgPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);
imgPainter.drawPixmap(0, 0, 64, 64, icon);
imgPainter.setCompositionMode(QPainter::CompositionMode_SourceIn);
imgPainter.setBrush(Qt::transparent);
imgPainter.drawEllipse(32, 32, 30, 30);
imgPainter.end();
painter.drawPixmap(x, y, 64, 64, QPixmap::fromImage(fixedImage));
}
上述代码不起作用。输出显示不是圆形图像。
请详细说明它是如何工作的。它是否编译?它可以运行吗?它会产生错误的输出吗?以何种方式? – 2012-01-01 14:40:58
输出显示不是圆形图像。 – allenchen 2012-01-01 14:47:14
究竟是什么?你可以上传截图吗? – Cydonia7 2012-01-01 14:56:14