C#热敏打印图片 串口打印图片
如图,一步一步慢慢调出来的
//串口通信类
public System.IO.Ports.SerialPort serialPort = null;
serialPort = new System.IO.Ports.SerialPort("COM1");
serialPort.BaudRate =19200;
serialPort.DataBits = 8;
serialPort.StopBits = System.IO.Ports.StopBits.One;
serialPort.Parity = System.IO.Ports.Parity.None;
serialPort.Open();
/// <summary>
/// 打印位图logo
/// </summary>
/// <param name="bitmap"></param>
public void PrintBitmap2(Bitmap bitmap)
{
int Width=bitmap.Width-1;
int Height =(int)(bitmap.Height)/8 ;
int SpaceNum=(int)(244-Width)/2;
int x0,x1, x2=0,x3=0,x4=0,x5=0,x6=0,x7=0;
byte[] PBuf = new byte[1024*1024];
int point = 0;
PBuf[point++] = 27;
PBuf[point++] = (byte)'3';
PBuf[point++] = 16;
PBuf[point++] = 27;
PBuf[point++] = (byte)'r';
PBuf[point++] = 0;
Func<Color, bool> IsNearWhite = color => {
if (color.A + color.B + color.G + color.R >= 255 + 250 + 250 + 250)
{
return false;
}
return true;
};
for (int n = 0; n < Height; n++)
{
PBuf[point++] = 27;
PBuf[point++] = (byte)'*';
PBuf[point++] = 0;
PBuf[point++] = (byte)(Width+SpaceNum);
PBuf[point++] = 0;
for (int i = 0; i< SpaceNum; i++)
{
PBuf[point++] = 0;
}
for (int i = 0; i < Width; i++)
{
x0=0;
x1=0;
x2=0;
x3=0;
x4=0;
x5=0;
x6=0;
x7=0;
if(IsNearWhite(bitmap.GetPixel(i,0+(n*8))))
x0 = 128;
if (IsNearWhite(bitmap.GetPixel(i, 1 + (n * 8))))
x1 = 64;
if (IsNearWhite(bitmap.GetPixel(i, 2 + (n * 8))))
x2 = 32;
if (IsNearWhite(bitmap.GetPixel(i, 3 + (n * 8))))
x3 = 16;
if (IsNearWhite(bitmap.GetPixel(i, 4 + (n * 8))))
x4 = 8;
if (IsNearWhite(bitmap.GetPixel(i, 5 + (n * 8))))
x5 = 4;
if (IsNearWhite(bitmap.GetPixel(i, 6 + (n * 8))))
x6 = 2;
if (IsNearWhite(bitmap.GetPixel(i, 7 + (n * 8))))
x7 = 1;
PBuf[point++]=(byte)(x0 ^ x1 ^ x2 ^ x3 ^ x4 ^ x5 ^ x6 ^x7);
}
PBuf[point++] = 13;
PBuf[point++] = 10;
}
serialPort.Write(PBuf, 0, point);
}
C#热敏打印图片 串口打印图片的更多相关文章
- C#并口热敏小票打印机打印位图
原文:C#并口热敏小票打印机打印位图 最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class ...
- C#并口热敏小票打印机打印位图包括芯片的写入
下面是打印所需要调用的代码: class LptControl { private string LptStr = "lpt1"; public LptControl(string ...
- 转:C#并口热敏小票打印机打印位图
最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class LptControl { private s ...
- C# Lpt 并口热敏小票打印机打印位图
class LptControl { private string LptStr = "lpt1"; public LptControl(string l_LPT_Str) { L ...
- 图像处理---《在图片上打印文字 windows+GDI+TrueType字体》
图像处理---<在图片上打印文字 windows+GDI+TrueType字体> 刚开始使用的是putText()函数做,缺陷是只能显示非中文: 接着,看大多数推荐Freetype库来做 ...
- 图像处理---《在图片上打印文字 FreeType库》
图像处理---<在图片上打印文字 FreeType库> 目的:想在处理之后的图像上打印输出结果.方法: (1)只在图像上打印 数字.字母的话: 1.Mat格式 ...
- 图像处理---《在图片上打印文字 putText()》
图像处理---<在图片上打印文字 putText()> 目的:想在处理之后的图像上打印输出结果. 方法: (1)只在图像上打印 数字.字母的话: 1.Mat ...
- 通过快递100获取快递单号,结合c-lodop热敏纸打印 – 通过菜鸟ISV/自研ERP使用菜鸟电子面单
https://www.1024cc.cn/index.php/2019/04/29/%E6%89%93%E5%8D%B0%E7%94%B5%E5%AD%90%E9%9D%A2%E5%8D%95/ 打 ...
- 斑马105SLPlus串口打印二维码
1.根据说明书调试硬件,校准介质还有色带(很重要),我自己搞了好几天才搞明白. 2.设置好参数,比如打印介质连续.非连续,热敏还是热转质 3.打印机上电后悔自动校准,校准成功后就可以直接通过串口打印, ...
随机推荐
- Docker CE for Windows安装使用
原文:Docker CE for Windows安装使用 官网下载并安装Docker CE for Windows IDEA连接Docker Docker一些常用命令 Docker for windo ...
- Tomcat生产中优化JVM的配置实例
root 1208 1 0 11月25 ? 00:15:32 /home/root/jvm/jdk1.7.0_79/bin/java -Djava.util.logging.config.file=/ ...
- web网站如何获取用户的地理位置
web网站如何获取用户的地理位置 一.总结 一句话总结:通过gps知道用户的经度和纬度,然后通过经度和纬度在在地图(google或者百度)上面显示位置. 1.html5如何通过gps知道用户的经度和纬 ...
- D3.js以及通用JS(JavaScript)读取并解析server端JSON的注意事项
这个需求事实上挺明白的.可是网上搜出来的教程都乱七八糟,认为实在须要自己总结一下. D3.js眼下已经被广泛使用在数据可视化领域,随着大数据的持续发展,这个框架预计会在今后更加流行(据说其作者Mike ...
- java线程池框架源代码分析
相关类Executor,Executors.AbstractExecutorService.ExecutorService Executor:整个线程池运行者框架的顶层接口. 定义了一个execute ...
- sqlserver中的存储过程 函数 事物 索引及视图
存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...
- 【严肃脸】使用caffe实现色情图片的识别
前言 前几天看到了雅虎开源了一个色情图片的识别模型新闻,上Github一看,是基于caffe的.试了试,模型效果很赞.Github地址:https://github.com/yahoo/open_ns ...
- Canvas,Matrix的变换顺序
Canvas的几何变换是倒序的,Matrix是正序. 比如先平移在旋转: canvas.rotate(); canvas.translate(); //translate先执行,rotate后执行 M ...
- cordova-plugin-file-transfer 监听到下载成功,找不到文件 - 简书
原文:cordova-plugin-file-transfer 监听到下载成功,找不到文件 - 简书 下载成功后找不到下载文件 function download(fileEntry, uri) { ...
- windows server 安装 mysql – 畅玩Coding
原文:windows server 安装 mysql – 畅玩Coding windows server 安装 mysql 2018年12月11日2018年12月11日 admin 下载:https: ...