我目前在使用两张图片来构建一个菜单。以前我在普通的显示系统上使用这段代码时,它能够正常工作,但是在视网膜显示屏上,CGImageRef在背景显示压下状态时创建正确的遮罩图像存在问题。我尝试使用视网膜图片的图像扩展进行导入。这些图像是使用以下方式提供的:
[UIImage imageNamed:@"filename.png"]
我提供了标准和Retina图像,文件名分别为filename.png和filename@2x.png。
问题出现在选择所选区域的掩码时。该代码在低分辨率资源和高分辨率主资源下运行良好,但当我使用
CGImageCreateWithImageInRect
我希望指定矩形来创建图像,这样图像的比例会增加,这意味着主按钮的分辨率不错,但是当按下按钮时返回和叠加在上面的图像分辨率不正确,而且奇怪地缩放到两倍像素密度,看起来很糟糕。
我尝试了两种方法
UIImage *img2 = [UIImage imageWithCGImage:cgImg scale:[img scale] orientation:[img imageOrientation]];
UIImage *scaledImage = [UIImage imageWithCGImage:[img2 CGImage] scale:4.0 orientation:UIImageOrientationUp];
当我使用drawInRect:(Selected Rect)方法时,似乎无法取得进展。
我已经抓狂了大约两个小时,但好像找不到一个合适的解决方案,有人有什么想法吗?