Avalonia中使用Zxing.Net生成二维码,一维码

Nuget引两个包
csharp 复制代码
  <Image Name="image"/>
csharp 复制代码
Avalonia.Media.Imaging.Bitmap bitmap = null;
if (item.Barcode == BarcodeType.QR_Code)
{
    var stream = CreateQRCode(item.Text, (int)width, (int)height);
    bitmap = new Avalonia.Media.Imaging.Bitmap(stream);
    image.Source = bitmap;
}
csharp 复制代码
    public static Stream CreateQRCode(string sContent, int width, int height,string encoding = "UTF-8")
    {
        var renderer = new SKBitmapRenderer();
        renderer.Background = SKColors.Transparent;
        renderer.Foreground = SKColors.Black;
        
        BarcodeWriter<SKBitmap> writer = new BarcodeWriter<SKBitmap>
        { 
            Renderer = renderer,
            Format = BarcodeFormat.QR_CODE,
            Options = new QrCodeEncodingOptions
            {
                CharacterSet = encoding,
                Margin = 1,
                DisableECI = true,
                Height = height,
                Width = width,
                ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.L,
            }
        };
        var skBitmap = writer.Write(sContent);
        Stream stream = SKImage.FromBitmap(skBitmap).Encode(SKEncodedImageFormat.Png, 100).AsStream();
        return stream;
    }
相关推荐
“抚琴”的人1 分钟前
C#上位机状态模式
c#·状态模式
“抚琴”的人2 分钟前
C#上位机观察者模式
开发语言·观察者模式·c#·上位机
未来之窗软件服务22 分钟前
幽冥大陆(七十七)C# 调用 中文huayan-medium.onnx —东方仙盟练气期
前端·ui·c#·仙盟创梦ide·东方仙盟
唐青枫30 分钟前
深入理解 C#.NET IEnumerable<T>:一切集合的起点
c#·.net
FL16238631296 小时前
[C#][winform]基于yolov8的水表读数检测与识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
开发语言·yolo·c#
Jeremy爱编码11 小时前
实现 Trie (前缀树)
开发语言·c#
烛阴11 小时前
C# 正则表达式(4):分支与回溯引用
前端·正则表达式·c#
huluang16 小时前
Word文档批注智能克隆系统的设计与实现
开发语言·c#·word
kylezhao201917 小时前
C#上位机开发数据持久化:excel报表导入导出
开发语言·c#·excel
wangnaisheng19 小时前
【C#】RocketMQ、Redis的使用
c#