2016年11月22日火曜日

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

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

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

元画像.png
no-transparent.png

Twitter 画像.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 が採用する画像については、「ソーシャル メディアで選択利用される画像の優先順位」で調べた結果と同じであることを再確認できました。