2016年11月22日火曜日

Twitter画像がJPEGへ劣化されるのを回避する方法

TwitterでPNGでシェアした画像が、勝手にJPEGへ変換される。

たまたま、ツイートを見かけたので確認してみると、指摘されたとおり、.Jpgへ劣化している。

元画像.png
no-transparent.png

Twitter画像.jpg
twitter-transparent.jpg

画像を作成して、PNGで保存しているクリエイターなら、これが、いかに哀しい出来事かわかるはず。

「JPEGがいかん!」というわけじゃなくて、JPEGは風景写真などには、とても向いています。ただベクターからおこしたロゴなど輪郭のクッキリした物は、PNGです。JPEGで作られたロゴを、見るひとが見れば一発で見分けがつくほど違います。

これを回避する方法は、先ほどのツイートに載っていて、確認もしました。

透過PNGは変換されません。
ただし実際に透過ドットがある必要があります。

この有益な情報を踏まえて、もうひと工夫してみました。



  1. 背景の不透明度を99%にして、PNG-24の透明部分をチェックして出力します

    save with transparency
  2. Twitterに投稿した結果

    元画像.png(透過あり)
    transparent.png

    Twitter画像.png
    twitter-transparent.png

Twitterから元画像を取得する方法がわからないので、同一ハッシュにならず、完全な確認はできなかったのですが、PNGを維持できるのは複数枚で確認できました。

おそらく」ですが、透明のある画像をJPEGへ変換すると、全く別の画像のようになる可能性に対しての措置ではないかと思います。

その他、複数の、property='og:image'がある場合に、Twitterが採用する画像については、「ソーシャル メディアで選択利用される画像の優先順位」で調べた結果と同じであることを再確認できました。