我使用一种方法在我的iOS应用程序上获得圆形图片,这在iphone 3上完全正常。我的问题是,只要我在iphone 4或更高版本上试用它,图片的质量就会很差。
有什么办法,我可以把我的代码转换成高分辨率的圆形画面吗?
-(void) setRoundedView:(UIImageView *)imageView picture: (UIImage *)picture toDiameter:(float)newSize{
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0);
[[UIBezierPath bezierPathWithRoundedRect:imageView.bounds
cornerRadius:100.0] addClip];
CGRect frame=imageView.bounds;
frame.size.width=newSize;
frame.size.height=newSize;
[picture drawInRect:frame];
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
非常感谢你的帮助!
答案 0 :(得分:1)
问题在于您如何定义图像上下文。您指定的是1.0刻度,但在视网膜屏幕上应该是2.0。
相反,您可以使用0.0来默认为原生质量:
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 0.0);