• 6642阅读
  • 8回复

[提问]QPainterPath填充问题 [复制链接]

上一主题 下一主题
离线jixc2008
 

只看楼主 正序阅读 楼主  发表于: 2014-07-14
moveTo()隐含的开始一个新subpath ,并且闭合前一个subpath。
绘制路径时如果多次使用moveTo(),最后使用painter.fillPath
填充路径,只能填充每个subpath,不能将整个路径填充?
没有方法可以填充整个路径?
离线dbzhang800

只看该作者 8楼 发表于: 2014-07-14
对字体轮廓不了解,不过
这不就是一条闭合曲线么?为什么会有多个 moveTo 呢?
离线jixc2008

只看该作者 7楼 发表于: 2014-07-14
内部全部填充,如下图
离线jixc2008

只看该作者 6楼 发表于: 2014-07-14
希望能把字母J中的所有内部区域全部填充成一种或多种颜色。
现在的问题是:多次使用moveTo()只能填充每个subpath(图片中字母J的多种颜色的线),不能把字母J轮廓内的所有区域全部填充
离线dbzhang800

只看该作者 5楼 发表于: 2014-07-14
没看太懂,你的意思是,除了各个字的轮廓线外,你还期望一个包含所有字的总的轮廓线?
离线jixc2008

只看该作者 4楼 发表于: 2014-07-14
采用OpenGL绘制能否解决这个问题?
离线jixc2008

只看该作者 3楼 发表于: 2014-07-14
有没有方法可以代替moveTo , 但并不开始一个新subpath 闭合前一个subpath ?
离线jixc2008

只看该作者 2楼 发表于: 2014-07-14
基于Qt的FreeType字体轮廓解析
http://blog.csdn.net/wang__sid/article/details/11601761

绘制字体轮廓,最后希望能填充整个轮廓
多次使用moveTo()只能填充每个subpath,不能填充整个轮廓

方法一:将moveTo去掉或者改成arcMoveTo ,绘制是错误的
方法二:使用
QPainterPathStroker  pathStroke;
QPainterPath path1=pathStroke.createStroke(path);
填充path1,也不能正确填充
方法三:
QPainterPath OuterPath;
        OuterPath.setFillRule(Qt::WindingFill);
        OuterPath.addRect(0, 0, 400,400);
       QPainterPath fillPath =OuterPath.intersected(path);
填充fillPath ,也不能正确填充

研究了好几天了,盼解决方案
离线dbzhang800

只看该作者 1楼 发表于: 2014-07-14
没看懂你的需求,为什么要多次调用moveTo?以及你的“整条路径”是如何定义的?
快速回复
限100 字节
 
上一个 下一个