将图像转换为GRF格式



我有一台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,我提出了这个过程。

  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配置opencv--libs--cfglags`

  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. 使用wine安装Ztools,方法是右键单击exe文件并选择用wine打开。

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

    cd ~/.wine/drive_c/ztools并复制徽标。如果您之前在那里创建了cp <path to tif image>/logo.tif .

  4. 现在是最后的步骤

    通过执行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年前的旧系统有关…可能是内存…可能是屏幕分辨率…不记得了)

相关内容

  • 没有找到相关文章

最新更新