我有一台Zebra Gk420t打印机,可以让我制作贴纸,我需要在它们上面打印图像。我读到图像必须是GRF格式(纯十六进制)。
有人知道如何在Linux中将图像转换为GRF格式?我在Windows上读到了关于Ztools的软件,但在Linux上没什么有趣的......
答案 0 :(得分:8)
Zebra provides a Java API可以将图形转换为GRF。您可以使用命令行界面将图像转换为GRF,如下所示:
java -jar ZSDK_API.jar graphic myImage.jpeg -s myConvertedImage.GRF
答案 1 :(得分:1)
有人知道如何在Linux中将图像转换为GRP格式?
你过分思考这个。
Modern versions of CUPS ship with Zebra printer drivers。 CUPS是大多数现代* nixes使用的打印系统,包括大多数Linux发行版。
通过CUPS设置打印机将允许您打印任何支持的内容,包括PDF,JPEG,GIF和PNG。只需使用打印机名称和文件名调用/usr/bin/lp
或/usr/bin/lpr
即可。有关所需的确切语法,请参阅其手册页。例如,
/usr/bin/lp -d Zebra_GK420t ./foo.png
请注意,您可能需要设置some command line options,包括ppi=203
或摆弄横向/纵向模式。您还需要指定介质类型(标签大小)或让打印机配置默认介质类型。
答案 2 :(得分:1)
对于Ubuntu Linux,我提出了这个过程。
最好以未压缩格式获取源图像。示例包括* .bmp,* .png等
在Ubuntu OS上安装ImageMagick。通常它默认安装在较新版本的Ubuntu上。
使用GIMP根据需要缩放图像DPI。更喜欢立方,双立方或更好的缩放算法,以最大限度地减少缩放过程中的数据丢失。
现在执行这些陈述。
使用
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.tif cp <path to tif image>/logo.tif .
现在进行最后的步骤
执行dosbox .
并在Dosbox终端类型ZIMAGLIT.EXE logo.tif logo.grf
内打开Dosbox,就是这样!!!
注意:如果您没有看到ZIMAGLIT.EXE,则可能需要通过Google获取。我希望上面的ZImage链接包含相同的内容。
<强>故障排除:强>
问。为什么我的GRF全部为0?
A。因为源单色图像应该是二进制的(在rgb2gray转换之后)。即图像上的每个像素应该是黑色或同时。避免使用灰色阴影或将图像中的灰色区域转换为黑色(像素值= 255)。然后重试该过程。
问。 ZIMAGLIT.EXE无法将我的TIF图像转换为GRF?
A。因为tif图像名称(不包括tif扩展名)应小于或等于8个字符,最好是所有字母。如果它与此条件不匹配,则重命名相同。然后重试该过程。
答案 3 :(得分:-1)
试试这个...... https://mega.co.nz/#!DJBgwYzD!09rTYzwi_2OfEVKN20osMlMdLClv2qyDXUbFYra82ks
适用于Windows并需要comdlg32
我在2005年遇到了很多问题,当时用C ++为这些打印机编写了一些库,并发现了很多关于ZPL指南的信息。
对于GRF文件,我创建了这个应用程序,以帮助我进行日常图像转换。
此后不再触及此代码..所以可能有一些改进空间..但是快速测试并且看起来工作正常(除了图像大小最大为600x600 ...与旧系统相关的东西9年前..也许记忆..也许屏幕分辨率..不记得了)