我的问题是我有一个ImageView与我的主图像(填充屏幕),然后我创建另一个ImageView,它是较小的,可拖动,图像具有透明背景。
我希望在定位较小的ImageView之后能够从屏幕上看到的这两个图像中创建一个图像。我最近的尝试我已经管理过类似的东西,但我对第二个图像缩放,透明背景和定位有问题。
[更新]
这是我的代码。使用这个我实现保持透明背景,但图像的定位是错误的,我无法获得第二个图像视图的位置的正确的当前位置。此外,第二个图像缩放/质量非常糟糕。
Bitmap cameraImage = ((BitmapDrawable) photoView.getDrawable()).getBitmap();
Bitmap myIcon = ((BitmapDrawable) ( temp).getDrawable()).getBitmap();
myIcon= myIcon.copy(Bitmap.Config.ARGB_8888,true);
cameraImage =cameraImage.copy(Bitmap.Config.ARGB_8888,true);
Canvas canvas = new Canvas(cameraImage);
Rect r=canvas.getClipBounds();
r.left=0;
r.top=0;
r.bottom=r.bottom/2;
r.right=r.right/2;
canvas.drawBitmap(myIcon,null,r,null);
photoView.setImageBitmap(cameraImage);
[更新]
框架是我的基本图像视图,星星是第二个图像视图。当第二个图像视图具有最终位置时,可以说示例上的位置,我想制作一个包含这两个图像的位图。 (保持第二个透明背景)
-----------------
| |
| *** |
| *** |
| *** |
| |
| |
| |
| |
-----------------
谢谢, 阿达莫斯
答案 0 :(得分:1)
我使用了这段代码片段,它从两个图片视图的父视图中截取屏幕截图。
parentView.buildDrawingCache();
Bitmap cache = Bitmap.createBitmap(parentView.getDrawingCache());
photoView.setImageBitmap(cache);
parentView.destroyDrawingCache();
谢谢@ hypd09。