2009-07-23 24 views
5

大きな写真からサムネイルと中サイズの画像を生成する必要があります。 これらの小さい写真は、オンラインギャラリーに表示されます。多くのカメラマンがAdobe RGBを使用してJPEG画像を提出しています。 すべてのサムネイルと中サイズの画像にsRGBを使用したいWindows(.Net)でJPEG色空間(Adobe RGBからsRGB)に変換

dotnet(asp.net)を使用していますが、品質を損なうことなくAdobe RGBからsRGBに変換する方法が必要です。

答えて

4

背景情報:jpgファイルには、sRGB、Adobe RGB、またはplain olのRGBのいずれかの赤、緑、青の8ビットがあります。 ICC記述子は色空間を決定する。これはjpgファイルに埋め込まれることもあります。場合によっては、sRGB、Exif Colorspaceタグa001 = 1を指定するフラグがあります。Adobe RGBには標準のフラグはありませんが、一部のアプリケーションとカメラでは、exifタグA001のAdobe RGBに対して65535(未校正)を使用します。

jpgファイルを1つのICCプロファイル(色空間)から別のプロファイルに変換するには、CreateColorTransformを使用して色空間間にトランノムを作成します。ソース(Adobe RGB)および宛先(sRGB)カラースペースのICCプロファイルを指定する必要があります。

変換後、TranslateBitmapBitsを使用してピクセルを調整します。画像をDIBSectionとして扱うほうが簡単かもしれません。

これは.aspに書き込むのが少し複雑かもしれないので、これを行うグラフィックスライブラリを使用する方が簡単かもしれません。

1

ImageMagic -profileオプションを使用する必要があります。私は、-colorspaceオプションはあなたには役に立たないと信じています。

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

代わりにあなたがlittle color management engine

4

を探すことができますがColorConvertedBitmap classを見てみましょう。

+0

リンクが正常に機能しているようです。 –

+0

@ジョンありがとう、私は答えを更新しました。 –

1

The bitmap transform classesをご覧ください。プロファイルでColorconvertedBitmapクラスを使用する短いサンプルがあります。

関連する問題