在仿射变换上扩展iPhone“基于矢量的图形”


晴天
2025-03-18 02:04:29 (25天前)
  1. 绘图模型。与基于栅格的绘图模型相比,其中绘制命令


操作
</跨度>
在单个像素上,Quartz中的绘图命令是使用固定比例绘图空间指定的,称为“锟”

4 条回复
  1. 0# AsuRa | 2019-08-31 10-32



    将变换应用于视图不会导致重绘。它所做的就是缩放视图的图层,这是存储在GPU上的位图纹理。这将导致图形模糊。



    在iPhone上绘制视图时

    -drawRect:

    被调用以提供视图层的内容。然后将该内容缓存为GPU上的纹理。



    他们在指南中指的是在绘制矢量图形时-drawRect:期间应用变换。如果你在那里使用转换(通过

    CGContextConcatCTM()

    等等,圆圈将以更大的比例平滑地绘制。但是,您还需要调整视图大小以反映这个更大的形状。我推荐使用

    scale

    自定义视图子类上的属性,您可以将其设置为不同的比例因子,并且可以处理调整视图的大小并急剧重绘其内容。


  2. 1# 12345 | 2019-08-31 10-32



    这取决于你应用缩放转换时,我希望。如果先绘制它,然后进行缩放变换,那么它将看起来像素化(因为它在绘制后已经缩放)。如果在执行绘图例程之前执行了缩放,我希望它能按预期工作。



    所以,是的,您正在使用基于矢量的命令来实现这一目标;我怀疑这是一个订购问题。你什么时候进行改造和绘画?


  3. 2# 哦哦了 | 2019-08-31 10-32



    你可以尝试打电话

    setNeedsDisplay

    在变换之后,我不确定这是否会起作用,但它值得一试。


登录 后才能参与评论