我正在尝试将一个.png文件转换为一个.pcx文件。设想如下:
我用的是TSCTTP-343C标签打印机。在标签上我必须打印图像。TSC为开发人员提供了一个图书馆文献。由于我只能使用pcx文件在这些标签上打印图像,所以我必须将所有图像转换为pcx图像。任何其他格式,甚至不正确的pcx格式(例如,如果用户刚刚重命名文件结束)将不会打印在标签上。
我见过这个职位链接到Magick库。在这篇文章中,OP试图将bmp文件转换为pcx文件,这并不是我想要实现的。我看了Magick 文档关于转换图像。我试着把这些图像转换成:
using (MagickImage img = new MagickImage(png)) // png is a string containing the path of the .png file
{
img.Format = MagickFormat.Pcx;
img.Write(pcx); // pcx is a string containing the path of the new .pcx file
}不幸的是,这没有正确地保存图像。标签打印机仍然无法打印标签上的图像。我试着打印一个正确的pcx文件,这个很好。所以我想它仍然不能工作的唯一原因是转换后的文件不是一个真正的pcx文件。
有没有办法进行这样的转换?如果是,我怎样才能做到这一点?我的应用程序是一个windows窗体应用程序,用C#编写,使用.NET框架4.5.2编写。
编辑:
在这里,您可以看到一个如何打印带有pcx文件的标签的示例:
TSC.openport(sPrinterName);
TSC.setup("100", "100", "4", "8", "1", "3.42", "0");
TSC.clearbuffer();
TSC.downloadpcx(@"\\PathToPcxFile\test.pcx", "test.pcx");
TSC.sendcommand("PUTPCX 35," + y + ",\"test.pcx\"");
TSC.printlabel("1", "1");
TSC.closeport();此代码在实际的pcx文件上运行良好。TSC库的方法可以找到这里。
下载(a,b) 说明:下载mono图形文件到打印机参数: 字符串;文件名(包括文件检索路径) 字符串,要在打印机内存中下载的文件的名称(请使用大写字母) 来源:instruction.pdf
编辑II:
正在工作的pcx文件(使用photoshop创建)如下(如果它对您有所帮助):

发布于 2016-03-04 08:54:24
PCX文件 (充其量)基于调色板。
因此,要创建有效的pcx输出,需要添加以下一行:
using (MagickImage image = new MagickImage(sourcePng))
{
image.Format = MagickFormat.Pcx;
image.ColorType = ColorType.Palette; // <----
image.Write(targetPcx);
}您的图像为pcx文件
https://stackoverflow.com/questions/35777327
复制相似问题