Twitterのアイコンをブラウザ経由でアップロードするとドット絵がぼやけたり背景が透過されなかったりする問題とその対策。

※この記事は2012/10/10に投稿したはてなブログ “Twitterのアイコンをブラウザ経由でアップロードすると画像がぼやけたり背景が透過されない問題とその対策(追記あり.GIFアニメも出来るよ!) – Radical No.11 #?” の改訂版です。

  • 2013/8/31追記(GIFアニメが動かなくなった件)
  • 2013/9/30追記(画像の縮小がなくなった件)
  • 2014/2/21追記(ドット絵が拡大される件)タイトルが嘘になる。
  • 2015/8/13追記(48*48でアップするとbiggerが48*48になった件)

この記事の内容は2014/2/21現在のものです。ドキュメントは更新されてないくせにAPIの仕様があほみたいに変わってるので今後どうなるか全くわかりません。ListのAPIもわけわかんないし1.1にアップデートしたんだからもうちょっときちんと対応してくれてもいいのになと思います。


Twitterのブラウザ版アイコンアップロードの仕様が変更になり、ドット絵をアップするとアイコンがぼやけたりGIFアニメが動かせなくなりました。解決策としてはAPI経由でアイコンを変更するとアイコンを原寸のままアップロードすることができます。(つまり、API経由でアイコンを変更できるクライアント等を使用すればアイコンのピンぼけを回避出来ます。)
APIの仕様として「GIFアニメは最初の1フレームからアイコンを生成してアニメーションは消去する」(2013/03/20現在)ということになっているので、GIFアニメは今後動かなくなる可能性があります。ちなみにわたしのアカウントで試したら動いたので、このあたりはよくわかりません。
(2013/8/31追記)自分の持ってるアカウント全てでGIFアニメがPNGに変換されて動かなくなりました。もう動かないと言い切ってよいと思います。
(2014/2/21追記)1月から48px*48pxの画像は73px*73pxに拡大されるようになりました。144px*144pxか192px*192pxにすれば多少はマシになりますがドットバイドットでの表示は不可能です。仕様変更したらドキュメント更新してください頼むから。
(2015/8/13追記)48*48pxの画像をアップするとbiggerが48*48になるため、TL上でドットバイドットで表示されるようになりました。

クライアントを探すのが面倒な人のためにツールを作ったのでリンクをはっておきます。
API経由でアイコン画像をアップロードするツール
使用するAPIのバージョンを選択できるようにしています。特に問題がなければ1.1を使ったほうがいいと思います。

続きはAPI経由とブラウザ版経由の比較です。結構詳しく比較してみたつもりです。

ブラウザ経由とAPI経由の比較(2013/03/20現在)

48px*48px

使用画像

ジャッシーちゃん
ジャッシーちゃん

結果

TL上での比較:その1
TL上での比較:その1

API経由だと原寸大のアイコンが表示される
API経由だと原寸大のアイコンが表示される

(2014/1月末)仕様変更によりボケるようになりました!!!!!144px*144pxか192px*192pxにすれば多少はマシになりますがドットバイドットでの表示は不可能です!!!!これは誰も特しない。
(2015/8/13追記)48*48pxの画像をアップするとbiggerが48*48になるため、TL上でドットバイドットで表示されるようになりました。

ブラウザ版だと勝手に拡大されて透過情報が消えた
ブラウザ版だと勝手に拡大されて透過情報が消えた


500px*500px
使用画像

ジャッシー十代ちゃん
ジャッシー十代ちゃん

結果

TL上での比較:その2
TL上での比較:その2

API経由だと500px\*500pxの原寸表示になっている
API経由だと500px*500pxの原寸表示になっている

ブラウザ版だと縮小されて劣化
ブラウザ版だと縮小されて劣化


1280px*720px
使用画像

このシーン画も台詞もウザかったよね
このシーン画も台詞もウザかったよね

結果

TL上での比較:その3
TL上での比較:その3

API経由だと500px\*500px内に収まるように縮小された(この場合は500px\*280px)
API経由だと500px*500px内に収まるように縮小された(この場合は500px*280px)

ブラウザ版でトリミングされたキャプテンアッシュの画像
ブラウザ版でトリミングされたキャプテンアッシュの画像

(2013/09/30追記)
1920px*1080pxの画像が縮小なしでアップロードできました。何が何だかもうわけがわかりません。APIドキュメントなんてなかったんや…。

表示は横幅1500に縮小されていますが、画像データ自体はフルサイズです。
表示は横幅1500に縮小されていますが、画像データ自体はフルサイズです。


48px*48pxのGIFアニメ
使用画像

ジャッシーちゃんのGIFアニメ
ジャッシーちゃんのGIFアニメ

結果
API経由だと動いた
(2013/8/31動かなくなりました)