Android:构建复合图像

4

我正在将一个应用从Flex移植到Android,想知道如何构建复合图像并显示它。

具体来说,我有一张房子的地图(PNG或JPG格式),我在不同的位置放置不同的标记。我使用DIV实现了HTML版本,使用画布实现了Flex版本。每个标记都有一个基于原始尺寸的X,Y坐标对。理想情况下,我想显示图像、放置标记,然后支持缩放、拖动(图像而不是标记)等操作。

关于“多点触控”的信息可以在这里找到,尽管有点过时。

有建议从哪里开始吗?

1个回答

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


是否可以为放置在原始图像“顶部”的图像指定x,y坐标? - ethrbunny
2
将一个后置翻译应用于矩阵。 - George Freeman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接