从另外两个创建图像

时间:2014-07-04 06:38:14

标签: android

我的问题是我有一个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);

[更新]

框架是我的基本图像视图,星星是第二个图像视图。当第二个图像视图具有最终位置时,可以说示例上的位置,我想制作一个包含这两个图像的位图。 (保持第二个透明背景)

 ----------------- 
|                 |
|           ***   |
|           ***   |
|           ***   |
|                 |
|                 |
|                 |
|                 |
 -----------------

谢谢, 阿达莫斯

1 个答案:

答案 0 :(得分:1)

我使用了这段代码片段,它从两个图片视图的父视图中截取屏幕截图。

  parentView.buildDrawingCache();
  Bitmap cache = Bitmap.createBitmap(parentView.getDrawingCache());
  photoView.setImageBitmap(cache);
  parentView.destroyDrawingCache();

谢谢@ hypd09。