相机使用自定义相机预览渲染器不清楚

时间:2017-05-23 13:46:43

标签: xamarin.android android-camera

我使用以下链接显示使用自定义渲染器的相机预览 https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/view/

我能够调出相机预览。但预览并不清楚。也没有自动对焦。  截图供参考 enter image description here

如何让相机预览更清晰,因为我希望稍后使用相同的OCR。

谢谢,

2 个答案:

答案 0 :(得分:1)

我认为你已经想到了这一点,但我会在这里发布解决方案以供参考。

你需要设置"聚焦模式"在相机属性中。

Camera Preview = Camera.Open(1);
// Set the parameters.
if (Preview != null)
{
    Camera.Parameters cameraParameters = Preview.GetParameters();
    // Autofocus
    cameraParameters.FocusMode = Camera.Parameters.FocusModeContinuousPicture;
    // Set
    cameraPreview.Preview.SetParameters(cameraParameters);
}

对于您提到的示例(https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/view/中的那个),您应该将此代码放在Android Cutom渲染器中(CameraPreviewRenderer方法OnElementChanged)。

它对我有用。希望这会有所帮助。

答案 1 :(得分:-1)

void __attribute__ ( ( interrupt, no_auto_psv ) ) _CM1Interrupt(void)
{
    /*
     * *************  ALTERADO PARA ACEPTAR OTROS COMPARADORES ************************
    // CMP1 callback function 
    CMP1_CallBack();

    // Clear the CEVT bit to enable further interrupts
    CMP1_EventStatusReset();
          */

    if (CM1CONbits.CEVT)
    {
        //all up mosfets to 0
        aplica_mapa(0,6);      //todo a 0 
        delay_us1(5);
        CMP1_EventStatusReset();
    }

    if (CM2CONbits.CEVT)
    {
        //all up mosfets to 0
        aplica_mapa(1,6);     
        delay_us1(5);
        CMP2_EventStatusReset();
    }
    if (CM5CONbits.CEVT)
    {
        //all up mosfets to 0
        aplica_mapa(3,6);      //todo a 0 
        delay_us1(5);
        CMP5_EventStatusReset();
    }
    // clear the CMP1 interrupt flag
    IFS1bits.CMIF = 0;

}