我正在使用qt开发一个简单的绘图应用程序。
我有一个qImage并将其填充为trasparent。
QImage *m_markerImg = new QImage(400,320, QImage::Format_ARGB32_Premultiplied);
m_markerImg -> fill( Qt::transparent );
我通过从qgraphicsscene&amp ;;继承它创建了一个自定义图形场景。在图形场景的mousemove事件中在此图像上绘制一条线:
QPointF plotPoint = mouseEvent->scenePos();
m_painter.drawLine(m_initPoint,plotPoint);
m_initPoint=plotPoint;
在鼠标按下事件中分配m_initPoint。一切都很好,我能够在这张图片上画线。现在我想在运行时,即在线条绘制期间存储该线所覆盖的像素。 虽然我可以存储我正在绘制的点,即m_initPoint& plotPoint但是如果penwidth设置为大于1,那么我将只得到一个单行像素,而我需要整行的像素宽度覆盖。
我怎么能得到它?
答案 0 :(得分:0)
你需要:
QPainterPathStroker
描述路径(另请参阅this example),