操作系统似乎选择是否使用PNG或JPEG,原因不明。在我的情况下,我想要发送JPEG(通过邮件,推特等),但我倾向于得到一个非常大的PNG。
如果我将UIActivityItemProvider子类化并返回指向我自己创建的文件的NSURL,则使用UIImageJPEGRepresentation将JPEG写入磁盘,我当然可以获得JPEG。但是,使用NSURL会导致其他问题(其中一个问题是无法将iMessage用作目标)。有没有办法使用UIImage,但是指定你更喜欢某种文件格式? (我很确定答案是否定的,但想检查一下。)
答案 0 :(得分:10)
实际上它只是将JPEG表示的NSData
作为活动项传递。
NSData *data = UIImageJPEGRepresentation(image, 0.6);
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[data]];
applicationActivities:nil];
答案 1 :(得分:-4)
看起来答案确实没有。