2010-12-13 3 views
3

Ich arbeite an einem Projekt, das im Kern das Hinzufügen von Text zu einem Bild beinhaltet, als Beispiel für ein Hintergrundbild (B) und etwas Text in einem angegebene Schriftart, Schriftgröße und Schriftart (A) die beide werden zusammen gemischt, um (C): Example ImageSo fügen Sie Text mit dem CMYK ColorSpace in .NET hinzu 4

das schließliche Ergebnis ist zu gehen mit diesen Bildern zu drucken, so dass die Hintergründe des CMYK-Farbraum verwenden und ich müssen den gesamten Prozess in CMYK behalten oder die Farben beim Drucken falsch aussehen. (Anmerkung: ausgezeichnete article on Color Spaces and .NET on CodeProject)

ich verschiedene Weise versucht haben, diese Bilder von Compositing zusammen:

  • System.Drawing implizit konvertiert alles RGB
  • System.Windows.Media.Imaging - nein Compositing-Methoden
  • System.XAML/WPF - sehr vielversprechend jedoch funktioniert RenderTargetBitmap nicht in PixelFormats.Cmyk32 (wirft eine ArgumentException).

Ich habe betrachtet, aber nicht Dritte kommerzielle Komponenten versucht, da die Preise steigen zu beginnen scheinen hoch und weiter:

Ist das in .NET 4 möglich?

Edit: Weil jemand anderes könnte etwas etwas anders und konvertieren tun wollen nur ein beliebiges Format, dass Windows.System.Media.Imaging der Lage ist, hier in CMYK zu laden ist der Code, die ich verwendet habe:

var bitmapConverter = new FormatConvertedBitmap(); 
bitmapConverter.BeginInit(); 
bitmapConverter.Source = sourceImage; 
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32; 
bitmapConverter.EndInit(); 

Zur Klärung der Der obige Code konvertiert eine Bildquelle in CMYK32 (keine Transparenz), aber wenn Sie bestimmte Klassen verwenden (nämlich RenderTargetBitmap wird die obige ImageSource eine Ausnahme auslösen).

Antwort

1

Wenn Sie viel auf SO geschaut haben, haben Sie diese Links wahrscheinlich schon gesehen. Aber, nur für den Fall, hier sind einige Links, die ich gefunden habe, die für Sie hilfreich sein könnten.

Hier ist ein Link von hier auf SO über mit CMYK arbeitet in .NET:

Convert RGB color to CMYK?

Speziell erwähnt es Farbprofile verwenden und Windows Color Management APIs.

Hier ist ein weiterer SO Link:

How to convert CMYK to RGB programmatically in indesign

Ein Antworter erwähnt, dass es kein Exa gibt ct Konvertierung zwischen CMYK und RGB.Hier

ist ein Link über Compositing zwei CMYK-Bilder ohne RGB-Umwandlung:

The are any CMYK graphics library?

Der Antworter schlägt eine kommerzielle Produkt, das er mit dem Unternehmen assoziiert wird.

+0

Vielen Dank für die Buchung, ich habe mich umgesehen und einige Ressourcen für die Konvertierung von Bitmap-Formaten mit .NET gefunden (ein Code-Beispiel in meiner Frage für googlers), es ist der Schlüssel für die Qualität der gedruckten Bilder für die Quellbilder im CMYK-Format gehalten werden. –

+0

Ich habe mir Atlasoft DotImage angeschaut, die "Pro" -Version scheint zu tun, was ich machen will, allerdings kostet sie etwa 3000 US-Dollar. –

+0

Beachten Sie, dass die Umwandlung von RGB zu CMYK nicht umkehrbar ist - Sie verlieren Farbinformationen. –

Verwandte Themen