2010-11-06 31 views
1

我的应用程序将图像存储为NSData对象。但是,当这些都在iPhone 4加载,他们以双倍尺寸显示,因为默认比例系数为1。我有2个问题我将不胜感激帮助,请:指定从NSData加载的UIImage的缩放比例

  1. 有什么办法来设置没有使用的UIImage的比例initWithCGImage:scale:orientation:

  2. 如果答案是否定的,那么使用上面的方法将NSData加载到UIImage中的最有效方法是什么?目前看来,我将不得不从NSData创建一个UIImage,然后使用上面提到的方法创建另一个UIImage。

谢谢。

回答

1
  1. UIImage是不可变的,所以我想没有黑客攻击是没有办法的。
  2. UIImage只是CGImage的包装,所以我认为使用initWithCGImage:就像你所描述的那样不会有任何明显的性能影响。如果你真的担心这个,你可以先将它加载到CGImageRef
+0

谢谢,但似乎我将加载到内存2图像对象,无论是2 UIImage对象或UIImage对象和CGImageRef。我刚刚测试过,它确实对性能有很大的影响,尤其是当这些图像在UITableViewCell中绘制时。我得到了更好的性能,只是在绘图中绘制图像,而在使用我的问题中使用方法创建的UIImage绘制图像。 – RunLoop 2010-11-06 12:40:44