代码之家  ›  专栏  ›  技术社区  ›  TheDeveloper

Xamarin表格:如何拍照?

  •  1
  • TheDeveloper  · 技术社区  · 6 年前

    在我的Xamarin窗体应用程序中,我有一个页面,其中有一个小的照相机视图,我想从照相机视图中拍照。

    如果我想完全导航到新页面并拍照,我知道可以使用类似插件 this

    await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
            {
                Directory = "Test",
                SaveToAlbum = true,
                CompressionQuality = 75,
                CustomPhotoSize = 50,
                PhotoSize = PhotoSize.MaxWidthHeight,
                MaxWidthHeight = 2000,
                DefaultCamera = CameraDevice.Front
            });
    

    如果我想在不导航到新页面的情况下从现有页面上的相机拍摄照片,有人能建议我该如何处理吗?

    2 回复  |  直到 5 年前
        1
  •  1
  •   Jorge L Hernandez    5 年前

    要捕获图像,必须将其返回到如下变量:

    var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
    {
        Directory = "Test",
        SaveToAlbum = true,
        CompressionQuality = 75,
        CustomPhotoSize = 50,
        PhotoSize = PhotoSize.MaxWidthHeight,
        MaxWidthHeight = 2000,
        DefaultCamera = CameraDevice.Front
    });
    

    然后您可以像这样将图像安装到视图上的图像控制器上:

    image1.Source = file.Path;
    
        2
  •  1
  •   GiampaoloGabba    6 年前

    Microsoft文档中提供了照相机视图(带有自定义渲染器)的完整示例: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/view

    在本文中,您将学习如何为xamarin.forms自定义控件创建自定义呈现器,该控件用于显示来自设备摄像头的预览视频流。

    但是,您需要添加拍照所需的代码。为此,您可以从该应用程序的自定义渲染器中获得灵感: https://github.com/pierceboggan/Moments