猿问

Mike42 ESCPOS - 一行打印 4 个 png 文件

当我想通过 Mik42/ESCPOS 打印 4 个 PNG 文件 (100x100) 时。它在每一行打印每个 PNG 文件。有什么方法可以在一行中打印所有四个 PNG 文件?


$printer -> setJustification(Printer::JUSTIFY_LEFT);

$printer -> graphics($HC1,false);

$printer -> graphics($HC1,false);

$printer -> graphics($HC1,false);

$printer -> graphics($HC1,false);


森栏
浏览 210回答 2
2回答

一只甜甜圈

可以考虑以下之一。通过将四个图像数据排列在一条水平线上来创建一个图像数据并打印它。结合原始ESC/POS命令数据设置页面模式,在escpos-php的图形打印功能后,用原始ESC/POS命令数据重复打印起始位置,最后原始ESC/POS命令,进行实际打印和页面模式结束。相关ESC/POS指令:ESC L选择页面模式ESC W在页面模式下设置打印区域ESC T在页面模式下选择打印方向GS $设置页面模式下的绝对垂直打印位置ESC $设置绝对打印位置GS \设置页面模式下的相对垂直打印位置ESC \设置相对打印位置FF(在页面模式下)打印并返回标准模式(在页面模式下)

精慕HU

使用 imgagick 将其保存到 web 目录中的 PNG 文件,然后用 PHP 对其进行编码。function appendImages($img1,$img2,$img3,$img4,$format) {$im = new Imagick();$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img1.'.jpg'));$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img2.'.jpg'));$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img3.'.jpg'));$im->addImage(new Imagick($_SERVER['DOCUMENT_ROOT'].'/images/'.$img4.'.jpg'));$im->resetIterator();$combined = $im->appendImages(false);$combined->setImageFormat($format);$combined->writeImage($_SERVER['DOCUMENT_ROOT'].'/images/combined.png'); }
随时随地看视频慕课网APP
我要回答