我试图将.png
文件转换为.pcx
文件。该场景如下:使用c将png文件转换为pcx文件#
我正在使用TSC TTP-343C标签打印机。在标签上我必须打印图像。 TSC为开发人员提供library documentation。由于我只能使用pcx文件在这些标签上打印图像,因此我必须将所有图像转换为pcx图像。任何其他格式或甚至不正确的pcx格式(例如,如果用户刚更名为文件结尾)将不会被打印在标签上。
我看过this post链接到Magick
库。在这篇文章中,OP正试图将一个bmp文件转换为一个pcx文件,这不是我想要达到的。我查看了关于converting images的Magick
documentation。我试图将图像转换为:
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库的方法可以找到here。
downloadpcx(A,B)
描述:下载单PCX图形文件给打印机参数:
一个:字符串;文件名(包括文件检索 路径)
B:字符串,是在 打印机内存要下载的文件名(请用大写字母)
来源:http://www.tscprinters.com/cms/upload/download_en/DLL_instruction.pdf
编辑二:
正在工作(使用Photoshop创建)的pcx文件看起来像这样(如果它可以帮助你):
你看到哪些[PCX格式]什么(https://en.wikipedia.org/wiki/PCX)可以吗?或者你可以链接到一个工作的例子?你需要颜色吗? – TaW
@TaW我在文档中找不到特定的格式。我添加了一个工作示例(仅适用于正确转换的pcx文件)到我的问题,请看看。颜色是不需要的。我想,打印机甚至无法打印颜色。 – Roman
@TaW我添加了一个正在处理我的问题的PCX文件的屏幕截图。希望它可以帮助你。 – Roman