我有一台 Zebra Gk420t 打印机,可以制作贴纸,我需要在上面打印图像。我读到图像必须是 GRF 格式(纯十六进制)。
有人知道如何在 Linux 中将图像转换为 GRF 格式吗?我在 Windows 上阅读了有关 Ztools 软件的信息,但在 Linux 上没有什么有趣的...
我有一台 Zebra Gk420t 打印机,可以制作贴纸,我需要在上面打印图像。我读到图像必须是 GRF 格式(纯十六进制)。
有人知道如何在 Linux 中将图像转换为 GRF 格式吗?我在 Windows 上阅读了有关 Ztools 软件的信息,但在 Linux 上没有什么有趣的...
Zebra 提供了一个可以将图形转换为 GRF的 Java API 。您可以使用命令行界面将图像转换为 GRF,如下所示:
java -jar ZSDK_API.jar 图形 myImage.jpeg -s myConvertedImage.GRF
有人知道如何在 Linux 中将图像转换为 GRP 格式吗?
你想太多了。
现代版本的 CUPS 随附 Zebra 打印机驱动程序。CUPS 是大多数现代 *nixes 使用的打印系统,包括大多数 Linux 发行版。
通过 CUPS 设置打印机将允许您向其打印任何支持的内容,包括 PDF、JPEG、GIF 和 PNG。只需调用/usr/bin/lp
或/usr/bin/lpr
使用打印机名称和文件名。有关所需的确切语法,请参阅他们的手册页。例如,
/usr/bin/lp -d Zebra_GK420t ./foo.png
请注意,您可能需要设置一些命令行选项,包括ppi=203
或摆弄横向/纵向模式。您还需要指定介质类型(标签尺寸)或将打印机配置为默认介质类型。
对于 Ubuntu Linux,我想出了这个过程。
最好以未压缩格式获取源图像。示例包括 *.bmp、*.png 等。
在 Ubuntu 操作系统上安装 ImageMagick。通常它默认安装在较新版本的 Ubuntu 上。
使用 GIMP 根据需要的 DPI 缩放图像。首选三次、双三次或更好的缩放算法,以最大程度地减少缩放期间的数据丢失。
现在执行这些语句。
使用安装 OpenCV、Dosbox 和 Wine
sudo apt-get install libopencv-* dosbox wine
并将以下程序另存为rgb2gray.cc
//#include <cv.h>
//#include <highgui.h>
#include <opencv2/opencv.hpp>
#include <cstdio>
#include <cstdlib>
using namespace cv;
int main( int argc, char** argv )
{
if( argc != 3 )
{
printf( " No image data \n " );
printf( "Usage: ./rgb2gray <colorimage>.<ext> <grayimage>.<ext> \n" );
printf( "Usage: ./rgb2gray colorimage.png grayimage.png \n" );
exit(0);
}
char* imageName = argv[1];
Mat image;
image = imread( imageName, 1 );
Mat gray_image;
cvtColor( image, gray_image, CV_BGR2GRAY );
imwrite( argv[2], gray_image );
namedWindow( imageName, CV_WINDOW_AUTOSIZE );
namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
imshow( imageName, image );
imshow( "Gray image", gray_image );
waitKey(0);
return 0;
}
在终端输入以下代码来编译代码:
g++ -g rgb2gray.cc -o rgb2gray `pkg-config opencv --libs --cflags`
现在,执行以下命令。
./rgb2gray colorimage.png grayimage.png
convert -compress none grayimage.png logo.tif
注意:请确保 tif 图像名称不超过 8 个字符,否则您可能会在后续步骤中遇到问题
谷歌互联网找到 ztoolssetup107.exe。我在这里找到了一个http://www.hjollum.com/jari/zzbug/ztools/download.php
通过右键单击exe文件并选择用wine打开来使用wine安装Ztools。
导航到安装 Ztools 的以下路径
cd ~/.wine/drive_c/ztools
并复制您之前在那里创建的 logo.tifcp <path to tif image>/logo.tif .
现在是最后的步骤
通过执行dosbox .
并在 Dosbox 终端类型中打开 Dosbox ZIMAGLIT.EXE logo.tif logo.grf
,就是这样!!!
注意:如果您没有看到 ZIMAGLIT.EXE,您可能需要通过 Google 获取它。我希望上面的 ZImage 链接包含相同的内容。
故障排除:
问:为什么我的 GRF 完全是 0?
A.因为源单色图像应该是二进制的(经过 rgb2gray 转换)。即图像上的每个像素都应该是黑色或白色。避免灰色阴影或将图像中的灰色区域转换为黑色(像素值 = 255)。然后重试该过程。
问:ZIMAGLIT.EXE 无法将我的 TIF 图像转换为 GRF?
A.因为 tif 图像名称(不包括 tif 扩展名)应该小于或等于 8 个字符,最好是所有字母。如果不符合此条件,请重命名。然后重试该过程。
试试这个... https://mega.co.nz/#!DJBgwYzD!09rTYzwi_2OfEVKN20osMlMdLClv2qyDXUbFYra82ks
它适用于 Windows,需要 comdlg32
早在 2005 年,当我用 C++ 为这些打印机编写一些库时,我遇到了很多问题,并在 ZPL 指南上找到了很多信息。
对于 GRF 文件,我创建了这个应用程序来帮助我进行日常图像转换。
从那以后就没有再碰过这段代码了..所以可能还有一些改进的空间..但是快速测试并且看起来工作正常(除了最大到600x600的图像大小..与9年前的旧系统相关的东西..也许内存..也许屏幕分辨率..不记得了)