2

我有一台 Zebra Gk420t 打印机,可以制作贴纸,我需要在上面打印图像。我读到图像必须是 GRF 格式(纯十六进制)。

有人知道如何在 Linux 中将图像转换为 GRF 格式吗?我在 Windows 上阅读了有关 Ztools 软件的信息,但在 Linux 上没有什么有趣的...

4

4 回答 4

8

Zebra 提供了一个可以将图形转换为 GRF的 Java API 。您可以使用命令行界面将图像转换为 GRF,如下所示:

java -jar ZSDK_API.jar 图形 myImage.jpeg -s myConvertedImage.GRF

于 2014-02-21T18:32:41.353 回答
1

有人知道如何在 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或摆弄横向/纵向模式。您还需要指定介质类型(标签尺寸)将打印机配置为默认介质类型。

于 2014-02-20T20:18:00.193 回答
1

对于 Ubuntu Linux,我想出了这个过程。

  1. 最好以未压缩格式获取源图像。示例包括 *.bmp、*.png 等。

  2. 在 Ubuntu 操作系统上安装 ImageMagick。通常它默认安装在较新版本的 Ubuntu 上。

  3. 使用 GIMP 根据需要的 DPI 缩放图像。首选三次、双三次或更好的缩放算法,以最大程度地减少缩放期间的数据丢失。

  4. 现在执行这些语句。

    使用安装 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;
}
  1. 在终端输入以下代码来编译代码:

    g++ -g rgb2gray.cc -o rgb2gray `pkg-config opencv --libs --cflags`

  2. 现在,执行以下命令。

    ./rgb2gray colorimage.png grayimage.png

    convert -compress none grayimage.png logo.tif

注意:请确保 tif 图像名称不超过 8 个字符,否则您可能会在后续步骤中遇到问题

  1. 谷歌互联网找到 ztoolssetup107.exe。我在这里找到了一个http://www.hjollum.com/jari/zzbug/ztools/download.php

  2. 通过右键单击exe文件并选择用wine打开来使用wine安装Ztools。

  3. 导航到安装 Ztools 的以下路径

    cd ~/.wine/drive_c/ztools并复制您之前在那里创建的 logo.tifcp <path to tif image>/logo.tif .

  4. 现在是最后的步骤

    通过执行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 个字符,最好是所有字母。如果不符合此条件,请重命名。然后重试该过程。

于 2014-11-04T22:55:25.517 回答
-1

试试这个... https://mega.co.nz/#!DJBgwYzD!09rTYzwi_2OfEVKN20osMlMdLClv2qyDXUbFYra82ks

它适用于 Windows,需要 comdlg32

早在 2005 年,当我用 C++ 为这些打印机编写一些库时,我遇到了很多问题,并在 ZPL 指南上找到了很多信息。

对于 GRF 文件,我创建了这个应用程序来帮助我进行日常图像转换。

从那以后就没有再碰过这段代码了..所以可能还有一些改进的空间..但是快速测试并且看起来工作正常(除了最大到600x600的图像大小..与9年前的旧系统相关的东西..也许内存..也许屏幕分辨率..不记得了)

于 2014-08-20T14:21:54.943 回答