歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android 圖片疊加(Drawable 與 Bitmap)

Android 圖片疊加(Drawable 與 Bitmap)

日期:2017/3/1 11:16:55   编辑:Linux編程

圖片疊加可以實現在圖片上添加不同狀態的圖標標識,實現給不同圖片增加相同的背景圖等功能。

在Android中,不同的圖片格式有不同的疊加方式,下面主要介紹Drawable和Bitmap兩種常見圖片格式的疊加方式。

1、Drawable疊加

Drawable圖片疊加主要通過LayerDrawable對象實現,給對象是Drawable的子類,所以可以直接疊加後返回Drawable類型

Drawable d1 = this.getResources().getDrawable(R.drawable.drawable1);
Drawable d2 = this.getResources().getDrawable(R.drawable.drawable2);
Drawable d3 = this.getResources().getDrawable(R.drawable.drawable3);

Drawable [] array = new Drawable []{d1, d2, d3};
LayerDrawable ld = new LayerDrawable(array);
return ld;

2、Bitmap疊加

Bitmap b1 = BitmapFactory.decodeResource(getResources(),
R.drawable.bitmap1);
Bitmap b2 = BitmapFactory.decodeResource(getResources(),
R.drawable.bitmap2);

if (!b1.isMutable()) {
//設置圖片為背景為透明
b1 = b1.copy(Bitmap.Config.ARGB_8888, true);
}
Paint paint = new Paint();

Canvas canvas = new Canvas(b1);
canvas.drawBitmap(b2, 0, 0, paint);//疊加新圖b2
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
return b1;

Copyright © Linux教程網 All Rights Reserved