2012-04-18 14 views
1

私は現在、画像のzipファイルをダウンロードし、抽出し、それらをユーザのSystemUIにインストールする、アプリケーションにカラーピッカーを追加しようとしています。ダウンロードした画像の単色を変更する

私はこれらのアイコンの中で色を変える方法を見つけようとしばらく探しましたが、今まで私が実装できるものは何も見つかりませんでした。

基本的に色を別の色(ただし透明領域ではない)または色の塗りつぶしにする色マスクのようなものを使用できるようにしたいと思います。イメージのアクティブな部分には色があり、非アクティブな部分には色がありません。

私は画像をまだ投稿できませんので、ここで私が達成しようとしているものを視覚化するための直接リンクがあります。

http://i1135.photobucket.com/albums/m636/Mastur_Mynd/stack_img.png

UPDATE - 少しいじりといくつかのより多くの私はHerryへ

package com.masturmods.settings.util; 

import net.margaritov.preference.colorpicker.ColorPickerPreference; 
import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.graphics.ColorMatrix; 
import android.graphics.ColorMatrixColorFilter; 
import android.graphics.Paint; 

public class Colorizer extends ColorPickerPreference { 

    public Colorizer(Context context) { 
     super(context); 
    } 

    public static void colorize(String pathName, int color) { 
     Bitmap dec = BitmapFactory.decodeFile(pathName); 
     Bitmap mIcon = dec.copy(Bitmap.Config.ARGB_8888, true); 
     Canvas c = new Canvas(mIcon); 
     Paint paint = new Paint(color); 
     ColorMatrix cm = new ColorMatrix(); 
     cm.setSaturation(0); 
     ColorMatrixColorFilter f = new ColorMatrixColorFilter(cm); 
     paint.setColorFilter(f); 
     c.drawBitmap(mIcon, 0, 0, paint); 
     mIcon.recycle(); 
    } 
} 

おかげで画像が通過する...私は信じて助けるために少しを見つけた見回した後、今キャンバスには、しかし彼らはまったく変化していない。私はこれまでのすべてをトレースしています。色は環境設定によって保存されており、このコードによってアクセスされています。

+0

キャンバスに可変ビットマップを渡す必要があります。 – Herry

+0

私はそれを前提としていますが、私はJavaで画像を修正するために新しいです。 – Andrew

答えて

0

あなたは他の方法は、あなたが不変Bitmap.Beは、メモリの完全な世話を返すので、私はあなたがもしことを処理する意味色付け方法

Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter); 

またはこの

Bitmap mIcon = dec.copy(Bitmap.Config.ARGB_8888, true); 

を試すには、このコードを使用する必要があります変更可能でない画像の詳細については、このSOのリンクを参照してください。 Click here

+0

ありがとう! CanvasにmIcon Bitmapを取らせてもらったが、画像に何も起こっていない。その部分のアイデアは? – Andrew

+0

あなたはこのようにこのようなことを考えていますか?質問:http://stackoverflow.com/questions/4354939/understanding-the-use-of-colormatrix-and-colormatrixcolorfilter-to-modify-a-draw – Herry

+0

ありますか?グレースケールを無視してこれを実装する方法?彩度が十分に低い場合は何か無視しますか? – Andrew

関連する問題