私は画像編集を処理するアプリケーションに取り組んでおり、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形式で保存する方法はありますか?
サードパーティの画像ホスティング サイトを使用するためだけに、この単純なコードをすべて失うのは嫌です。
編集 2:すべてのコードを変換して、アルファ チャネルを使用しないようにしました。これは、3 つの RGB チャネルすべてが常に存在するため、画像が PNG 形式か JPEG 形式かを気にする必要がなくなったことを意味します。ツイートを投稿すると、元の画像の品質に関係なく、投稿前に画像が圧縮されます。
アプリを使って画像をtwitterに投稿したり、画像を圧縮したり、画像を保存したり、新しく圧縮された画像を使用して繰り返してみたりしましたが、twitterはまだ圧縮されていません!
私はこれで迷っています。Twitter (または Facebook) は何があっても画像を圧縮しますか? 私の唯一の選択肢は、サードパーティの画像ホスティング サイトですか? 代わりにサードパーティのサイトを使用するために、iOS6 フレームワークに組み込まれている優れたソーシャル機能をすべて失うのは嫌です...