概述
Bitmap bmp = bmp = new Bitmap(500, 500);
Graphics g = Graphics.FromImage(bmp);
g.FillRectangle(Brushes.White, 0, 0, 580, 580);
Font f1 = new Font("黑体", 16, FontStyle.Regular);
g.DrawString("3941310", f1, Brushes.Black, 400, 0, new StringFormat());
g.DrawString("028208", f1, Brushes.Black, 400,20, new StringFormat());
pictureBox1.Image = bmp;
int escType = 1;
byte[] data = new byte[] { 0x1B, 0x33, 0x00 };
lc.Write(data);
data[0] = (byte)'x00';
data[1] = (byte)'x00';
data[2] = (byte)'x00'; // Clear to Zero.
Color pixelColor;
// ESC * m nL nH
byte[] escBmp = new byte[] { 0x1B, 0x2A, 0x00, 0x00, 0x00 };
escBmp[2] = (byte)'x21';
escType = 3;
//nL, nH
escBmp[3] = (byte)(bmp.Width % 256);
escBmp[4] = (byte)(bmp.Width / 256);
// data
for (int i = 0; i < (bmp.Height / 24) + 1; i++)
{
lc.Write(escBmp);
for (int j = 0; j < bmp.Width; j++)
{
for (int k = 0; k < 24; k++)
{
if (((i * 24) + k) < bmp.Height) // if within the BMP size
{
pixelColor = bmp.GetPixel(j, (i * 24) + k);
if (pixelColor.R == 0)
{
data[k / 8] += (byte)(128 >> (k % 8));
}
}
}
lc.Write(data);
data[0] = (byte)'x00';
data[1] = (byte)'x00';
data[2] = (byte)'x00'; // Clear to Zero.
}
lc.Write("n");
} // data
//lc.Write("n完成<GS *>方式的位图下载!n");
lc.Write(cutPaper);
最后
以上就是等待白开水为你收集整理的ESC指令打印图片的全部内容,希望文章能够帮你解决ESC指令打印图片所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复