我刚到Xamarin和毛伊岛,我一直在开发一个应用程序,现在我需要一种方法来访问相机饲料。我希望能在应用程序中预览摄像头,首先是安卓系统,当按下按钮时能捕捉到图像,我让它与原生摄像头应用程序(媒体选择器)一起工作,但这并不能满足我的要求。我一直在尝试使用Android相机X的处理程序来预览布局,但我就是不能破解它,几乎没有任何方向从头开始构建一个。有没有人有任何经验,这可能会给我指出正确的方向?
jgzswidk1#
你可以尝试使用.NET Multi-platform App UI (.NET MAUI) IMediaPicker interface。这个接口允许用户在设备上挑选或拍摄照片或视频。要获取照片,使用代码如下:
FileResult photo = await MediaPicker.Default.CapturePhotoAsync();
pw9qyyiw2#
回答:我最终为maui创建了一个自定义处理程序,并使用原生android构建了我自己的视图,使用c#中的xamarin构建了视图,然后使用一个接口回调处理程序,告诉它已经拍摄了一张图像。
6bc51xsx3#
我在Android和iOS上都有这个。我想我应该在这里发布,以防有人需要这个。我稍后会提到一些Catch22。在第一个代码块中,您将看到视图的代码。我将其命名为CameraPerson,因为其中有一个Person图像覆盖。这是放置在RootFolder或非Platform文件夹中的代码。我将我的代码放置在名为MultiTargeting的文件夹中。
using System.ComponentModel; public class CameraPerson : View { public CameraPerson() { } public enum IMAGE_TYPE { Profile, Wound } public enum CAMERA_TYPE { Forward, Back } public static readonly BindableProperty ImageTypeProperty = BindableProperty.Create(nameof(ImageType), typeof(IMAGE_TYPE), typeof(CameraPerson), IMAGE_TYPE.Wound); public static readonly BindableProperty PatientIdProperty = BindableProperty.Create(nameof(PatientId), typeof(int), typeof(CameraPerson), 0); public static readonly BindableProperty CameraTypeProperty = BindableProperty.Create(nameof(CameraType), typeof(CAMERA_TYPE), typeof(CameraPerson), CAMERA_TYPE.Back); public static readonly BindableProperty LocalIdProperty = BindableProperty.Create(nameof(LocalId), typeof(long), typeof(CameraPerson), null); public IMAGE_TYPE ImageType { get { return (IMAGE_TYPE)GetValue(ImageTypeProperty); } set { SetValue(ImageTypeProperty, value); } } public int PatientId { get { return (int)GetValue(PatientIdProperty); } set { SetValue(PatientIdProperty, value); } } public CAMERA_TYPE CameraType { get { return (CAMERA_TYPE)GetValue(CameraTypeProperty); } set { SetValue(CameraTypeProperty, value); } } public long LocalId { get { return (long)GetValue(LocalIdProperty); } set { SetValue(LocalIdProperty, value); } } }
由于字符数有限,请继续。
3条答案
按热度按时间jgzswidk1#
你可以尝试使用.NET Multi-platform App UI (.NET MAUI) IMediaPicker interface。这个接口允许用户在设备上挑选或拍摄照片或视频。
要获取照片,使用代码如下:
pw9qyyiw2#
回答:我最终为maui创建了一个自定义处理程序,并使用原生android构建了我自己的视图,使用c#中的xamarin构建了视图,然后使用一个接口回调处理程序,告诉它已经拍摄了一张图像。
6bc51xsx3#
我在Android和iOS上都有这个。我想我应该在这里发布,以防有人需要这个。我稍后会提到一些Catch22。
在第一个代码块中,您将看到视图的代码。我将其命名为CameraPerson,因为其中有一个Person图像覆盖。这是放置在RootFolder或非Platform文件夹中的代码。我将我的代码放置在名为MultiTargeting的文件夹中。
由于字符数有限,请继续。