xamarin iOS和安卓系统

mfuanj7w  于 2022-12-07  发布在  iOS
关注(0)|答案(1)|浏览(160)

我正在尝试在Xamarin上设置一个相机管理功能。我有一个特殊的功能来实现在相机上渲染之前修改图像。
对于Android版本,我使用OnSurfaceTextureAvailable,它允许我在渲染之前修改图像。
在木卫一,我被困住了,我不知道从哪里开始,如果有人能帮助我!!!!
读你
对于IOS版本,我使用AVCaptureSession、AVCaptureDeviceInput、AVCaptureStillImageOutput、UIView对象,但我不知道如何定义允许在显示之前修改图像的方法

fzsnzjdm

fzsnzjdm1#

根据官方文档Manual Camera Controls in Xamarin.iOSManualCameraControls sample,我们可以控制一些相机功能,如手动对焦手动曝光手动白平衡
如果您使用xamarin.形式,还建议使用Customizing a ContentPageCameraPageRenderers Samples
例如,我尝试在使用相机时设置白平衡值:

void ConfigureCameraForDevice (AVCaptureDevice device)
    {
        
        var error = new NSError ();
        if (device.IsWhiteBalanceModeSupported(AVCaptureWhiteBalanceMode.ContinuousAutoWhiteBalance))
        {
            device.LockForConfiguration(out error);  
            device.WhiteBalanceMode = AVCaptureWhiteBalanceMode.ContinuousAutoWhiteBalance;
            var TempAndTint = new AVCaptureWhiteBalanceTemperatureAndTintValues(1000, -100); // i set this value at random

            // Convert Color space
            var gains = device.GetDeviceWhiteBalanceGains(TempAndTint);

            // Set the new values

            gains = NomralizeGains(gains,device);
            device.SetWhiteBalanceModeLockedWithDeviceWhiteBalanceGains(gains, null);
            device.UnlockForConfiguration();
        }

您可以在CameraPageRenderers SamplesManualCameraControls sample中找到相关代码
希望我的回答对你有用。

相关问题