2013-02-14 33 views
0

我目前正在研究一個應用程序,人們可以在SurfaceView中放置對象 - 圖像等,他們可以調整它的大小和類似的東西。現在我有一個用戶可以放置在像圖像這樣的框架中的用例 - 可以說它的中心爲透明的方形圖像。現在,他們可以設置一個圖像,可以進入這個框架,並將被限制在該框架的範圍內,並從那裏他們可以調整它的大小。任何人都有這樣的實現嗎?請注意,這與框架全屏時不同,這很容易實現。見我的例子如下:Android對象層

enter image description here

綠色是SurfaceView的主要背景區域,他補充說栗色/紅色邊框,現在他將圖片在框架中去(這是所有在同一表面)。這次的主要區別在於,當他在這裏調整/移動圖像時,應該以紅框爲界(他不會看到它在外面重疊,如下圖所示)。任何人都有經驗如何在Android上做到這一點。?

回答

0

使用畫布的clipRect()方法。在繪製要成幀的圖像之前,您可以提供一個指定幀的矩形。像這樣的東西應該工作:

首先移動框架時,你需要有一個相應的Rect

myRect.set(frameleft, frametop, frameright, framebottom); 

而在你onDraw()你剪輯與此矩形圖片:

canvas.save(Canvas.CLIP_SAVE_FLAG); 
canvas.clipRect(pictureRect); 
canvas.drawBitmap(/*your drawing parameters for the image*/); 
canvas.restore(); //Restore to drawing the entire canvas 
+1

真棒感謝爲了這 – traderp 2013-02-14 19:02:33