示例#1
0
        public byte[] Print(string qrData, QrCodeSize qrCodeSize)
        {
            var list = new List <byte>();

            list.AddRange(StoreQr(qrData, qrCodeSize));
            list.AddRange(Encoding.UTF8.GetBytes(qrData));
            return(list.ToArray());
        }
示例#2
0
        private static IEnumerable <byte> StoreQr(string qrData, QrCodeSize size)
        {
            var length = qrData.Length;
            var b      = (byte)(length % 256);
            var b2     = (byte)(length / 256);

            return(new byte[] { 29, 107, 81 }
                   .AddBytes(Size(size))
                   .AddBytes(new byte[] { 6, 0, 1 })
                   .AddBytes(new[] { b })
                   .AddBytes(new[] { b2 }));
        }
示例#3
0
        /// <summary>
        /// 设置二维码
        /// </summary>
        /// <param name="value">值</param>
        /// <param name="size">二维码大小</param>
        public byte[] QrCode(string value, QrCodeSize size)
        {
            var list = new List <byte>();

            list.AddRange(ModelQr());
            list.AddRange(Size(size));
            list.AddRange(ErrorQr());
            list.AddRange(StoreQr(value));
            list.AddRange(Encoding.UTF8.GetBytes(value));
            list.AddRange(PrintQr());
            return(list.ToArray());
        }
示例#4
0
        private static IEnumerable <byte> StoreQr(string qrData, QrCodeSize size)
        {
            var length = qrData.Length + 3;
            var b      = (byte)(length % 255);
            var b2     = (byte)(length / 255);

            return(new byte[] { 27, 106, 49 }
                   .AddBytes(new byte[] { 27, 129 })
                   .AddBytes(new[] { b })
                   .AddBytes(new[] { b2 })
                   .AddBytes(Size(size))
                   .AddBytes(new[] { 'M'.ToByte() }));
        }
示例#5
0
        public override int GetHashCode()
        {
            int hashCode = 1133365354;

            hashCode = hashCode * -1521134295 + EqualityComparer <List <string> > .Default.GetHashCode(ProcessList);

            hashCode = hashCode * -1521134295 + Column.GetHashCode();
            hashCode = hashCode * -1521134295 + Row.GetHashCode();
            hashCode = hashCode * -1521134295 + Alpha.GetHashCode();
            hashCode = hashCode * -1521134295 + FontSize.GetHashCode();
            hashCode = hashCode * -1521134295 + Angle.GetHashCode();
            hashCode = hashCode * -1521134295 + OutlineWeight.GetHashCode();
            hashCode = hashCode * -1521134295 + IsShowComputerName.GetHashCode();
            hashCode = hashCode * -1521134295 + IsShowMacAddr.GetHashCode();
            hashCode = hashCode * -1521134295 + IsShowIPAddr.GetHashCode();
            hashCode = hashCode * -1521134295 + IsShowLoginUser.GetHashCode();
            hashCode = hashCode * -1521134295 + IsShowQrCode.GetHashCode();
            hashCode = hashCode * -1521134295 + QrCodePos.GetHashCode();
            hashCode = hashCode * -1521134295 + QrCodeAlpha.GetHashCode();
            hashCode = hashCode * -1521134295 + QrCodeSize.GetHashCode();
            hashCode = hashCode * -1521134295 + ChangePosDeltaTime.GetHashCode();
            return(hashCode);
        }
示例#6
0
 public void QrCode(string qrData, QrCodeSize qrCodeSize)
 {
     Write(_command.QrCode.Print(qrData, qrCodeSize));
 }
示例#7
0
 private static byte[] Size(QrCodeSize size)
 {
     return(new byte[] { 29, 40, 107, 3, 0, 49, 67 }
            .AddBytes(new[] { (size + 3).ToByte() }));
 }
示例#8
0
 private static byte[] Size(QrCodeSize size)
 {
     return(new[] { (size + 3).ToByte() });
 }
示例#9
0
 /// <summary>
 /// 设置二维码
 /// </summary>
 /// <param name="value">值</param>
 /// <param name="size">二维码大小</param>
 public virtual TPrinter QrCode(string value, QrCodeSize size) => Write(Command.QrCode.QrCode(value, size));