【发布时间】:2013-04-05 15:21:05
【问题描述】:
如何消除三角形之间的边界?
我正在我的triangle drawing app 中实现导出到pdf。上图显示了 pdf 输出的样子。到处都是白色边界,宽度不到 1 像素。
三角形可以有任何颜色。
我画出每个三角形,像这样:
CGContextBeginPath(context);
CGContextMoveToPoint(context, x0, y0);
CGContextAddLineToPoint(context, x1, y1);
CGContextAddLineToPoint(context, x2, y2);
CGContextClosePath(context);
CGContextFillPath(context);
黑白三角形的大小必须相同,这一点很重要。
方法
方法 1 - 描边
在所有三角形周围画一个 1 像素粗的笔划。
方法 2 - 挤压
将所有三角形拉伸 2 个像素,使三角形重叠。
方法 3 - 合并
将相互接触的三角形组合成一个多边形。
方法 4 - PDF 重叠设置
也许 PDF 具有消除边界的设置。不知道。
方法 5 - 后处理
创建一个过滤器来检测边界像素并消除它们。这对我不起作用,它需要保存为 PDF。 iOS 上的 PDF 不支持着色器代码,AFAIK。
方法 X - 更智能的方法
有没有更好的方法将三角形拼接在一起?
【问题讨论】:
标签: ios pdf core-graphics cgpdfcontext