Frage

ich brauche Thumbnail und mittelgroße Bilder von großen Fotos zu erzeugen. Diese kleineren Fotos sind für die Anzeige in einer Online-Galerie. Viele der Fotografen einreichen JPEG-Bilder mit Adobe RGB. Ich möchte sRGB verwenden, für alle Thumbnails und mittelgroße Bilder

Ich bin mit Dotnet (asp.net) und eine Art und Weise muß von Adobe RGB zu sRGB konvertieren, ohne irgendeine Qualität zu verlieren.

War es hilfreich?

Lösung

Hintergrundinfo: Jpg-Dateien haben 8 Bits von Rot, Grün und Blau, ob sRGB, Adobe RGB oder plain ol‘RGB. Der ICC-Deskriptor bestimmt den Farbraum. Manchmal wird dies in der jpg-Datei eingebettet. Manchmal gibt es ein Flag sRGB zu bezeichnen, Exif Farbraum-Tag a001 = 1. Es gibt keine Standard-Flag für Adobe RGB, aber einige Anwendungen und Kameras verwenden 65535 (unkalibrierten) für Adobe RGB im Exif-Tag A001.

Um eine jpg-Datei aus von einem ICC-Profil (Farbraum) in ein anderes zu konvertieren, können Sie verwenden, um eine CreateColorTransform transorm zwischen den Farbräumen zu schaffen. Sie werden das ICC-Profil für die Quelle (Adobe RGB) und Ziel (sRGB) Farbräume zur Verfügung stellen müssen.

Nachdem Sie die Transformation verwenden TranslateBitmapBits die Pixel einzustellen. Es kann einfacher sein, mit dem Bild als DIBSection zu arbeiten.

Dies kann ein wenig komplex sein in .asp zu schreiben, so dass es einfacher sein könnte, eine Grafikbibliothek zu verwenden, die dies tut.

Andere Tipps

Hier finden Sie aktuelle ColorConvertedBitmap Klasse .

Sie sollten die ImageMagick benutzen -profile Option, glaube ich, dass -colorspace Option wird Ihnen nicht helfen.

convert image.jpg -profile sRGB.icc rgb_image.jpg

Alternativ können Sie sich für wenig Farbmanagement-Engine

Hier finden Sie aktuelle Die Bitmap-Transformation Klassen , die eine kurze Probe mit der ColorConvertedBitmap-Klasse mit einem Profil hat.

Auf der Serverseite konnte man zu ImageMagick rufen und lassen Sie es die Konvertierung für Sie tun.

Hier ist ein Link auf die -colorspace Befehlszeilenoption

Ich habe diese bestimmte Option nicht genutzt, aber es scheint zu tun, was Sie wollen.

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