小编Dan*_*Dan的帖子

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

我用这个drawRect做了一个"圆圈"视图

- (void)drawRect:(CGRect)rect 
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(ctx, color.CGColor);
    CGContextAddEllipseInRect(ctx, rect);
    CGContextFillPath(ctx);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用时缩放视图时CGAffineTransformMakeScale(2.0, 2.0),结果是边缘模糊和像素化.但是,编程指南说Quartz使用基于矢量的命令来绘制视图,并且在使用仿射变换时它们会继续看起来很好:

Quartz绘图系统使用基于矢量的绘图模型.与基于光栅的绘图模型相比,绘图命令对各个像素进行操作,Quartz中的绘图命令使用固定比例绘图空间(称为用户坐标空间)指定.然后,iPhone OS将此绘图空间中的坐标映射到设备的实际像素上.该模型的优点是使用矢量命令绘制的图形在使用仿射变换放大或缩小时继续看起来很好.

或者我不使用基于矢量的命令?如果没有,我该怎么做才能画圆圈?

谢谢.

iphone vector core-graphics quartz-graphics

5
推荐指数
1
解决办法
1526
查看次数

标签 统计

core-graphics ×1

iphone ×1

quartz-graphics ×1

vector ×1