这个方法的功能是将两张图片叠放在一起,先看效果:
组合图片之前:
组合图片之后:
直接看方法:方法呢比较简单,注释也比较详细,相信大家都能看懂吧,不懂留言。
public static Bitmap toConformBitmap(Bitmap background, Bitmap foreground) {
if( background == null ) {
return null;
}
int bgWidth = background.getWidth();
int bgHeight = background.getHeight();
//create the new blank bitmap 创建一个新的和SRC长度宽度一样的位图
Bitmap newbmp = Bitmap.createBitmap(bgWidth, bgHeight, Bitmap.Config.ARGB_8888);
Canvas cv = new Canvas(newbmp);
//draw bg into
cv.drawBitmap(background, 0, 0, null);//在 0,0坐标开始画入bg
//draw fg into
cv.drawBitmap(foreground, 0, 0, null);//在 0,0坐标开始画入fg ,可以从任意位置画入
//save all clip
cv.save(Canvas.ALL_SAVE_FLAG);//保存
//store
cv.restore();//存储
return newbmp;
}
这个还可以做为照片添加水印水印功能。
下面看一下怎么调用。
ImageView image1 = $(R.id.image);
ImageView image2 = $(R.id.image2);
Bitmap bitmap = ((BitmapDrawable)image2.getDrawable()).getBitmap();
Bitmap bit = ((BitmapDrawable)image1.getDrawable()).getBitmap();
//开始调用
image1.setImageBitmap(ScreenshotUtils.toConformBitmap(bit,bitmap));
结束。