c++ - 使用 Qt Graphics 描绘轮廓

标签 c++ qt vector-graphics

我正在创建一个漫画书编辑器。我希望能够为发言气球使用一些相当复杂的可自定义形状。

我可以画尾部,然后画一个气球,但这意味着我在形状内部有轮廓,我只希望它围绕边缘。

我假设 QPainterPath::simplified() 会解决问题,但它似乎什么也没做。

目前我最好的想法是绘制一个带有粗轮廓的形状,然后再次绘制没有轮廓的形状,但我认为这不适用于“零宽度”轮廓。

最佳答案

我可以想到两种可能的解决方案:

  • 将“尾部”和主要“气球”绘制为一个形状。在这种情况下,您只需绘制一个具有单个轮廓和单个填充的形状。
  • 分别画两次。先用黑色画出一个“扩展”版的形状,然后在上面画出“正常”版的白色形状。您根本不会绘制任何“线条”——填充的“扩展”版本将起到相同的作用。

第一种方法允许使用其他线条样式(点线或波浪线),但后者允许“轮廓”稍微偏移,因此它在某些边缘周围看起来更粗,而在其他边缘周围看起来更细。

关于c++ - 使用 Qt Graphics 描绘轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851177/

相关文章:

javascript - Paper.js 中动态生成的可移动矢量形状

c++ - 使用 C++ 递归打印链表

c++ - 如何将 mat 图像转换为字符串(array 2d<rgb pixel>)?

c++ - unique_ptr 的设计头痛

c++ - 函数参数中的Qt智能指针

wpf - DxScene 是 "WPF for Delphi"吗?有人用过吗?

iphone - SVGKit - Illustrator SVG 曲线从相对到绝对

c++ - 为什么指针指向零值时是空白的?

c++ - 如何使新的连接监视器成为主屏幕

c++ - QListWidget::setEditTriggers(QAbstractItemView::AnyKeyPressed) 不工作