我正在将一个应用从Flex移植到Android,想知道如何构建复合图像并显示它。
具体来说,我有一张房子的地图(PNG或JPG格式),我在不同的位置放置不同的标记。我使用DIV实现了HTML版本,使用画布实现了Flex版本。每个标记都有一个基于原始尺寸的X,Y坐标对。理想情况下,我想显示图像、放置标记,然后支持缩放、拖动(图像而不是标记)等操作。
关于“多点触控”的信息可以在这里找到,尽管有点过时。
有建议从哪里开始吗?
你需要注意不可变位图。在加载位图时,你需要创建一个可变的副本。然后使用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