Android:构建合成图像

时间:2011-06-23 14:12:54

标签: android image

我将应用程序从Flex移植到Android,并想知道如何构建合成图像并显示它。

具体来说,我有一个房子的地图(PNG或JPG),我在不同的位置放置不同的标记。我已经使用DIV在HTML中实现了这一点,在使用画布的Flex中实现了这一点。每个标记具有基于图像的原始大小的X,Y对。理想情况下,我想显示图像,放置标记,然后支持调整大小,拖动(图像,而不是标记)等。

有关'多点触控'的信息here虽然有点过时了。

关于从哪里开始的建议?

1 个答案:

答案 0 :(得分: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