Xamarin Forms,ZXingBarcodeImageView 模糊

Xamarin Forms, ZXingBarcodeImageView is blurry

(Related) 我发现 here, , and 是描述 ZXingBarcodeImageView 在 Xamarin Forms 中渲染模糊二维码的相关问题的问题 - 但它们并没有导致我的问题的解决方案。

问题

我正在使用 ZXing 在 Xamarin 表单中绘制和显示 QR 码,但它生成的 QR 码很模糊。

原因是在 .xaml 页面中我设置了 ZXingBarcodeImageView 属性 WidthRequest=300HeightRequest=300。这是ZXing库绘制后的二维码拉伸:

<forms:ZXingBarcodeImageView 
            IsVisible="True"
            x:Name="QRCodeView"
            BarcodeFormat="QR_CODE" 
            HeightRequest="300" //Stretching Height
            WidthRequest="300"  //Stretching Width
            BarcodeValue="-1"
         />

This 问题的最佳答案建议提前绑定属性 HeightWidth 但无论我如何更改它建议的 BarcodeOptions 数组中的参数, QR 码保持不变。

如何在绘制之前更改 ZXingBarcodeImageView 的设置尺寸以避免拉伸?

BarcodeOptions 添加到 XAML 中的 ZXingBarcodeImageView 似乎适用于我的情况。正如您的一个链接解决方案中所建议的那样,从代码绑定时,由于某种原因不起作用。

<ContentPage .... xmlns:zxcm="clr-namespace:ZXing.Common;assembly=zxing.portable">
<forms:ZXingBarcodeImageView 
        IsVisible="True"
        x:Name="QRCodeView"
        BarcodeFormat="QR_CODE" 
        HeightRequest="300"
        WidthRequest="300"
        BarcodeValue="-1">
        <zx:ZXingBarcodeImageView.BarcodeOptions>
            <zxcm:EncodingOptions Width="300" Height="300" />
        </zx:ZXingBarcodeImageView.BarcodeOptions>
    </forms:ZXingBarcodeImageView>
</ContentPage>

示例项目可以在这里找到:https://github.com/jfversluis/Blurry-ZXingBarcodeImageView