tarotaroのエンジニア生活

技術ネタとか日々の仕事の話とか

サーバ側を変更せずにアイコンの形状を変える方法

アプリで使うアイコン(画像)などがあると思います。その画像は、
サーバ側で管理されていて、アプリ内でダウンロードして表示している
ものがあったりすると思います。その画像をサーバ側で変更せずに、
アプリ側のデザインの変更などにあわせて、形を変更したい場合があると思います。
画像は正方形で表示するとなんかかわいくなかったりしますよね、その場合に、
角を丸くしたりとかしたいと思ったりします。iPhoneなどだと、それを行う
デザインができたりしますが、Androidの場合、キャンバスに描画して、それを
マスクして…とかって言う処理を書かなきゃいけません。もし、多量のアイコンを
そうやって表示しなくてはいけない場合、アプリが止まってしまって使い物に
ならなくなってしまいます。そういう場合のTIPSです。
意外と簡単な方法です。
以下のような画像を作ります。
mask
 青い部分は、アプリの背景の色に合わせます。赤い部分は、透過の画像にします。
この画像をアイコン画像の上にかぶせて表示させればOKです。角丸の透過の部分は背景の色の部分
ぎりぎりにしたほうが本当はいいです。このあたりはデザイナさんに作ってもらうなり
して用意するといいと思います。 
これを応用すると、こんな、形のを作れたりします。
maskedimg