Sto provando a convertire un file .png
in un file .pcx
. Lo scenario è il seguente:convertire un file png in un file pcx utilizzando C#
Sto utilizzando una stampante di etichette TSC TTP-343C. Sulle etichette devo stampare le immagini. TSC fornisce uno library documentation per gli sviluppatori. Dal momento che posso stampare solo immagini su quelle etichette usando i file PCX, devo convertire tutte le immagini in immagini PCX. Qualsiasi altro formato o formato pcx non corretto (ad esempio se l'utente ha appena rinominato il file che termina) non verrà stampato sull'etichetta.
Ho visto this post collegamento alla libreria Magick
. In questo post, l'OP sta cercando di convertire un file bmp in un file pcx che non è esattamente quello che cerco di ottenere. Ho guardato il Magick
documentation su converting images. Ho provato a convertire le immagini come:
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
}
Sfortunatamente questo non sta salvando l'immagine correttamente. La stampante per etichette non può ancora stampare l'immagine sull'etichetta. Ho provato a stampare un file pcx corretto e questo ha funzionato bene. Quindi credo che l'unica ragione per cui non funziona ancora è che il file convertito non è un vero file pcx.
C'è un modo per fare una tale conversione? Se sì, come posso ottenerlo? La mia applicazione è un'applicazione Windows Form, scritta in C# usando .NET framework 4.5.2.
EDIT:
Qui potete vedere un esempio di come stampare un'etichetta con un file 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();
Questo codice funziona bene su file PCX reali. I metodi della libreria TSC possono trovare here.
downloadpcx (a, b)
Descrizione: Scarica mono PCX file grafici al parametro della stampante:
un: string; il nome del file (compreso il recupero dei file percorso)
B: stringa, i nomi dei file che devono essere scaricati nella memoria della stampante (Si prega di utilizzare le lettere maiuscole)
Fonte: http://www.tscprinters.com/cms/upload/download_en/DLL_instruction.pdf
EDIT II:
Un file pcx che funziona (creato utilizzando Photoshop) ha un aspetto simile a questo (se ti aiuta):
Hai visto qualcosa su cui [formato PCX] (https://en.wikipedia.org/wiki/PCX) è ok? O puoi collegarti ad un esempio di lavoro? Avrai bisogno di colori? – TaW
@TaW Non riesco a trovare un formato specifico nella documentazione. Ho aggiunto un esempio di lavoro (funzionando solo con i file pcx convertiti corretti) alla mia domanda, per favore dare un'occhiata. I colori non sono necessari La stampante non è nemmeno in grado di stampare i colori, credo. – Roman
@TaW Ho aggiunto uno screenshot di un file PCX che sta funzionando alla mia domanda. Spero che ti aiuti. – Roman