Frage

Zusamenfassend:Ich möchte einem Bild ein ICC-Farbprofil zuweisen und es nicht anwenden.

Mehr Info:In meinem Unternehmen müssen wir eine PDF-Datei mit mehreren Ebenen in einer Ebene zusammenführen.Dazu fügen wir die PDF-Seite zu einem Bild zusammen und speichern das Bild dann als PDF.Bei der Erstellung des Bildes geht jedoch das Farbprofil des Bildes verloren.Wenn wir das Farbprofil in C# anwenden, wird das Profil von Device RGB (Standardausgabe von .NET) in das umgewandelt sRGB_IEC61966-2-1_no_black_scaling.icc Profil.Bei der Transformation verändern sich einige Farben.Anstatt das Farbprofil anzuwenden, müssen wir es zuweisen.Das bedeutet, dass keine Farben umgewandelt werden.

Weiß jemand, wie man das erreicht?Dank im Voraus.

War es hilfreich?

Lösung

Bevor Sie mit der Arbeit an Ihrer Bitmap beginnen (d. h.Bevor Sie mit dem Layout der einzelnen PDF-Komponenten beginnen, stellen Sie sicher, dass auf die Bitmap Ihr ​​Ziel-ICC-Profil angewendet wird.Sie sagen, dass Ihren einzelnen Bildern das erforderliche Profil innewohnt und dieses bei der Transformation verloren geht.Um das Profil beizubehalten, stellen Sie sicher, dass Sie die folgende Lademethode verwenden, die alle Farbprofilinformationen berücksichtigt:

http://msdn.microsoft.com/en-us/library/4sahykhd.aspx

Sie können diese erste Bitmap als Ziel für Ihre Kompositionsarbeit verwenden und sie später exportieren.Es sollte das ursprüngliche ICC-Profil beibehalten.

Alternativ können Sie die FreeImage- oder ImageMagick-Bibliotheken verwenden, um Farbprofile explizit zu verwalten.Beide verfügen über .NET-Wrapper und ermöglichen das Entfernen/Anwenden von ICC-Profildateien:

Kostenlose Bildbibliothek

Image Magick-Befehlszeilenprofiloptionen

Image Magick .NET Wrapper

Ich hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top