【发布时间】:2016-08-01 13:56:02
【问题描述】:
我正在使用 qt 开发一个简单的绘图应用程序。
我有一个 qImage 并将其填充为透明。
QImage *m_markerImg = new QImage(400,320, QImage::Format_ARGB32_Premultiplied);
m_markerImg -> fill( Qt::transparent );
我通过从 qgraphicsscene 继承并在图形场景的 mousemove 事件中在该图像上绘制一条线来创建自定义图形场景:
QPointF plotPoint = mouseEvent->scenePos();
m_painter.drawLine(m_initPoint,plotPoint);
m_initPoint=plotPoint;
m_initPoint 在鼠标按下事件中被分配。一切正常,我可以在这张图片上画线。现在我想在运行时存储这条线所覆盖的像素,即在画线期间。 虽然我可以存储我正在绘制的点,即 m_initPoint 和 plotPoint 但如果 penwidth 设置为大于 1 ,那么我将只得到一个线像素,而我需要这条线的宽度覆盖的整个像素.
我怎样才能得到它?
【问题讨论】:
标签: qt qgraphicsitem qgraphicsscene qpainter qimage