2011-06-23 52 views
3

將應用程序從Flex移植到Android,並想知道如何構建複合圖像並顯示它。Android:構建複合圖像

具體來說,我有一個房子的地圖(PNG或JPG),我在不同的位置放置不同的標記。我使用DIV在HTML中實現了這一點,而在Flex中使用畫布實現了這一點。每個標記都具有基於圖像原始大小的X,Y對。理想情況下,我想顯示圖像,放置標記,然後支持調整大小,拖動(圖像,而不是標記)等。

有關於'多點觸摸'的信息here雖然有點過時。

關於從哪裏開始的建議?

回答

8

你必須注意不可變的位圖。當你加載你的位圖時,你必須創建一個可變的副本。然後,只需使用Canvas應用覆蓋。

 Bitmap tempBitmap = BitmapFactory.decodeResource(getResources(), R.id.background, options); 
    Bitmap overlay = BitmapFactory.decodeResource(getResources(), R.id.overlay, options); 

    Bitmap finalBitmap = Bitmap.createBitmap(tempBitmap.getWidth(), tempBitmap.getHeight(), tempBitmap.getConfig()); 

    Canvas canvas = new Canvas(finalBitmap); 

    canvas.drawBitmap(tempBitmap, new Matrix(), null); 
    canvas.drawBitmap(badge, new Matrix(), null); 

    // finalBitmap will contain your background and its overlay 

-I_Artist

+0

是否可以指定一個x,y座標「頂部」原來的放置圖像? – ethrbunny

+2

對矩陣應用posttranslate –