我正在尝试将.png
文件转换为.pcx
文件。场景如下:
我正在使用 TSC TTP-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 窗体应用程序,使用 .NET 框架 4.5.2 用 C# 编写。
编辑:
在这里您可以看到如何使用 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 库的方法可以在这里找到。
下载pcx(a,b)
说明:下载单声道 PCX 图形文件到打印机参数:
一:字符串;文件名(包括文件检索路径)
b:字符串,要下载到打印机内存中的文件名(请使用大写字母)
来源:http ://www.tscprinters.com/cms/upload/download_en/DLL_instruction.pdf
编辑二:
正在工作的 pcx 文件(使用 photoshop 创建)如下所示(如果它对您有帮助):