如何在其他图像上设置图像(半透明)?
我需要创建新的位图,然后保存它
谢谢大家。
答案 0 :(得分:8)
Bitmap bitmap1 = null; // define it
Bitmap bitmap2 = null; // define it
Bitmap resultBitmap = Bitmap.createBitmap(bitmap1.getWidth(), bitmap1.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(resultBitmap);
c.drawBitmap(bitmap1, 0, 0, null);
Paint p = new Paint();
p.setAlpha(127);
c.drawBitmap(bitmap2, 0, 0, p);
// Your final bitmap is resultBitmap
答案 1 :(得分:2)
您需要做的就是取两个位图并设置它们 界限。然后你需要在画布上绘制它们。 如果要将图像设置为半透明,则需要设置图片的alpha。
这是一个例子:
Bitmap bitmap = null;
try {
bitmap = Bitmap.createBitmap(500, 500, Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
Resources res = getResources();
Bitmap bitmap1 = BitmapFactory.decodeResource(res, R.drawable.test1); //blue
Bitmap bitmap2 = BitmapFactory.decodeResource(res, R.drawable.test2); //green
Drawable drawable1 = new BitmapDrawable(bitmap1);
Drawable drawable2 = new BitmapDrawable(bitmap2);
drawable1.setBounds(100, 100, 400, 400);
drawable2.setBounds(150, 150, 350, 350);
drawable1.draw(c);
drawable2.draw(c);
} catch (Exception e) {
}
return bitmap;
}
答案 2 :(得分:0)
从底层画布创建画布对象。然后将半透明的Bitmap绘制到该画布。现在,原始的Bitmap对象将在其上面写入半透明位图。