Android bitmap 颜色替换

一贯风格直接上代码,

一直以为颜色替换会使很高深的东西,今天自己项目需要写了一下,so easy

public Bitmap replaceBitmapColor(Bitmap oldBitmap, int oldColor, int newColor) {
    Bitmap mBitmap = oldBitmap.copy(Bitmap.Config.ARGB_8888, true);
    int mBitmapWidth = mBitmap.getWidth();
    int mBitmapHeight = mBitmap.getHeight();
    for (int i = 0; i < mBitmapHeight; i++) {
        for (int j = 0; j < mBitmapWidth; j++) {
            int color = mBitmap.getPixel(j, i);
            if (color == oldColor) {
		//将被替换色替换为需要替换成的颜色附近的值,都替换为相同的颜色略显单调
                  mBitmap.setPixel(j, i, (int) (newColor + Math.random() * 100000)); 
            }
        }
    }
    return mBitmap;
}

你可能感兴趣的:(Bitmap,Android,JAVA)