/**清除背景颜色
* @param mBitmap
* @param mColor 背景颜色值 eg:Color.WHITE
*
* @return
*/
private static Bitmap getAlphaBitmap(Bitmap mBitmap, int mColor)
{
Bitmap mAlphaBitmap = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), Bitmap.Config.ARGB_8888);
int mBitmapWidth = mAlphaBitmap.getWidth();
int mBitmapHeight = mAlphaBitmap.getHeight();
for (int i = 0; i < mBitmapHeight; i++)
{
for (int j = 0; j < mBitmapWidth; j++)
{
int color = mBitmap.getPixel(j, i);
if (color != mColor)
{
mAlphaBitmap.setPixel(j, i, color);
}
}
}
return mAlphaBitmap;
}
调用:
Bitmap bitmap = loadBitmap(src); //清除背景颜色 bitmap= getAlphaBitmap(Objects.requireNonNull(bitmap), Color.WHITE);
本文介绍了一种通过遍历像素并对比背景颜色来清除图片背景的方法。该方法使用Bitmap类实现,可以应用于需要去除固定背景颜色的场景。
3385

被折叠的 条评论
为什么被折叠?



