我将应用程序从Flex移植到Android,并想知道如何构建合成图像并显示它。
具体来说,我有一个房子的地图(PNG或JPG),我在不同的位置放置不同的标记。我已经使用DIV在HTML中实现了这一点,在使用画布的Flex中实现了这一点。每个标记具有基于图像的原始大小的X,Y对。理想情况下,我想显示图像,放置标记,然后支持调整大小,拖动(图像,而不是标记)等。
有关'多点触控'的信息here虽然有点过时了。
关于从哪里开始的建议?
答案 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