我有一个CGPath(由UIBezierPath创建),我想通过应用CGAffineTransformScale扩展到我想要的任何大小。
这会影响我的绘图质量(转换为图像时),如果不影响,为什么?
答案 0 :(得分:2)
UIBezierPath不是位图图像。它由坐标组成,可用于多个操作,例如:stroke,fill,hitTest,alphaMask等。缩放UIBezierPath时,您将对这些坐标应用几何变换。然后,您可以使用缩放路径执行上述操作之一,并且绘图质量根本不会受到影响。
换句话说,使用UIBezierPath绘制类似于绘制矢量化图像。那些也不会受到缩放操作的影响。
使图像质量受损的原因是缩放由像素构成的图像(而不是操作)。然后,所有像素被无差别地缩放,因为导致这些像素的操作不再是已知的。因此,使用笔划绘制的像素和使用填充绘制的像素之间没有差异。当它们可能不应该使用相同的比例时,两者都将被缩放。