2014-07-04 24 views
0

我的問題是,我有一個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); 

[更新]

框架是我的基礎圖像查看和星星是第二圖像視圖。當第二個圖像視圖有一個最終位置可以說示例的位置時,我想製作一個包含這兩個圖像的位圖。 (保持透明背景的第二個)

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

謝謝, Adamos

+0

發佈預期結果,圖像。 –

+0

更簡單的解決方案是獲得這兩個ImageView的父級佈局的圖形緩存。 – hypd09

+0

@ hypd09我已經看到一些使用繪圖緩存的例子,但是我還沒有設法使它工作。 – Adam

回答

1

我用這個代碼段這需要截圖從兩個圖像視圖的父視圖。

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

Thanks @ hypd09。

+0

很高興你明白了,現在接受它作爲答案。 – hypd09