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