C# 热敏打印机 Socket 网络链接 打印 图片 (二)
1 IPAddress ip = IPAddress.Parse("192.168.1.212"); 2 IPEndPoint iport = new IPEndPoint(ip, 9100);//9100为小票打印机指定端口 3 Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 4 soc.Connect(iport); 5 bitmap = new Bitmap(@"D:\300X200.bmp"); 6 soc.Send(bmpToByte(bitmap)); 7 soc.Close();
1 public static byte[] bmpToByte(Bitmap bmp) 2 { 3 int h = bmp.Height / 24 + 1; 4 int w = bmp.Width; 5 byte[][] all = new byte[2 + 2 * h + h * w][]; 6 7 all[0] = new byte[] { 0x1B, 0x33, 0x00 }; 8 9 Color pixelColor; 10 // ESC * m nL nH 点阵图 11 byte[] escBmp = new byte[] { 0x1B, 0x2A, 0x21, (byte)(w % 256), (byte)(w / 256) }; 12 13 // 每行进行打印 14 for (int i = 0; i < h; i++) 15 { 16 all[i * (w + 2) + 1] = escBmp; 17 for (int j = 0; j < w; j++) 18 { 19 byte[] data = new byte[] { 0x00, 0x00, 0x00 }; 20 for (int k = 0; k < 24; k++) 21 { 22 if (((i * 24) + k) < bmp.Height) 23 { 24 pixelColor = bmp.GetPixel(j, (i * 24) + k); 25 if (pixelColor.R == 0) 26 { 27 data[k / 8] += (byte)(128 >> (k % 8)); 28 } 29 } 30 } 31 all[i * (w + 2) + j + 2] = data; 32 } 33 //换行 34 all[(i + 1) * (w + 2)] = PrinterCmdUtils.nextLine(1); 35 } 36 all[h * (w + 2) + 1] = PrinterCmdUtils.nextLine(2); 37 38 return byteMerger(all); 39 }
1 public static byte[] byteMerger(byte[][] byteList) 2 { 3 int Length = 0; 4 for (int i = 0; i < byteList.Length; i++) 5 { 6 Length += byteList[i].Length; 7 } 8 byte[] result = new byte[Length]; 9 10 int index = 0; 11 for (int i = 0; i < byteList.Length; i++) 12 { 13 byte[] nowByte = byteList[i]; 14 for (int k = 0; k < byteList[i].Length; k++) 15 { 16 result[index] = nowByte[k]; 17 index++; 18 } 19 } 20 return result; 21 }
转自:http://www.cnblogs.com/rinack/p/4838963.html
转载于:https://www.cnblogs.com/felix-wang/p/6248088.html
C# 热敏打印机 Socket 网络链接 打印 图片 (二)相关推荐
- python——生成带logo的二维码图片并且保存、控制打印机打印图片二维码、整合打印(获取输入框的值)、打包成exe文件
1.生成带logo的二维码图片并且保存 前提条件:在D盘里有logo.png的图片,生成的二维码图片在D盘里的111.png import qrcode from PIL import Image# ...
- Android 蓝牙二维码打印,打印图片,二维码加文字布局,蓝牙连接
蓝牙二维码打印,工厂物料条码,绝对好用 资源下载地址:点击下载 扫描,显示蓝牙列表 public class DeviceListActivity extends AppCompatActivity ...
- iOS 连接打印机 ESC/POS 指令打印 打印图片二维码
最近公司给商户做的App 允许App把卖出的商品信息通过打印机 打印标签 所以了解了一下iOS 和 打印机 之间的交互 (Ps:用的不是UIPrinter 那个扫面打印机 发送信息打印的那个框架) 主 ...
- 浅谈socket网络编程函数参数(二)
bind()函数 bind()函数把一个地址族中的特定地址赋给socket. 例如对应AF_INET.AF_INET6就是把一个ipv4或ipv6地址和端口号组合赋给socket. int bind( ...
- .NET(C#)基于Socket编程实现平行主机之间网络通讯有图片传输的Demo演示
本文讲下C#通过Socket编程实现平行主机之间网络通讯的详细讲解,非常不错的博文,一起来看下吧. 在程序设计中,涉及数据存储和数据交换的时候,不管是B/S还是C/S模式 ,都有这样一个概念 ...
- Android 实现系统打印机打印图片,文本,以及二维码生成与解析
打码机:扫码,生成打印自定义标签 一.Android 打印机要支持,网络.WiFi :手机与打印机在同一网络下才行,本文用WiFi连接 打开系统打印服务: 设置--更多设置--打印--选择默认打印 ...
- Windows Socket 网络编程(二)
来源: http://www.vckbase.com/document/viewdoc/?id=484 Windows Socket 网络编程(二) -- 套接字编程原理 作者: 冰点工作室 小鹰 [ ...
- java调用热敏打印机打印(包含二维码生成)
项目中需要用到热敏打印机,并且在打印的同时,要生成二维码.并且打印,先说说二维码的生成吧 package com.jinke.util; import com.google.zxing.common. ...
- Python Socket网络编程(二)局域网内和局域网与广域网的持续通信
目录 前言 IP地址 简介 公有IP 私有IP 局域网之间网络通信 前提 功能描述 源码 运行结果 局域网与广域网网络通信 前提 源码 结语 前言 本系列博客是笔者学习Python Socket的过程 ...
最新文章
- 概率论快速学习03:概率公理补充
- 2019.7.9刷题统计
- 递归与分治——全排列问题
- Linux的环境中如何生成srw-rw---- 的文件权限?
- linux 解压 视频插件,linux下压缩解压缩命令
- Linux命令第一篇
- R绘图字体解决方案(转)
- Android 手机进入不了fastboot模式的解决方案
- 最新达内大数据视频教程
- 黑苹果html5,黑苹果AppleALC声卡驱动安装使用教程 _ 黑苹果乐园
- 极光推送接收不到_极光推送ios接受不到通知
- 计算机团队霸气名称大全,霸气吃鸡游戏团队名字大全
- linux winqq 不能输入中文的解决办法
- java 判断条件_Java初学者:条件判断及其语句
- 为什么射极输出器的输入电阻跟负载R(L)有关?
- mx450属于什么档次的显卡
- Axure 如何在页面加载时,设置文本框的内容为当前日期
- 梦开始的地方 —— C语言数据在内存中的存储(整形+浮点型)
- selenium找到页面元素click没反应
- 区块链溯源相比传统追溯有什么优点?
热门文章
- java过滤器api_springboot集成过滤器
- c语言中Gretchen函数的功能,听过很多的歌的音乐达人给我推荐一下
- python字典查询多个值_python – 在Pandas Dataframe中查找多个字典键并返回多个匹配值...
- 【WebRTC---序篇】(二)Windows平台WebRTC源码编译
- LeetCode 662 二叉树最大宽度
- zybo的linux开发教程,Zybo全栈开发入门教程——连载三:创建Linux设备驱动和应用程序...
- 合工大850参考书_合肥工业大学计算机考研850上岸经验分享
- axture动画原型制作_Axure制作原型-基础操作
- mot数据集_谈谈ReID与MOT的关系
- Window10:不能建立到远程计算机的连接。你可能需要更改此连接的网络设置。