android 图片叠加效果实现
16lz
2022-04-18
方法一:
Bitmap bitmap1 = ((BitmapDrawable) info.icon).getBitmap();Bitmap bitmap2 = ((BitmapDrawable) getResources().getDrawable(R.drawable.ic_assistive_touch_refresh)).getBitmap();Drawable[] array = new Drawable[2];array[0] = new BitmapDrawable(bitmap1);array[1] = new BitmapDrawable(bitmap2);LayerDrawable la = new LayerDrawable(array);ShortcutsSetting.setImageDrawable(la);
方法二:
// 防止出现Immutable bitmap passed to Canvas constructor错误Bitmap bitmap1 = BitmapFactory.decodeResource(getResources(),R.drawable.apple).copy(Bitmap.Config.ARGB_8888, true);Bitmap bitmap2 = ((BitmapDrawable) getResources().getDrawable(R.drawable.go)).getBitmap();Bitmap newBitmap = null;newBitmap = Bitmap.createBitmap(bitmap1);Canvas canvas = new Canvas(newBitmap);Paint paint = new Paint();int w = bitmap1.getWidth();int h = bitmap1.getHeight();int w_2 = bitmap2.getWidth();int h_2 = bitmap2.getHeight();paint.setColor(Color.GRAY);paint.setAlpha(125);canvas.drawRect(0, 0, bitmap1.getWidth(), bitmap1.getHeight(), paint);paint = new Paint();canvas.drawBitmap(bitmap2, Math.abs(w - w_2) / 2,Math.abs(h - h_2) / 2, paint);canvas.save(Canvas.ALL_SAVE_FLAG);// 存储新合成的图片canvas.restore();image.setImageBitmap(newBitmap);
更多相关文章
- Android乐动力V5.75最新获Key方法,提交步数,QQ登陆获取key案例
- Android(安卓)自定义Toast,不使用系统Toast
- 【Android】Zip文件解压方法
- Android显示GIF动画的几种方法
- android:onClick attribute
- android 文件保存方法 sd卡中或系统
- 一些常用SD卡操作的方法,APk管理之类的方法
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用