android开发替换bitmap中的颜色值[转]

看到个好文章,故收藏之[codesyntax lang="java"]

/**
* 将bitmap中的某种颜色值替换成新的颜色
* @param bitmap
* @param oldColor
* @param newColor
* @return
*/
public static Bitmap replaceBitmapColor(Bitmap oldBitmap,int oldColor,int newColor)
{
//相关说明可参考 http://xys289187120.blog.51cto.com/3361352/657590/
Bitmap mBitmap = oldBitmap.copy(Config.ARGB_8888, true);
//循环获得bitmap所有像素点
int mBitmapWidth = mBitmap.getWidth();
int mBitmapHeight = mBitmap.getHeight();
int mArrayColorLengh = mBitmapWidth * mBitmapHeight;
int[] mArrayColor = new int[mArrayColorLengh];
int count = 0;
for (int i = 0; i < mBitmapHeight; i++) {
for (int j = 0; j < mBitmapWidth; j++) {
//获得Bitmap 图片中每一个点的color颜色值
//将需要填充的颜色值如果不是
//在这说明一下 如果color 是全透明 或者全黑 返回值为 0
//getPixel()不带透明通道 getPixel32()才带透明部分 所以全透明是0x00000000
//而不透明黑色是0xFF000000 如果不计算透明部分就都是0了
int color = mBitmap.getPixel(j, i);
//将颜色值存在一个数组中 方便后面修改
if (color == oldColor) {
mBitmap.setPixel(j, i, newColor); //将白色替换成透明色
}

}
}
return mBitmap;
}


[/codesyntax]

 

使用方法:

[codesyntax lang="java"]

BitmapUtil.replaceBitmapColor(bitmap,Color.WHITE, Color.TRANSPARENT);


[/codesyntax]

 

画图demo源码

画图的demo,转载请注明出处



在我们山东,妹子是一种农作物。

在我们山东,妹子是一种农作物。还有十来天就收妹子了,妹子倒了需要扶,妹子成熟了需要哥,哥的妹子需要打,打了妹子需要晒,没哥的妹子都会烂。妹子们都长高了吧,都亭亭玉立了吧,等妹子成熟的时候,大家都回山东收妹子啊!公路旁,小河边,丘陵上,漫山遍野丰满的妹子在迎风向你招手。来吧!山东,一个全是妹子的地方。