我遇到了一个大麻烦。 我在图像背景上添加了一个 ImageView (绿色图标)。绿色图标的位置是动态设置的(图1)
此图片可以放大、缩小、左右拖动、上下拖动。我想在缩放或拖动图像背景时准确移动 imageview 的位置(绿色图标)。
当我缩放、拖动图片背景时,如何将 imageview 的位置(绿色图标)映射到图片背景?
图 2:图像背景已缩放,但绿色图标 View 未与图像背景映射,位置错误。
你能给我一些解决方案、方向或脚本建议吗?谢谢大家!
最佳答案
使用以下函数将标记图像位图覆盖图像位图并返回可用于显示的新位图
private Bitmap overlay(Bitmap bmp1, Bitmap bmp2, float left, float top) {
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, left, top, null);
return bmOverlay;
}
例如:-
Bitmap border = null;
Bitmap scaledBorder = null;
border = BitmapFactory.decodeResource(getResources(), R.drawable.palette);
scaledBorder = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
ImageView im = (ImageView) findViewById(R.id.imageView);
im.setImageBitmap(overlay(border, scaledBorder, 0, 0));// replace both 0,0 point with your mark point
关于android - 如何在缩放或拖动(左,右,上,下)图像时准确定位另一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631494/