iphone 4图像失去了分辨率

时间:2010-10-15 05:17:04

标签: iphone ios4

我对iPhone 4图像有以下两个问题。任何帮助表示赞赏。

  1. 当我使用iPhone 4时,如果我从我的应用程序中的照片库访问图像并将其保存在数据库中,然后再次检索它,我发现它已经失去了分辨率。同样适用于3G - 不会损失分辨率。知道为什么会发生这种情况吗?

  2. 我在iPhone 4上使用视网膜扫描图像作为按钮。它们直接来自IB。有时我看到它们倾斜到一半的高度和相同的宽度。再次,这在3G上没有出现,一切正常。

  3. 非常感谢任何帮助。

    这是我用来从库访问的代码。我不认为保存到数据库是导致它。我正在使用“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

1 个答案:

答案 0 :(得分:0)

这些实际上是两个不同的问题。

为了保存图片,我猜你正在调用的地方UIGraphicsBeginImageContext。相反,您应该使用UIGraphicsBeginImageContextWithOptions。这个link有更多细节。 (如果要同时支持3.x和4.x设备,则必须在调用之前检查该功能是否存在。有关如何执行此操作的详细信息,请参阅here。如果不支持存在,改为调用原始方法。)

按钮问题难以诊断。确保你的“@ 2x”图像被正确命名(包括区分大小写),它们确实是双重分辨率。除此之外,很难说。我会审核this并仔细检查你是否正确地做了一切。