我正在使用此xamarin示例中的 FingerPaintCanvasView 。
我正在使用2 层。第一层是我想要绘制的ImageView 。第二层是要绘制的PaintCanvasView。
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent">
<ImageView
android:id="@+id/markImageImageView"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<fingerpaint.FingerPaintCanvasView
android:id="@+id/canvasMarkMeta"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
画布具有透明背景,并且两个视图的布局参数均以编程方式设置。这样标记工作正常。
现在的问题是,我如何才能将此图像视图与标记画布合并,以尽可能少地丢失单个文件(文件系统中的位图或图像文件)的质量损失。
让我解释一下为什么我提到了质量损失:例如,背景中的图像从设备相机的尺寸为 1920x1080。显示器只有 1280x800 像素。由于我无法将图像放入显示器中,因此我需要显示一个缩小的版本,并且标记发生在这个缩小的版本上。
编辑:
@Joe LV:
这是您的演示,没有在我的设备上部署任何更改:
我很快就会尝试 Android 8 模拟器。
所以这个方法不适用于 API <= 24 :-( (API 25 和 26 未测试)
markImageImageView
仅保存我从设备存储加载的图像(可以是任何图像)
canvasMarkMeta
是来自链接模板的 FingerPaintCanvas,其中保存了绘制的线条。