大きな写真からサムネイルと中サイズの画像を生成する必要があります。これらの小さな写真は、オンライン ギャラリーに表示するためのものです。写真家の多くは、Adobe RGB を使用して JPEG 画像を送信しています。すべてのサムネイルと中サイズの画像に sRGB を使用したい
dotnet (asp.net) を使用していますが、品質を損なうことなく Adobe RGB から sRGB に変換する方法が必要です。
大きな写真からサムネイルと中サイズの画像を生成する必要があります。これらの小さな写真は、オンライン ギャラリーに表示するためのものです。写真家の多くは、Adobe RGB を使用して JPEG 画像を送信しています。すべてのサムネイルと中サイズの画像に sRGB を使用したい
dotnet (asp.net) を使用していますが、品質を損なうことなく Adobe RGB から sRGB に変換する方法が必要です。
背景情報: jpg ファイルには、sRGB、Adobe RGB、通常の 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 で記述するのは少し複雑な場合があるため、これを行うグラフィック ライブラリを使用する方が簡単な場合があります。
ColorConvertedBitmapクラスを見てください。
ImageMagic -profileオプションを使用する必要があります。 -colorspace オプションは役に立たないと思います。
convert image.jpg -profile sRGB.icc rgb_image.jpg
または、小さなカラー管理エンジンを探すこともできます
プロファイルでColorconvertedBitmapクラスを使用する短いサンプルがあるビットマップ変換クラスを見てください。
サーバー側では、ImageMagick を呼び出して変換を行うことができます。
-colorspace コマンド ライン オプションへのリンクは次のとおりです。
この特定のオプションを使用したことはありませんが、希望どおりに動作するようです。