using System; namespace Dongke.WinForm.Controls.InvoiceLayout.DrawBarcode.QRCode { /// /// 二维码格式数据 /// [Serializable] public sealed class QRCodeData { /// /// 获取坐标元素 /// public bool this[int x, int y] { get => Data[y, x]; set => Data[y, x] = value; } /// /// 矩阵数组 /// public bool[,] Data { get; } /// /// 获取尺寸(像素) /// public int Size { get; } = 0; /// /// 设定宽度 /// public int Width { get; internal set; } /// /// 设定高度 /// public int Height { get; internal set; } /// /// 二维码MaskPattern /// public int MaskPattern { get; internal set; } /// /// 二维码Mode /// public string ModeName { get; internal set; } /// /// 二维码版本 /// public int Version { get; internal set; } /// /// 条码内容 /// public string Text { get; internal set; } /// /// 编码参数 /// public QRCodeEncodingOptions Options { get; internal set; } /// /// 二维码数据(矩阵数组) /// /// 尺寸 internal QRCodeData(int size) { this.Data = new bool[size, size]; this.Size = size; } /// /// 设置全部值 /// /// The value. public void SetAllValue(bool value) { for (int y = 0; y < this.Size; y++) { for (int x = 0; x < this.Size; x++) { this.Data[y, x] = value; } } } } }