示例#1
0
        public void Draw()
        {
            List <byte> byteList = new List <byte>();

            //设置字体大小
            XingKongScreen.SetFontSize((int)FontSize);

            //生成坐标数据
            IEnumerable <byte> left = BitConverter.GetBytes(Left).Reverse();
            IEnumerable <byte> top  = BitConverter.GetBytes(Top).Reverse();

            //生成字符串数据
            byte[] str = Encoding.GetEncoding("GBK").GetBytes(Text);

            IEnumerable <byte> length = BitConverter.GetBytes((short)(9 + str.Length + 1 + 4)).Reverse();

            byteList.Add(0xA5);
            byteList.AddRange(length);
            byteList.Add(0x30);
            byteList.AddRange(left);
            byteList.AddRange(top);
            byteList.AddRange(str);
            byteList.Add(0x00);
            byteList.AddRange(new byte[] { 0xCC, 0x33, 0xC3, 0x3C });

            byte checkByte = XingKongScreen.getCheckByte(byteList);

            byteList.Add(checkByte);

            object asyncLockObj = XingKongScreen.AsyncLockObj;

            lock (asyncLockObj)
            {
                XingKongScreen.Write(byteList);
            }
            NeedDraw = false;
        }