目次
はじめに
こんにちは、Twitter廃人 筆者のまてかすです。
我が国日本では、古来より「Twitterでアイコンがキモイ奴は大体中身もキモい」ということわざがある通り、Twitterのアイコンはアカウントの第一印象を決定づける大切な要素です。
Twitterアカウントのアイコン画像を透過PNGに設定して、ちょっとだけ目立ちたいみたいなのは、誰しもが通る道だと思います。
しかし、透過PNG画像をアップロードしたのに実際には黒背景になってしまうなど、正しく確実に透過する方法みたいなのはあまり知られていない気がします。
ということで今回は、Twitterアイコンを確実に透過させる方法を書いていきます。2022年、令和最新版です。
そもそも、正しく透過される条件は?
先に言うと、まてかす独自の研究(笑)により、以下のことが明らかになりました。
- PNGの形式が
PNG8
だと、透過される- PNGの形式が
PNG8
でないとき、画像のサイズが小さいと、透過される- 上のとき、画像サイズが大きいと、透過されない
っぽいです。
画像のサイズが大きいというのは、1000 x 1000くらいだと透過されないので、結構シビアな感じかも。
PNGの種類
そもそもPNG8
とは何かという話です。
普段私たちが利用しているPNGファイルは、RGBそれぞれに8ビットの領域が与えられ、
$2^8 = 256$
段の輝度値があります。それがRGB(赤緑青)で3つあるので、
$(2^8)^3 = 2^{24} = 16,777,216$
通りの色彩表現ができることになります。これは、色のパターンが全部で
$2^{24}$
通りであることから、PNG24
などと呼ばれています。
クソどうでもいい話
16,777,216色って「いろなななにいろ」でなんか奇跡感あるよね
PNG32
なんてものもありまして、こちらはPNG24
に
$2^8 = 256$
段階の透明度情報を与えたものみたいです。色彩表現が
$2^{32} = 4,294,967,296$
通りあるわけではなく、
$24 + 8 = 32$
っぽいですね。なんだそりゃ。
これらに対してPNG8
は、RGB全部含めて
$2^8 = 256$
通りの色彩表現しかできません。そのため、同じ画素数の画像でもPNG8のほうがファイルサイズが小さくなる傾向にあります。
PNG24
とPNG8
で、それぞれ同じグラデーションを用意して拡大してみると、PNG8
のほうが表現できる色が少ないので、グラデーションの段差がはっきりしているのが確認できます。
……とはいえ、Twitterのアイコンにするぐらいであれば256色で問題ないことがほとんどだと思います。
透過PNGをアイコンに設定する
やっと本題ですね……(激遅)
透過PNG画像を用意する
アイコンに設定したい透過PNG画像を用意します。
今回は例として、私がだいぶ前に描いた、「ゆるキャン△」の「志摩リン」さんのイラストを用意しました。人のイラスト使うのって怖いけど、自分で描いたイラストは、下手ですけど、自分に著作権があるので、こういうときにいい感じに手頃に使えてよいです。
ちなみに「ゆるキャン△」は、キャンプを楽しむ女子高生たちの日常を描いた大人気漫画です。昨今のキャンプブームの火付け役で、アニメ化は2期まで続き、2022年夏には映画化もされました。まだの方はぜひ。(CV:大塚明夫)
と、そんなことはどうでもよくて、正方形になるようにトリミングして、背景を透明にしました。右の画像は、背景を黄緑色で塗りつぶし、その色に透過色設定を施したPNG32です。
PNG8に変換する
方法はなんでもいいのですが、透過画像をPNG8に変換します。
任意の画像処理ソフトで画像を開いて、PNG8に変換して保存します。
筆者は、JTrimとかいう、いにしえの画像加工ソフトを未だに使用しています。大昔に父親にパソコンを触らせてもらっていたときから使っていて慣れているのと、動作がクッソ軽い(なぜならWindows95でも動くように作られているから)ので。
あるいは、こういったサービスを利用してもいいんでないかなあと思います。
上で書いた通り、PNG8では256色の色彩表現しかできなので、色の段差みたいなものがどうしてもできてしまいます。下は両者ともPNG8に変換して保存したものですが、色の段差のつき方に違いが見られます。
まあひとまずこれでアップロードする画像は用意できました。
API経由のアイコンのアップロード
普通にクライアントから画像をアップロードすると、トリミングなどの処理が発生して、せっかく用意した画像も勝手に変換されて透過部分が潰れることがあります。
このようなツールを使用することで、Twitter側の余計な処理を回避して画像をアップロードすることができます。
TwitterのアイコンをAPI経由でアップロードするツール
上のサイトにアクセスし、「認証してアイコンをアップロード」ボタンを押下し、アイコンを変えたいアカウントでログインします。オプションは特に選択しなくて大丈夫です。
文句
別のアカウントでログインしてると、自動ログインされて目的のアカウントでログインできないことがあります。この場合、ログインしています的な画面で読み込み中止して、ログアウトしてやればよいです。Twitterのログイン認証のこれほんと最悪です、能動的にログアウトできるようにしてほしい。
「ファイルを選択」を押下して、さっき作ったPNG8の画像を選択します。
Twitterを開いたら、アイコンがちゃんと透過されてるか確認します。
OK、ちゃんと透過されていますね。
ちなみに
手順の初めのほうに出した透過しまりん(PNG32・1.6MB)を、同様にAPI経由でアップロードしてみましたが、やっぱり透過されませんでした。
ちなみに2
全画素が透過色のPNG8画像を用意しました。これをAPI経由でアップロードしてみます。
アイコンが消滅します。
おわりに
自分好みにアイコンを変更して、いい感じのTwitterライフを送りましょうね。
記事中で登場したアカウントは、私のアカウントですが、クソみたいなツイートしかしないのでフォロー非推奨です。
以上です、おわり。