日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 串口热敏打印

發(fā)布時間:2024/1/1 C# 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 串口热敏打印 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Printer類代碼:

using System; using System.Linq; using System.Collections.Generic; using System.Text; using System.IO.Ports; using System.Collections; using System.Windows.Forms; using System.Drawing;namespace PrinterTest {public class Printer{private static SerialPort serialPort; //串口public Printer(string portName){try{////串口初始化//serialPort = new SerialPort();serialPort.PortName = portName;serialPort.BaudRate = 9600;//波特率serialPort.Parity = System.IO.Ports.Parity.Odd;//奇校驗serialPort.StopBits = System.IO.Ports.StopBits.One;//停止位OpenPort();}catch{MessageBox.Show(e.ToString());}}public Printer(){try{////串口初始化//serialPort = new SerialPort();serialPort.PortName = "COM2";serialPort.BaudRate = 9600;//波特率serialPort.Parity = System.IO.Ports.Parity.Odd;//奇校驗serialPort.StopBits = System.IO.Ports.StopBits.One;//停止位OpenPort();}catch{MessageBox.Show(e.ToString());}}private void OpenPort(){if (null != serialPort){try{if (!serialPort.IsOpen)serialPort.Open();}catch{MessageBox.Show(e.ToString());}}}private void ClosePort(){try{if (serialPort.IsOpen)serialPort.Close();serialPort.Dispose();}catch{MessageBox.Show(e.ToString());}}public void Write(byte[] data,int len){try{serialPort.Write(data, 0, len);}catch(Exception e){MessageBox.Show(e.ToString());}}/// <summary>/// 向打印機(jī)發(fā)送命令/// </summary>/// <param name="data">命令數(shù)據(jù)</param>public void Write(params byte[] data){try{serialPort.Write(data, 0,data.Length );}catch (Exception e){MessageBox.Show(e.ToString());}}/// <summary>/// 發(fā)送字符串/// </summary>/// <param name="strBuf">要發(fā)送的字符串</param>public void Write(string strBuf){try{byte[] data = ToHex(strBuf, "GB2312");serialPort.Write(data, 0, data.Length);}catch (Exception e){MessageBox.Show(e.ToString());}}/// <summary>/// 根據(jù)編碼方式轉(zhuǎn)換字符串為byte[]/// </summary>/// <param name="str">目標(biāo)字符串</param>/// <param name="charset">編碼方式</param>/// <returns>轉(zhuǎn)換后的byte[]</returns>private byte[] ToHex(string str, string charset)//{if (str.Length % 2 != 0)str += "";Encoding enc = Encoding.GetEncoding(charset);return enc.GetBytes(str);}/// <summary>/// 圖片取模/// </summary>/// <param name="bmp"></param>/// <returns></returns>private byte[,] GetBytesByBMP(Bitmap bmp){//bitArray存儲像素點bool[,] bitArray = new bool[bmp.Height % 8 == 0 ?bmp.Height : (bmp.Height / 8 + 1) * 8, bmp.Width];for (int i = 0; i < bmp.Width; ++i)//獲取圖片點陣{for (int j = 0; j < bmp.Height; ++j){//獲取點的ARGBColor pixel = bmp.GetPixel(i, j);double gray = pixel.R * 0.299 +pixel.G * 0.587 + pixel.B * 0.114;if (gray < 192)//是深色bitArray[j, i] = true;else //非深色(淺色)bitArray[j, i] = false;}}byte[,] res =//存儲字模new byte[bitArray.GetLength(0) / 8, bitArray.GetLength(1)];int resRow = 0, resCol = 0;for (int i = 0; i < bmp.Height; i = i + 8){resCol = 0;for (int j = 0; j < bmp.Width; ++j){byte b = 0;//二進(jìn)制轉(zhuǎn)十進(jìn)制for (int k = (i + 7), p = 0; k > i - 1; --k){b += (byte)((bitArray[k, j] ? 1 : 0) *Math.Pow(2, p++));}res[resRow, resCol++] = b;}++resRow;}return res;}/// <summary>/// 打印圖片/// </summary>/// <param name="bmp">圖片</param>/// <param name="enlarge">放大倍數(shù)</param>public void printImage(Bitmap bmp){byte[,] gImage = GetBytesByBMP(bmp);for (int i = gImage.GetLength(0) - 1; i >= 0; --i){byte lowLen = (byte)((gImage.GetLength(1) << 8) >> 8);byte highLen = (byte)(gImage.GetLength(1) >> 8);Write(0x1B, 0x4B, lowLen, highLen);for (int j = 0; j < gImage.GetLength(1); j++)Write(gImage[i, j]);Write(0x0D);}}} }


調(diào)用類方法:

Printer p = new Printer("COM2");//生成實例 p.Write(myArray,myArray.Lenth);發(fā)送定長數(shù)組 p.Write(0x1B, 0x40);//發(fā)送不定長數(shù)字串 p.Write("發(fā)送字符串 Send String");//發(fā)送字符串 p.printImage(new Bitmap);//發(fā)送圖片

?

總結(jié)

以上是生活随笔為你收集整理的C# 串口热敏打印的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品第一 | 亚洲天堂第一页 | 午夜精品久久久久久久久久蜜桃 | 亚洲精视频 | 91成人精品一区在线播放 | 亚洲三级在线 | 日本色片网站 | 日韩不卡 | 国产精品久久久久久无人区 | 天天爱天天舔 | 久久99精品久久久久久噜噜 | 456av| 自拍视频第一页 | 亚洲色成人一区二区三区小说 | 亚洲涩涩| 欧美国产日韩一区 | a级片国产 | 99精品久久精品一区二区 | 美女交配 | 精品无码人妻一区二区三 | 日本加勒比中文字幕 | 欧美国产在线观看 | 亚洲精品午夜精品 | 女人特黄大aaaaaa大片 | 国产福利二区 | 韩国久久久久久 | 成人高潮片免费网站 | 国产chinese| 亚洲精品乱码久久久久久久 | 日日摸日日添日日碰9学生露脸 | 亚洲av无码专区在线播放中文 | 动漫美女放屁 | 九色91porny| 国产裸体永久免费视频网站 | 青娱乐福利视频 | 日韩电影在线观看中文字幕 | 久久国产精品国产精品 | 日韩一区二区欧美 | 91视频首页 | 国产成a人亚洲精品 | 日韩一级片中文字幕 | 日本大尺度吃奶做爰久久久绯色 | 精品国产伦一区二区三区 | 一区二区三区 中文字幕 | 爱爱三级视频 | 国产波霸爆乳一区二区 | 国产成人一区二区三区视频 | 免费在线观看中文字幕 | 亚洲精品字幕在线观看 | 成人有色视频 | 婚后打屁股高h1v1调教 | 亚洲精品97久久中文字幕 | av免费影院 | 成年人在线视频网站 | free女性xx性老大太 | 亚洲色图20p| 性按摩玩人妻hd中文字幕 | 在线播放你懂得 | 操久久久 | 免费裸体视频网站 | 成年人网站在线观看视频 | 夜色视频在线观看 | 国产精品自在线 | 毛片视频网站 | 亚洲av无码潮喷在线观看 | 夜夜摸夜夜操 | 中文字幕高清在线播放 | 99精品久久久久久久婷婷 | 蜜乳av一区二区 | 动漫毛片| 国产无遮挡又黄又爽免费网站 | 吃奶摸下的激烈视频 | 成人久久久精品乱码一区二区三区 | 一区日韩| 丝袜美腿亚洲综合 | 日韩成人高清在线 | 天堂在线视频网站 | 国产精品一区二区三区线羞羞网站 | 久久er99热精品一区二区 | 波多野结衣福利视频 | 国产又大又黄又粗 | 欧美日韩xxxx | 污污在线观看视频 | 中文字幕久久综合 | 黄色免费网站在线观看 | 视频这里只有精品 | 天天尻| 西西人体做爰大胆gogo直播 | 欧美一区二区三区婷婷月色 | 中文字幕第9页 | 久热这里只有精品在线 | 91免费短视频 | 精品影视 | 日韩一区二区久久 | 国产无人区码熟妇毛片多 | 91久色 | 国产jzjzjz丝袜老师水多 | 欧美日本韩国一区二区三区 | 成年视频在线播放 |