4

看來,操作系統選擇是否使用PNG或JPEG的原因未知。在我的情況下,我想要發送JPEG(通過郵件,推特等),但我傾向於獲得非常大的PNG。有沒有在UIImage上使用UIActivityViewController時指定圖像格式的方法?

如果我繼承UIActivityItemProvider並返回一個NSURL指向我通過使用UIImageJPEGRepresentation將JPEG寫入磁盤而創建的文件,我當然可以獲得JPEG。但是,使用NSURL會導致其他問題(其中一個問題是無法將iMessage用作目標)。有沒有辦法使用UIImage,但指定你更喜歡某種文件格式? (我很確定答案是否定的,但要檢查。)

回答

-3

看起來像答案確實沒有。

+0

你找到這個確認嗎? – stigi

8

實際上,它只是將JPEG表示的NSData作爲活動項目傳遞。

NSData *data = UIImageJPEGRepresentation(image, 0.6); 
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[data]]; 
                       applicationActivities:nil]; 
+0

不錯,節省了很多時間。 :)在我的情況下,我想保留圖像PNG,但他們正在轉換爲JPG,而共享,所以我發送的PNG數據在這裏:) +1 –

相關問題