如何解决Xamarin 自定义渲染器拍照
我想使用 Xamarin 表单自定义渲染器拍照。 我使用 Custom Renderer Sample 并在 Xaml 中添加了一个名为 'btnTakePicture' 的按钮,但我不知道如何在按钮单击事件上拍照。 我想在屏幕的一部分显示相机。 我还检查了 Xam.Media.Plugin,但无法拍照。
Xaml 代码
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Customrenderer;assembly=Customrenderer"
x:Class="Customrenderer.frmCamera"
Title="Main Page">
<Grid>
<Grid.RowDeFinitions>
<RowDeFinition Height="1*"/>
<RowDeFinition Height="7*"/>
<RowDeFinition Height="2*"/>
</Grid.RowDeFinitions>
<Grid Grid.Row="0">
<Label Text="Camera Preview"/>
</Grid>
<Grid Grid.Row="1">
<local:CameraPreview Camera="Rear" x:Name="cmrPreview"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand" Background="black"/>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDeFinitions>
<ColumnDeFinition Width="1*"/>
<ColumnDeFinition Width="1*"/>
</Grid.ColumnDeFinitions>
<Button x:Name="btnChangeCamera" Text="Switch Camera" Clicked="btnChangeCamera_Clicked"/>
<Button x:Name="btnTakePicture" Text="Take" Grid.Column="1" Clicked="btnTakePicture_Clicked"/>
</Grid>
<Frame></Frame>
</Grid>
</ContentPage>
C# 代码
using System.IO;
using Xamarin.Essentials;
using Xamarin.Forms;
namespace Customrenderer
{
public partial class frmCamera : ContentPage
{
public frmCamera()
{
InitializeComponent();
}
private void btnChangeCamera_Clicked(object sender,System.EventArgs e)
{
if (cmrPreview.Camera == CameraOptions.Rear)
cmrPreview.Camera = CameraOptions.Front;
else
cmrPreview.Camera = CameraOptions.Rear;
}
bool blnIsFlashLight = false;
private void btnFlashLight_Clicked(object sender,System.EventArgs e)
{
if (blnIsFlashLight)
{
Flashlight.TurnOffAsync();
blnIsFlashLight = false;
}
else
{
Flashlight.TurnOnAsync();
blnIsFlashLight = true;
}
}
private void btnTakePhoto_Clicked(object sender,System.EventArgs e)
{
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。