2011-06-23 31 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 –