我正在使用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,那么我将只获得单行像素,而我需要整个像素被这条线的宽度覆盖。
我怎么才能做到这一点?
发布于 2016-08-02 02:45:50
您需要:
QPainterPathStroker描边路径(另请参阅this example),https://stackoverflow.com/questions/38700755
复制相似问题