我正在开发一个处理图像编辑的应用程序,并且正处于尝试集成 Twitter 的阶段。到目前为止,它运行良好,我可以从应用程序内发送推文并附上用户正在编辑的图像。我注意到的缺点是图像会自动压缩。这意味着用户正在编辑的 PNG,如果它具有透明度,将不再具有透明度。这不好。有没有解决的办法?我希望能够发送一条推文并附上我的带有透明度的 PNG 图像,基本上防止它在发送后转换为 JPG。
这是我目前的代码。非常不言自明和直截了当。
SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeTwitter];
[tweetSheet addImage:self.workingImage];
[self presentModalController:tweetSheet animated:YES completion:nil];
self.workingImage
是用户正在处理的图像。
编辑: 我已经更新了上面的代码以在 iOS6 上运行,并且似乎有完全相同的问题(我想这并不奇怪)。看起来一旦图片出现在 Twitter 上,它就是 JPG 格式的。有什么办法可以保存为 PNG 格式?
我不想失去所有这些简单的代码,只是为了走上使用第 3 方图像托管网站的道路。
编辑 2: 我现在已经转换了所有代码,不再使用 alpha channel 。这意味着我不再关心图像是 PNG 还是 JPEG 格式,因为所有 3 个 RGB channel 将始终存在。无论原始图像的质量如何,发布推文都会在发布之前仍然压缩图像。
我什至使用该应用向 Twitter 发布了一张图片,通过 Twitter 对其进行了压缩,保存了图片并尝试使用新压缩的图片重复操作,但 Twitter 仍然是压缩的!
我迷路了。 Twitter(甚至 Facebook)无论如何都会压缩图像吗?我唯一的选择是第三方图片托管网站吗?我不想失去 iOS6 框架内置的所有不错的社交功能,而是使用第三方网站...
最佳答案
这是 Twitter 方面的问题。无论如何,它都会压缩您的图像。也许您应该考虑将 .png 上传到您自己的服务器,然后在推文中发布它的链接。
您还可以使用其他图片托管服务..
关于objective-c - iOS Tweet 未压缩的透明图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10966089/