2010-10-15 80 views
1

我對iPhone 4圖像有以下兩個問題。任何幫助表示讚賞。iphone 4圖像丟失分辨率

  1. 當使用iPhone 4,如果我訪問來自圖片庫的圖像在我的應用程序,並將其保存在數據庫中,然後再次找回它,我看到它已經失去了分辨率。 3G也是如此 - 不會損失分辨率。任何想法,爲什麼會發生這種情況?

  2. 我在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

+2

你可以發佈你用來保存圖片和創建按鈕的代碼嗎? – 2010-10-15 05:20:19

+0

發佈代碼..你需要更多的細節? – 2010-10-15 05:34:56

+0

按鈕 - 我將它們設置在IB中。 – 2010-10-15 05:35:48

回答

0

這真是兩個不同的問題。

爲了保存圖像,我猜你正在調用UIGraphicsBeginImageContext。相反,你應該使用UIGraphicsBeginImageContextWithOptions。這link有更多的細節。 (如果你想同時支持3.x和4.x設備,你必須在調用之前檢查該函數是否存在,請參閱here瞭解如何執行此操作的詳細信息。如果不存在,請致電原來的方法)

按鈕問題很難診斷。確保您的「@ 2x」圖像命名正確(包括區分大小寫),並且它們確實是完全分辨率的兩倍。除此之外,很難說。我會審查this並仔細檢查你是否正確地做了一切。