Come aggiungere testo alle immagini con il CMYK ColorSpace in .NET 4
Domanda
Sto lavorando su un progetto che al nucleo si comprende l'aggiunta di testo a un'immagine, in modo come un esempio dato un'immagine di sfondo (B) e del testo in un font specifico, dimensione in punti e il carattere (A) i due sono mescolati insieme ai prodotti (C):
Il risultato finale è quello di andare per la stampa con queste immagini, così gli sfondi utilizzano la Spazio colore CMYK e ho bisogno di mantenere l'intero processo entro CMYK o colori guardare storto in fase di stampa. ( Nota: su spazi di colore e .NET su CodeProject )
Ho provato diversi modi di compositing queste immagini insieme:
- System.Drawing converte implicitamente tutto per RGB
- System.Windows.Media.Imaging - nessun metodo di compositing
- System.Xaml / WPF -. Molto promettente ma RenderTargetBitmap non funziona in PixelFormats.Cmyk32 (lancia un ArgumentException)
Ho guardato ma non provato componenti commerciali di terze parti come i prezzi sembrano iniziare ad alta e continuare a salire:
- Graphics Mill (~ US $ 1800 si parla di 12/2010)
- Atalasoft DotImage (~ US $ 3300 a partire dal 12/2010)
Questo è possibile in .NET 4?
Modifica
Perché qualcun altro potrebbe desiderare di fare qualcosa di leggermente diverso e solo convertire qualsiasi formato che Windows.System.Media.Imaging
è in grado di caricare in CMYK qui è il codice che ho usato:
var bitmapConverter = new FormatConvertedBitmap();
bitmapConverter.BeginInit();
bitmapConverter.Source = sourceImage;
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32;
bitmapConverter.EndInit();
Per chiarire il codice sopra converte una sorgente d'immagine per CMYK32 (nessuna trasparenza) se si utilizza alcune classi (cioè RenderTargetBitmap
passando sopra ImageSource sarà un'eccezione).
Soluzione
Se avete guardato molto su SO, probabilmente avete già visto questi collegamenti. Ma, nel caso, qui ci sono alcuni link che ho trovato che potrebbe essere utile a voi.
Questo è il link da qui su SO di lavorare con CMYK in .NET:
convertire il colore RGB a CMYK?
In particolare si parla con i profili di colore e gestione Windows API colori .
Ecco un altro link SO:
Come convertire CMYK a RGB a livello di codice in InDesign
Una risposto afferma che non v'è una conversione esatta tra CMYK e RGB.
Ecco un link sulla composizione di due immagini CMYK senza convertire in RGB:
L'sono qualsiasi libreria grafica CMYK?
Il risposto suggerisce di utilizzare un prodotto commerciale che è affiliato con.