两个位图覆盖合成为一个位图

2018-07-03  本文已影响12人  一只特立独行的史努比

/**

把两个位图覆盖合成为一个位图,以底层位图的长宽为基准

* @param backBitmap 在底部的位图

* @param frontBitmap 盖在上面的位图

* @return

*/

public static Bitmap mergeBitmap(Bitmap backBitmap, Bitmap frontBitmap) {

if (backBitmap == null || backBitmap.isRecycled()

|| frontBitmap == null || frontBitmap.isRecycled()) {

Log.e(TAG, "backBitmap=" + backBitmap + ";frontBitmap=" + frontBitmap);

return null;

}

Bitmap bitmap = backBitmap.copy(Config.ARGB_8888, true);

Canvas canvas = new Canvas(bitmap);

Rect baseRect  = new Rect(0, 0, backBitmap.getWidth(), backBitmap.getHeight());

Rect frontRect = new Rect(0, 0, frontBitmap.getWidth(), frontBitmap.getHeight());

canvas.drawBitmap(frontBitmap, frontRect, baseRect, null);

return bitmap;

}

上一篇下一篇

猜你喜欢

热点阅读