我对iPhone 4图像有以下两个问题。任何帮助表示赞赏。
当我使用iPhone 4时,如果我从我的应用程序中的照片库访问图像并将其保存在数据库中,然后再次检索它,我发现它已经失去了分辨率。同样适用于3G - 不会损失分辨率。知道为什么会发生这种情况吗?
我在iPhone 4上使用视网膜扫描图像作为按钮。它们直接来自IB。有时我看到它们倾斜到一半的高度和相同的宽度。再次,这在3G上没有出现,一切正常。
非常感谢任何帮助。
这是我用来从库访问的代码。我不认为保存到数据库是导致它。我正在使用“ImageToDataTransformer”。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *img;
img = [self scaleAndRotateImage:[info objectForKey:UIImagePickerControllerOriginalImage]];
imageView.image = [img imageByScalingProportionallyToSize:targetSize];
}
在scaleAndRotateImage中我使用“static int kMaxResolution = 640;”这适用于iPhone 4吗?可能这可能是问题所在。
找到scaleAndRotateImage的代码here
答案 0 :(得分:0)
这些实际上是两个不同的问题。
为了保存图片,我猜你正在调用的地方UIGraphicsBeginImageContext
。相反,您应该使用UIGraphicsBeginImageContextWithOptions
。这个link有更多细节。 (如果要同时支持3.x和4.x设备,则必须在调用之前检查该功能是否存在。有关如何执行此操作的详细信息,请参阅here。如果不支持存在,改为调用原始方法。)
按钮问题难以诊断。确保你的“@ 2x”图像被正确命名(包括区分大小写),它们确实是双重分辨率。除此之外,很难说。我会审核this并仔细检查你是否正确地做了一切。