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

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

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

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

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

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

点赞