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 –

相关问题