Retina显示和[UIImage initWithData]

Sam*_*Sam 50 iphone cocoa-touch uiimage

我需要从服务器下载的原始数据初始化图像,该服务器根据iPhone客户端的类型提供正确的图像大小.

我知道我应该设置刻度值是640×960显示屏上2.0,然而,这是一个只读属性,不能初始化期间使用initWithData时设置.

有任何想法吗?

tc.*_*tc. 93

我不知道你可以嵌入到图像数据中的任何东西告诉手机它是一个@ 2x图像,但这样的东西应该有效:

UIImage * img = ...;
img = [UIImage imageWithCGImage:img.CGImage scale:2 orientation:img.imageOrientation];
Run Code Online (Sandbox Code Playgroud)


Den*_*rut 19

由于iOS 6.0 UIImage有方法+ imageWithData:scale:,你可以传递2.0视网膜的比例.


Phi*_*den 7

您可以传递[[UIScreen mainScreen] scale]scale参数而不是2.0f.