7

相关)我在这里这里这里找到了描述 ZXingBarcodeImageView 在 Xamarin Forms 中呈现模糊 QR 码的相关问题的问题 - 但它们并没有解决我的问题。

问题

我正在使用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"
         />

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

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

4

1 回答 1

10

在我的情况下,添加BarcodeOptionsZXingBarcodeImageViewXAML 中似乎有效。正如您的链接解决方案之一中所建议的那样,从代码绑定时由于某种原因无法正常工作。

<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

于 2018-07-09T07:42:57.643 回答