Question

Je dois générer des images miniatures et moyennes de grandes photos. Ces photos plus petites sont pour l'affichage dans une galerie en ligne. La plupart des photographes soumettons des images JPEG en utilisant Adobe RVB. Je voudrais utiliser sRGB pour toutes les vignettes et les images de taille moyenne

J'utilise dotnet (asp.net) et ont besoin d'un moyen de convertir Adobe RVB sRVB sans perte de qualité.

Était-ce utile?

La solution

Infos générales: Les fichiers Jpg ont 8 bits de rouge, vert et bleu, que ce soit sRVB, Adobe RVB, ou plaine ol » RGB. Le descripteur ICC détermine l'espace couleur. Parfois, cela est intégré dans le fichier jpg. Parfois, il y a un drapeau pour désigner sRGB, balise Exif Colorspace A001 = 1. Il n'y a pas de drapeau standard pour Adobe RVB, mais certaines applications et caméras utilisent 65535 (étalonnée) pour Adobe RVB dans le exif A001.

Pour convertir un fichier jpg à partir d'un profil ICC (colorspace) à un autre, vous pouvez utiliser CreateColorTransform pour créer un transorm entre les espaces de couleurs. Vous devrez fournir le profil ICC pour la source (Adobe RVB) et de destination (sRVB) espaces de couleurs.

Une fois que vous avez la transformation, utilisez TranslateBitmapBits pour régler les pixels. Il peut être plus facile de travailler avec l'image en tant DIBSection.

Cela peut être un peu complexe à écrire dans .asp, il pourrait être plus facile d'utiliser une bibliothèque graphique qui fait cela.

Autres conseils

Jetez un oeil à la classe ColorConvertedBitmap .

Vous devez utiliser l'option ImageMagic -profile , je crois que -colorspace option ne vous aidera pas là.

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

Vous pouvez aussi chercher

Jetez un oeil à Le bitmap transformer les classes qui a un court exemple d'utilisation de la classe ColorconvertedBitmap avec un profil.

Du côté du serveur, vous pouvez appeler à ImageMagick et laisser faire la conversion pour vous.

Voici un lien vers l'option de ligne de commande -colorspace

Je ne l'ai pas utilisé cette option particulière, mais il semble faire ce que vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top