6

大きな写真からサムネイルと中サイズの画像を生成する必要があります。これらの小さな写真は、オンライン ギャラリーに表示するためのものです。写真家の多くは、Adobe RGB を使用して JPEG 画像を送信しています。すべてのサムネイルと中サイズの画像に sRGB を使用したい

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

4

5 に答える 5

5

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

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

変換後、TranslateBitmapBits を使用してピクセルを調整します。イメージを DIBSection として操作する方が簡単な場合があります。

これを .asp で記述するのは少し複雑な場合があるため、これを行うグラフィック ライブラリを使用する方が簡単な場合があります。

于 2009-07-30T02:28:35.383 に答える
4

ColorConvertedBitmapクラスを見てください。

于 2009-07-30T00:43:49.873 に答える
3

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

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

または、小さなカラー管理エンジンを探すこともできます

于 2009-07-29T13:00:19.317 に答える
1

プロファイルでColorconvertedBitmapクラスを使用する短いサンプルがあるビットマップ変換クラスを見てください。

于 2010-03-22T09:28:33.313 に答える
0

サーバー側では、ImageMagick を呼び出して変換を行うことができます。

-colorspace コマンド ライン オプションへのリンクは次のとおりです。

この特定のオプションを使用したことはありませんが、希望どおりに動作するようです。

于 2009-07-27T20:55:38.643 に答える