我有一台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配置opencv--libs--cfglags`
现在,执行以下命令。
./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
使用wine安装Ztools,方法是右键单击exe文件并选择用wine打开。
导航到安装Ztools的以下路径
cd ~/.wine/drive_c/ztools
并复制徽标。如果您之前在那里创建了cp <path to tif image>/logo.tif .
现在是最后的步骤
通过执行
dosbox .
打开Dosbox,在Dosbox终端内键入ZIMAGLIT.EXE logo.tif logo.grf
,就这样!!!
注意:如果您没有看到ZIMAGLIT.EXE,您可能必须通过谷歌获取。我希望上面的ZImage链接也包含同样的内容。
故障排除:
Q为什么我的GRF完全是0?
A因为源单色图像应该是二进制的(经过rgb2gray转换)。即图像上的每个像素应该是黑色的或者while。避免灰色阴影或将图像中的灰色区域转换为喷射黑色(像素值=255)。然后重试该过程。
QZIMAGLIT.EXE无法将我的TIF图像转换为GRF?
A因为tif图像名称(不包括tif扩展名)应小于或等于8个字符,最好是所有字母。如果不符合此条件,则重命名相同的。然后重试该过程。
试试这个。。。https://mega.co.nz/#!DJBgwYzD!09rTYzwi_2OfEVKN20osMlMdLClv2qyDXUbFYra82ks
它适用于Windows,需要comdlg32
早在2005年,我就面临着很多问题,当时我正在用C++为这些打印机编写一些库,并在ZPL指南上找到了很多信息。
对于GRF文件,我创建了这个应用程序来帮助我进行日常图像转换。
从那以后就再也没有碰过这个代码了。。所以可能还有一些改进的空间。。但是快速测试,看起来工作正常(除了图像大小最大为600x600…与9年前的旧系统有关…可能是内存…可能是屏幕分辨率…不记得了)