应用于CGPath的缩放变换是否会影响渲染质量?

时间:2015-04-30 20:12:51

标签: ios image uibezierpath cgpath image-quality

我有一个CGPath(由UIBezierPath创建),我想通过应用CGAffineTransformScale扩展到我想要的任何大小。

这会影响我的绘图质量(转换为图像时),如果不影响,为什么?

1 个答案:

答案 0 :(得分:2)

UIBezierPath不是位图图像。它由坐标组成,可用于多个操作,例如:stroke,fill,hitTest,alphaMask等。缩放UIBezierPath时,您将对这些坐标应用几何变换。然后,您可以使用缩放路径执行上述操作之一,并且绘图质量根本不会受到影响。

换句话说,使用UIBezierPath绘制类似于绘制矢量化图像。那些也不会受到缩放操作的影响。

使图像质量受损的原因是缩放由像素构成的图像(而不是操作)。然后,所有像素被无差别地缩放,因为导致这些像素的操作不再是已知的。因此,使用笔划绘制的像素和使用填充绘制的像素之间没有差异。当它们可能不应该使用相同的比例时,两者都将被缩放。