首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在qimage上使用using时,获取qpen覆盖的像素索引

在qimage上使用using时,获取qpen覆盖的像素索引
EN

Stack Overflow用户
提问于 2016-08-01 21:56:03
回答 1查看 368关注 0票数 1

我正在使用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,那么我将只获得单行像素,而我需要整个像素被这条线的宽度覆盖。

我怎么才能做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2016-08-02 02:45:50

您需要:

  1. 将线转换为路径,
  2. 使用QPainterPathStroker描边路径(另请参阅this example),
  3. 将描边路径作为多边形获取,
  4. 扫描(迭代)多边形的像素-有关完整示例,请参阅this question
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38700755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档