如何在 Android 中显示时绘制位图

How to drawBitmap on display in Android

我正在开发 Android 应用程序,但我对 我的项目的可行性。

我必须实现一个由显示图像的 ImageView 组成的自定义布局,尤其是 VectorDrawable。

重叠 ImageView 有一个 SurfaceView:

目的是显示背景图像并将其用作参考,每次用户触摸屏幕时都必须在 SurfaceView 上插入标记,此技术允许模拟在图像上插入标记。

问题是:

还有其他更好的方法吗? 我已经实现了,这个想法可行,但我对 SurfaView 有一些限制(例如我不能将它插入 ScrollView)。

最后:

考虑到目前的推理,假设有一个显示VectorDrawable的ImageView,是否可以创建一个放大和缩小图像(VectorDrawable)的函数?

p.s。我很抱歉提出了两个问题,但整体是密切相关的,我认为开两个线程是愚蠢的

任务 1:您的任务可以使用 SurfaceView 完成,但我假设在您绘制图像后您希望它保留,如果是这种情况,您可能需要跟踪每张图像分别地。如果您的任务只是绘制图像,您还可以覆盖 View ,它可以完成相同的任务,但也会提供透明度和基本布局实现。 ViewSurfaceView 之间的区别在于性能,SurfaceView 是相当低的级别,具有双缓冲区,并为您提供更多控制。此外,如果图像数量较少,您可以覆盖 FrameLayout 并生成 ImageView。效率不是很高,但会更容易实现。

任务 2:您可以使用 setScaleXsetScaleY 轻松缩放 ImageView。但这可能会使图像像素化。加载一个大的 Bitmap 然后在自定义视图上绘制它是更好的方法。