没有合适的资源?快使用搜索试试~ 我知道了~
首页ESC\POS打印图片.docx
ESC\POS打印图片.docx

ESC\POS打印指令控制打印机打印图片。阐述了EPSON打印机ESC/P指令的用法,并介绍了如何初始化打印机及图形方式,给出了打印图形的具体解决方法。
资源详情
资源评论
资源推荐

打印图片如下:
std::vector<QByteArray> GuiLauncher::ConvertImageToByteArray(
const QImage &img) {
std::vector<QByteArray> cmd_serial;
// just print image !!
int w = img.width();
int rw = w / 8;
int rh = img.height();
int h = ((rh + 23) / 24) * 24;
int32_t img_seg_height = h;
cmd_serial.push_back(PosCmd({27, 64}));
// recv data !!
QByteArray cmd;
int32_t img_seg_count = h / img_seg_height;
for (int si = 0; si < img_seg_count; si++) {
cmd.clear();
cmd.append(29);
cmd.append(118);
cmd.append(48);
cmd.append((char)0);
cmd.append((char)(rw % 256));
cmd.append((char)(rw / 256));
cmd.append((char)(img_seg_height % 256));
cmd.append((char)(img_seg_height / 256));
for (int ph = 0; ph < img_seg_height; ph++) {
for (int rwi = 0; rwi < rw; rwi++) {
char t = 0x00;
for (int j = 0; j < 8; ++j) {
int image_x = rwi * 8 + j;
int image_y = ph + si * img_seg_height;
int v;
if (image_y >= rh) {
v = 0;
} else {
v = qBlue(img.pixel(image_x, image_y)) < 0xc0 ? 1 : 0;
}
t |= (v << (7 - j));
}
cmd.append(t);
}

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1