« iOS5でTwitterへ | トップページ | フジテレビF1中継の継続 »

Androidで画像をモノクロやセピアにしてみる

Androidで画像をモノクロやセピアにしてみる。

最初は、ピクセル単位で変更しなきゃいけないと思い、速度的にJavaでは無理で、NDKの出番かよと思ってたのだが、「ColorMatrix」というのが使えるらしくやってみた。

ColorMatrix cm = new ColorMatrix();          
                cm.set(new float[] {
                        1,0,0,値,000,    //明るさ変更
                        0,1,0,値,000,
                        0,0,1,値,000,
                        0,0,0,1,000});
                cm.set(new float[] {
                        -1,0,0,0,255,    //ネガポジ反転
                        0,-1,0,0,255,
                        0,0,-1,0,255,
                        0,0,0,1,000});
                cm.set(new float[] {
                        0.9f,0,0,0,000,    //セピア
                        0,0.7f,0,0,000,
                        0,0,0,0.4f,000,
                        0,0,0,1,000});
                cm.set(new float[] {
                        0.298912f, 0.586611f, 0.114478f,0,000,    //グレースケール
                        0.298912f, 0.586611f, 0.114478f,0,000,
                        0.298912f, 0.586611f, 0.114478f,0,000,
                        0,0,0,1,000});
  ColorMatrixColorFilter cmcf = new ColorMatrixColorFilter(cm);
   paint.setColorFilter(cmcf);
   canvas.drawBitmap(bitmap, matrix, paint);

これだけ。
もちろん、cm.setは変化させたいものを指定して、bitmapやmatrix,、もちろんcanvasはご自分のを。

これくらいなら、NDK無しでもいけるんだな。

« iOS5でTwitterへ | トップページ | フジテレビF1中継の継続 »

Android」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/99166/53743644

この記事へのトラックバック一覧です: Androidで画像をモノクロやセピアにしてみる:

« iOS5でTwitterへ | トップページ | フジテレビF1中継の継続 »

Ad


2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最近のトラックバック

無料ブログはココログ