原文: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#热敏打印图片 串口打印图片的更多相关文章

  1. C#并口热敏小票打印机打印位图

    原文:C#并口热敏小票打印机打印位图 最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了.   这是DEMO的窗体:   下面是打印所需要调用的代码: class ...

  2. C#并口热敏小票打印机打印位图包括芯片的写入

    下面是打印所需要调用的代码: class LptControl { private string LptStr = "lpt1"; public LptControl(string ...

  3. 转:C#并口热敏小票打印机打印位图

    最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: class LptControl { private s ...

  4. C# Lpt 并口热敏小票打印机打印位图

    class LptControl { private string LptStr = "lpt1"; public LptControl(string l_LPT_Str) { L ...

  5. 图像处理---《在图片上打印文字 windows+GDI+TrueType字体》

    图像处理---<在图片上打印文字  windows+GDI+TrueType字体> 刚开始使用的是putText()函数做,缺陷是只能显示非中文: 接着,看大多数推荐Freetype库来做 ...

  6. 图像处理---《在图片上打印文字 FreeType库》

    图像处理---<在图片上打印文字 FreeType库> 目的:想在处理之后的图像上打印输出结果.方法: (1)只在图像上打印 数字.字母的话:                1.Mat格式 ...

  7. 图像处理---《在图片上打印文字 putText()》

    图像处理---<在图片上打印文字 putText()> 目的:想在处理之后的图像上打印输出结果. 方法: (1)只在图像上打印 数字.字母的话:                 1.Mat ...

  8. 通过快递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/ 打 ...

  9. 斑马105SLPlus串口打印二维码

    1.根据说明书调试硬件,校准介质还有色带(很重要),我自己搞了好几天才搞明白. 2.设置好参数,比如打印介质连续.非连续,热敏还是热转质 3.打印机上电后悔自动校准,校准成功后就可以直接通过串口打印, ...

随机推荐

  1. 新版Sublime text3注册码被移除的解决办法

    Sublime Text是风靡世界的文本编辑器,支持多种编程语言,启动时间短,打开文件速度快,插件丰富,让很多程序员爱不释手.但是,对于未注册的Sublime Text, 经常在保存的时候会弹出一个烦 ...

  2. MySQL key分区(五)

    具体描写叙述总结请看MySQL分区(一) 样例:该样例为本人个人学习总结分享->具体说明-->有问题欢迎前来交流

  3. 数据局部性(data locality)

    信息处理的典型模式是,将所有数据项视为一个集合,并将其组织为适宜的数据结构(或者说使用适宜的数据结构对之进行存储以及组织),进而借助操作接口高效访问. 为了考查和评价各操作接口的效率,除了从最坏情况的 ...

  4. React Native 开发环境安装和配置使用报错: -bash: react-native: command not found

    [React  Native 开发环境安装和配置:-bash: react-native: command not found 报错: 前提是安装homebrew,node.js ,npm ,watc ...

  5. 小强的HTML5移动开发之路(23)—— jQuery Mobile入门

    一.下载jQuery Mobile 下载地址:http://jquerymobile.com/ 点击Download 下载如下zip包 下载成功后如下图 解压目录如图: 点击index.html进入d ...

  6. sql server中查询结果集顺序问题

    因为优化器可能会选择并行处理,或者在多文件情况下不按“期待”顺序扫描数据,所以无法保证数据的顺序.唯一能确保顺序的只有order by. 并行处理的过程导致顺序不一致,单核上不存在并行,而双核,可能使 ...

  7. 【BZOJ 1037】[ZJOI2008]生日聚会Party

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1037 [题意] [题解] /* 设f[i][j][k][l] 表示前i个人中,有j个男 ...

  8. python request 代理/超时/证书

    import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) A ...

  9. hdu1693插头dp(多回路)

    题意:在n*m的矩阵中,有些格子有树,没有树的格子不能到达,找一条或多条回路,吃全然部的树,求有多少中方法. 这题是插头dp,刚刚学习,不是非常熟悉,研究了好几天才明确插头dp的方法,他们老是讲一些什 ...

  10. DapperPoco

    DapperPoco -- 基于Dapper的.轻量级的.高性能的.简单的.灵活的ORM框架 为什么要重复造轮子 因为现有的轮子都在某些方面不太令我满意,下面我来一一点评一下,欢迎拍砖. Entity ...