如何在Xamarin.Forms中创建一个相机视图+一个按钮来捕捉照片?

问题描述 投票:0回答:1

我试图为一个安卓应用程序找到一个解决方案,我可以有相机预览和一个按钮创建的Xamarin窗体(XAML),当我点击该按钮的照片应该自动保存在设备的画廊。经过2天的研究,我发现唯一的最佳解决方案是 这个. 谁能帮我实现这个目标?

enter image description here

xaml xamarin.forms xamarin.android android-camera android-camera2
1个回答
0
投票

参考 官样 它实现了创建相机预览,我只是增加了拍照和保存到画廊的功能。在表单项目中调用消息中心,并在Android项目中获得相机实例。

回拨拍摄的图片
public void OnPictureTaken(byte[] data, Camera camera)
    {
        camera.StopPreview();

        FileOutputStream outStream = null;
        Java.IO.File dataDir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDcim);
        if (data != null)
        {
            try
            {
                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                var s = ts.TotalMilliseconds;
                outStream = new FileOutputStream(dataDir + "/" + s + ".jpg");
                outStream.Write(data);
                outStream.Close();
            }
            catch (Java.IO.FileNotFoundException e)
            {
                System.Console.Out.WriteLine(e.Message);
            }
            catch (Java.IO.IOException ie)
            {
                System.Console.Out.WriteLine(ie.Message);
            }
        }
        camera.StartPreview();
    }

检查我的 样品 在github上。

© www.soinside.com 2019 - 2024. All rights reserved.