短いTipsですが、個人的にどはまりしてしまったので、記事として残します。
pngなどで、グラデーションの画像を利用する際にグラデーション部分に縞が入ってしまって、見苦しい状態になってしまいました。(webだとわからない??)
このサイズだとあんまり気にならないのですが、アンドロイドの端末だと、線がすごいきになります。(なった人は共感いただけるかと思います。)
でstack overflowとかの質問で、ditherと言うものを使えばいい。と言うように書いてあったのですが、フォーマットの設定なども変更する必要があるようで、
getWindow().setFormat(PixelFormat.RGBA_8888); getWindow().setFlags(WindowManager.LayoutParams.FLAG_DITHER, WindowManager.LayoutParams.FLAG_DITHER); BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.ARGB_8888; options.inDither = true;
上記のような設定をしたりして、BitmapFactoryを利用したのですが、うまくいきませんでした。
スタックオーバーフローのアンサーで問題なくグラデーションがキレイになれば、いいのですがそうならなかった場合の対策↓
■photoshopなどでノイズのfilterを1%かけます。
グラデーションがキレイに出ました。ノイズも気になりません。上記のditherの設定も必要なしです。
ノイズの設定をできるプロパティなどもあるようなのですが、photoshopでやった方が任意の量でキレイでCPUにも負担をかけないので、オススメです。stack overflowの方法でditherとか使うよりこっちの方がよいかもしれないとも思っています。
以上です。