我想使用核心图形的别名绘图功能 随着能力的膨胀 所以像素将在1600%或更高时看得非常清晰 在ipad 1(没有视网膜显示器)中一切正常
当我在iphone4S / 4上运行相同的代码时,我看不到别名绘图在
按照此帖CoreGraphics for retina display中的说明操作,但图片仍然不是“别名”
这是我的问题的屏幕上限 - http://farm8.staticflickr.com/7161/6634020573_19d8b3549f_o.jpg
这里是我如何进行下面的屏幕截图 - (子类UIView并将绘图代码放在drawRect中:)
- (void)drawRect:(CGRect)rect
{
//[self setNeedsDisplay];
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
//
CGContextSetLineWidth(context, 1.0);
CGColorSpaceRef cs=CGColorSpaceCreateDeviceRGB();
float cc[]={1.0,0.0,0.0,1.0};
CGContextSetStrokeColorWithColor(context,CGColorCreate(cs, cc));
CGContextSetShouldAntialias(context, FALSE);
CGContextSetAllowsAntialiasing(context, FALSE);
//
CGContextMoveToPoint(context,10,0);
CGContextAddLineToPoint(context, 266,256);
CGContextStrokePath(context);
CGContextSetShouldAntialias(context, TRUE);
CGContextSetAllowsAntialiasing(context, TRUE);
//
CGContextMoveToPoint(context,-10,0);
CGContextAddLineToPoint(context, 246,256);
CGContextStrokePath(context);
}
然后点按两次放大
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *t=[touches anyObject];
if([t tapCount]==2) {
paper *p=[paperStack objectAtIndex:0];
CGAffineTransform transform = p.transform;
p.transform = CGAffineTransformScale(transform, 16.0f, 16.0f);
}
}
任何帮助/提示将不胜感激, 提前谢谢你!
最好的, Kitdastudio
答案 0 :(得分:0)
让视网膜显示SHARP CRISP像素
我需要放弃
CGContextMoveToPoint(context,10,0);
CGContextAddLineToPoint(context, 266,256);
相反,我需要使用一个循环来沿线添加矩形(每个1x1大)
并且它将在视网膜显示器和较旧的1x显示器中产生SHARP CRISP像素