Android:如何在另一个位图上简单地绘制一个位图

标签 android canvas drawable

我是 Android 开发的新手,我很难尝试做一些对我来说显而易见的事情:在较大的图像之上绘制小图像。

假设我有一张 500x500 的图像,我想在不同的位置绘制图标。图标是我加载的 png 文件:

Bitmap img = BitmapFactory.decodeResource(getResources(), R.drawable.idIcon1)

我的“背景图片”是 LayerDrawable。

然后,我完全迷路了......我必须创建一个 Canvas 吗?如何在我的“背景图片”上绘制不同位置的图标?

最佳答案

int positionLeft=0;
int positionTop=0;
Bitmap newBitmap =Bitmap.createBitmap(backgroundBitmap.getWidth(),bitmap.getHeight(),Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newBitmap);
canvas.drawBitmap(backgroundBitmap, positionLeft, positionTop,null);
positionLeft=100;
positionTop=100;         
canvas.drawBitmap(iconBitmap,positionLeft,positionTop,null);
imageView.setImageBitmap(newBitmap);

关于Android:如何在另一个位图上简单地绘制一个位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836331/

相关文章:

Android RSA 解密(失败)/服务器端加密(openssl_public_encrypt)

android - 如何使用命令行生成apk文件?

javascript - SVG渐变色

html - 在 HTML Canvas 上缩放用户界面

Android 可绘制对象对于 API <23 显示拉伸(stretch),对于 API 23 及更高版本显示正确

android动画未在onAnimationEnd完成

Android:MotionLayout 无法将 View 可见性设置为消失, View 保持可见

C# Xamarin OnClick 函数

javascript - 通过 CSS 或 JS 缩放 Canvas 是否更高效?

具有可绘制背景的 Android GLSurfaceView