有一个小需求,就是需要动态修改一张图片上面的数字,当然不能事先准备那么多数字的图片,所以就需要动态的在一个图片上面画数字。
需求很简单,我首先这么实现:
UIImage*image=[UIImageimageNamed:@"assemble-a"];UIGraphicsBeginImageContext(image.size);[imagedrawInRect:CGRectMake(0,0,image.size.width,image.size.height)];UIImage*newImage=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();
画出来的图怎么看都模糊,刚开始没在意,以为就是这样的……
然后给美女设计师看效果,直接回了一句——怎么这么糊……
额,好像确实是越看越糊……
既然是模糊了,极有可能是 scale 没有对。凡事先问 Google,还真有同样的问题的:
解决方法就是用
UIGraphicsBeginImageContextWithOptions(image.size,NO,[[UIScreenmainScreen]scale]);
代替
UIGraphicsBeginImageContext(image.size);