Android 清除png图片的白色背景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/admans/article/details/81458270
/**清除背景颜色   
 * @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);

猜你喜欢

转载自blog.csdn.net/admans/article/details/81458270