【发布时间】:2020-06-22 12:43:40
【问题描述】:
我正在开发一个 Xamarin Forms iOS 应用程序。在 xaml 文件中,有一个网格。
<Grid x:Name="QrCodeSite" HeightRequest="300" Margin="37, 37, 37, 0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
</Grid>
在相关的 .cs 文件中,我使用ZXing.Net.Mobile.Forms 生成一个二维码并将其放置在网格中。我把我的标志放在同一个网格中,最终会出现在二维码的中心。
var barcode = new ZXingBarcodeImageView
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
barcode.BarcodeFormat = ZXing.BarcodeFormat.QR_CODE;
barcode.BarcodeOptions.Width = 650;
barcode.BarcodeOptions.Height = 650;
barcode.BarcodeOptions.Margin = 1;
barcode.BarcodeValue = value;
var img = new Image
{
Source = "logo.png",
WidthRequest = 70,
HeightRequest = 70,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center
};
QrCodeSite.Children.Clear();
QrCodeSite.Children.Add(barcode);
QrCodeSite.Children.Add(img);
问题是,可能是我的手机(iPhone 6s plus)太慢了,有时标志先出现,然后延迟(大约 1 秒)后显示二维码。如何将 QR 码和徽标合并为一张图像,然后将其添加到网格中?
【问题讨论】:
-
您需要使用像 SkiaSharp 这样的成像库来合并位图
-
这是一个小示例,用于参考使用 Skiasharp 合并图像。 sreerajpr.com/blogs/xamarin-forms-photo-collage-skiasharp
标签: image xamarin image-processing xamarin.forms zxing