4

操作系统似乎出于未知原因选择使用 PNG 或 JPEG。就我而言,我想要发送一个 JPEG(通过邮件、推特等),但我倾向于得到一个非常大的 PNG。

如果我将 UIActivityItemProvider 子类化并返回一个指向我通过使用 UIImageJPEGRepresentation 将 JPEG 写入磁盘而自己创建的文件的 NSURL,我当然可以获得 JPEG。然而,使用 NSURL 会导致其他问题(其中之一是无法使用 iMessage 作为目标)。有什么方法可以使用 UIImage,但指定您更喜欢某种文件格式?(我很确定答案是否定的,但想检查一下。)

4

2 回答 2

10

实际上,它只是NSData将 JPEG 表示形式作为活动项传入。

NSData *data = UIImageJPEGRepresentation(image, 0.6);
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[data]];
                                                                                 applicationActivities:nil];
于 2013-06-26T11:17:11.523 回答
-4

看起来答案确实是否定的。

于 2013-01-16T12:28:53.180 回答