2011-11-24 48 views
3

我已經注意到從圖形應用程序,我正在做這行圖紙時,使用此代碼保存質量非常低:您可以將PNG保存到iOS5的照片庫嗎?

UIImage *imageToSave = drawImage.image; 
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil); 

至於我能理解,你不能設置JPG質量時,使用UIImageWriteToSavedPhotosAlbum。

有沒有辦法將UIImage作爲PNG直接保存到照片庫,或者某種方式來提高JPG質量?在做屏幕截圖時(在iPad上按住/關閉+主頁),抓取圖片的質量是完美的,但我不希望人們以這種方式保存圖像。

任何幫助非常感謝!

回答

6

試試這個

NSData* pngdata = UIImagePNGRepresentation (drawImage.image); //PNG wrap 
UIImage* img = [UIImage imageWithData:pngdata]; 
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil); 
+1

巨大的感謝!這效果很好,圖像保存速度比壓縮JPG更快,並且無僞影。圖像以透明的方式保存,在iPad上觀看時會產生黑色背景。在編寫PNG之前,我必須弄清楚如何包含白色背景。 – machineboy

+0

這有效,但不是很優雅:'drawImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@「white_background.png」]];'是否可以編程方式關閉PNG寫入的透明度? – machineboy