/// <summary> /// Async create barcode /// 异步创建条形码 /// </summary> /// <param name="stream">Stream to save the barcode</param> /// <param name="options">Options</param> /// <param name="token">Cancellation token</param> /// <returns>Task</returns> public static async Task CreateAsync(Stream stream, BarcodeOptions options, CancellationToken token = default) { var writer = new ZXing.ImageSharp.BarcodeWriter <Rgba32> { Format = ParseFormat(options.Type), Options = options, Renderer = new ZXing.ImageSharp.Rendering.ImageSharpRenderer <Rgba32> { Background = options.Background, Foreground = options.Foreground } }; using var image = writer.Write(options.Content); await image.SaveAsPngAsync(stream, token); }
/// <summary> /// Create barcode as Base64 string /// 将条形码创建为 Base64 字符串 /// </summary> /// <param name="options"Options>Options</param> /// <returns>String</returns> public static string Create(BarcodeOptions options) { var writer = new ZXing.ImageSharp.BarcodeWriter <Rgba32> { Format = ParseFormat(options.Type), Options = options, Renderer = new ZXing.ImageSharp.Rendering.ImageSharpRenderer <Rgba32> { Background = options.Background, Foreground = options.Foreground } }; using var image = writer.Write(options.Content); return(image.ToBase64String(PngFormat.Instance)); }