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; }