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