我正在创建一个漫画书编辑器。我希望能够为发言气球使用一些相当复杂的可自定义形状。
我可以画尾部,然后画一个气球,但这意味着我在形状内部有轮廓,我只希望它围绕边缘。
我假设 QPainterPath::simplified()
会解决问题,但它似乎什么也没做。
目前我最好的想法是绘制一个带有粗轮廓的形状,然后再次绘制没有轮廓的形状,但我认为这不适用于“零宽度”轮廓。
最佳答案
我可以想到两种可能的解决方案:
- 将“尾部”和主要“气球”绘制为一个形状。在这种情况下,您只需绘制一个具有单个轮廓和单个填充的形状。
- 分别画两次。先用黑色画出一个“扩展”版的形状,然后在上面画出“正常”版的白色形状。您根本不会绘制任何“线条”——填充的“扩展”版本将起到相同的作用。
第一种方法允许使用其他线条样式(点线或波浪线),但后者允许“轮廓”稍微偏移,因此它在某些边缘周围看起来更粗,而在其他边缘周围看起来更细。
关于c++ - 使用 Qt Graphics 描绘轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851177/