ImageCms
モジュール¶
ImageCms
モジュールは、Kevin CazabonのPyCMSライブラリをベースにしたLittleCMS2カラーマネージメントエンジンを使用して、カラープロファイル管理サポートを提供します。
- class PIL.ImageCms.ImageCmsProfile(profile: str | SupportsRead[bytes] | CmsProfile)[ソース]¶
- __init__(profile: str | SupportsRead[bytes] | CmsProfile) None [ソース]¶
- パラメーター:
profile – ファイル名を表す文字列、プロファイルを含むファイル様オブジェクト、または低レベルのプロファイルオブジェクトのいずれか。
- class PIL.ImageCms.ImageCmsTransform(input: ~PIL.ImageCms.ImageCmsProfile, output: ~PIL.ImageCms.ImageCmsProfile, input_mode: str, output_mode: str, intent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, proof: ~PIL.ImageCms.ImageCmsProfile | None = None, proof_intent: ~PIL.ImageCms.Intent = Intent.ABSOLUTE_COLORIMETRIC, flags: ~PIL.ImageCms.Flags = <Flags.NONE: 0>)[ソース]¶
ベースクラス:
ImagePointHandler
変換。これは手続き型API、または標準の
point()
メソッドで使用できます。output.info['icc_profile']
に、出力プロファイルが返されます。
定数¶
- class PIL.ImageCms.Intent(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]¶
基底クラス:
IntEnum
- PERCEPTUAL = 0¶
- RELATIVE_COLORIMETRIC = 1¶
- SATURATION = 2¶
- ABSOLUTE_COLORIMETRIC = 3¶
- class PIL.ImageCms.Direction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]¶
基底クラス:
IntEnum
- INPUT = 0¶
- OUTPUT = 1¶
- PROOF = 2¶
- class PIL.ImageCms.Flags(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[ソース]¶
基底クラス:
IntFlag
フラグとドキュメントは
lcms2.h
から取得しています。- NONE = 0¶
- NOCACHE = 64¶
1 ピクセルキャッシュを抑制します
- NOOPTIMIZE = 256¶
最適化を抑制します
- NULLTRANSFORM = 512¶
いずれにしても変換しません
- GAMUTCHECK = 4096¶
ガマット外のアラーム
- SOFTPROOFING = 16384¶
ソフトプルーフを実行します
- BLACKPOINTCOMPENSATION = 8192¶
- NOWHITEONWHITEFIXUP = 4¶
スカムドットを修正しません
- HIGHRESPRECALC = 1024¶
より多くのメモリを使用して、精度を向上させます
- LOWRESPRECALC = 2048¶
より少ないメモリを使用して、リソースを最小限に抑えます
- USE_8BITS_DEVICELINK = 8¶
8 ビットのデバイスリンクを作成します
- GUESSDEVICECLASS = 32¶
デバイスクラスを推測します (
transform2devicelink
の場合)
- KEEP_SEQUENCE = 128¶
デバイスリンク作成のためにプロファイルシーケンスを保持します
- FORCE_CLUT = 2¶
CLUT 最適化を強制します
- CLUT_POST_LINEARIZATION = 1¶
可能な場合は後線形化テーブルを作成します
- CLUT_PRE_LINEARIZATION = 16¶
可能な場合は事前線形化テーブルを作成します
- NONEGATIVES = 32768¶
浮動小数点変換で負数を防ぎます
- COPY_ALPHA = 67108864¶
アルファチャネルは
cmsDoTransform()
でコピーされます
- NODEFAULTRESOURCEDEF = 16777216¶
関数¶
- PIL.ImageCms.applyTransform(im: Image, transform: ImageCmsTransform, inPlace: bool = False) Image | None [ソース]¶
(pyCMS) 指定された画像に変換を適用します。
im.mode != transform.input_mode
の場合、PyCMSError
が発生します。inPlace
がTrue
で、かつtransform.input_mode != transform.output_mode
の場合、PyCMSError
が発生します。im.mode
、transform.input_mode
、またはtransform.output_mode
が pyCMSdll または変換に使用したプロファイルでサポートされていない場合、PyCMSError
が発生します。変換の適用中にエラーが発生した場合、
PyCMSError
が発生します。この関数は、事前に計算された変換 (ImageCms.buildTransform() または ImageCms.buildTransformFromOpenProfiles() から) を画像に適用します。変換は複数の画像に使用でき、同じ変換を複数回行う場合に計算時間を大幅に節約できます。
戻り値として新しい画像を受け取る代わりに、im をインプレースで変更する場合は、
inPlace
をTrue
に設定します。これは、transform.input_mode
とtransform.output_mode
が同じ場合にのみ実行できます。これは、一部のモードではバッファ サイズが異なるため、インプレースでモードを変更できないためです。デフォルトの動作は、モードtransform.output_mode
で同じ寸法の新しいImage
オブジェクトを返すことです。- パラメーター:
- 戻り値:
None
、またはinPlace
の値に応じて、新しいImage
オブジェクトのいずれか。プロファイルは、画像のinfo['icc_profile']
に返されます。- 例外:
- PIL.ImageCms.buildProofTransform(inputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, outputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, proofProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, inMode: str, outMode: str, renderingIntent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, proofRenderingIntent: ~PIL.ImageCms.Intent = Intent.ABSOLUTE_COLORIMETRIC, flags: ~PIL.ImageCms.Flags = <Flags.SOFTPROOFING: 16384>) ImageCmsTransform [ソース]¶
(pyCMS)
inputProfile
からoutputProfile
へのマッピングを行う ICC 変換を構築しますが、proofProfile
デバイスで得られる結果をシミュレートしようとします。指定された入力、出力、またはプルーフプロファイルが有効なファイル名ではない場合、
PyCMSError
が発生します。変換の作成中にエラーが発生した場合、
PyCMSError
が発生します。inMode
またはoutMode
がoutputProfile
(または pyCMS) でサポートされているモードではない場合、PyCMSError
が発生します。この関数は、
inputProfile
からoutputProfile
への ICC 変換を構築して返しますが、renderingIntent
およびproofRenderingIntent
を使用して、色域外の色をどのように処理するかを決定することで、proofProfile
デバイスで得られる結果をシミュレートしようとします。これは「ソフトプルーフ」として知られています。これは、inMode
の画像から outMode カラーフォーマット (PIL モード、つまり "RGB"、"RGBA"、"CMYK" など) の画像に変換する場合にのみ機能します。結果として得られる変換オブジェクトの使用法は、ImageCms.buildTransform() の場合とまったく同じです。
プルーフプロファイルは、通常、出力デバイスを使用して、色を判断するために実際の印刷を行うのがより難しい場合や、より複雑な場合、または時間がかかる場合に、
proofProfile
デバイスで最終的に印刷/表示される画像の様子を把握するために使用されます。一般的に、これは出力デバイスがモニターまたは昇華型プリンターなどであり、シミュレートされたデバイスがより高価、複雑、または時間がかかるものである (色判断のために実際の印刷を困難にする) ことを意味します。ソフトプルーフは基本的に、出力デバイスの色をシミュレートされるデバイスの色と一致するように調整することで機能します。ただし、シミュレートされたデバイスの色域が出力デバイスよりもはるかに広い場合、わずかな結果が得られる可能性があります。
- パラメーター:
inputProfile – この変換に使用する ICC 入力プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
outputProfile – この変換に使用する ICC 出力 (通常はモニター) プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
proofProfile – この変換に使用する ICC プルーフプロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
inMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
outMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
renderingIntent –
入力->プルーフ (シミュレート) 変換に使用するレンダリングインテントを指定する整数 (0~3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
proofRenderingIntent –
プルーフ->出力変換に使用するレンダリングインテントを指定する整数 (0~3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
flags – 追加のフラグを指定する整数 (0~...)
- 戻り値:
CmsTransform クラス オブジェクト。
- 例外:
- PIL.ImageCms.buildProofTransformFromOpenProfiles(inputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, outputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, proofProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, inMode: str, outMode: str, renderingIntent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, proofRenderingIntent: ~PIL.ImageCms.Intent = Intent.ABSOLUTE_COLORIMETRIC, flags: ~PIL.ImageCms.Flags = <Flags.SOFTPROOFING: 16384>) ImageCmsTransform ¶
(pyCMS)
inputProfile
からoutputProfile
へのマッピングを行う ICC 変換を構築しますが、proofProfile
デバイスで得られる結果をシミュレートしようとします。指定された入力、出力、またはプルーフプロファイルが有効なファイル名ではない場合、
PyCMSError
が発生します。変換の作成中にエラーが発生した場合、
PyCMSError
が発生します。inMode
またはoutMode
がoutputProfile
(または pyCMS) でサポートされているモードではない場合、PyCMSError
が発生します。この関数は、
inputProfile
からoutputProfile
への ICC 変換を構築して返しますが、renderingIntent
およびproofRenderingIntent
を使用して、色域外の色をどのように処理するかを決定することで、proofProfile
デバイスで得られる結果をシミュレートしようとします。これは「ソフトプルーフ」として知られています。これは、inMode
の画像から outMode カラーフォーマット (PIL モード、つまり "RGB"、"RGBA"、"CMYK" など) の画像に変換する場合にのみ機能します。結果として得られる変換オブジェクトの使用法は、ImageCms.buildTransform() の場合とまったく同じです。
プルーフプロファイルは、通常、出力デバイスを使用して、色を判断するために実際の印刷を行うのがより難しい場合や、より複雑な場合、または時間がかかる場合に、
proofProfile
デバイスで最終的に印刷/表示される画像の様子を把握するために使用されます。一般的に、これは出力デバイスがモニターまたは昇華型プリンターなどであり、シミュレートされたデバイスがより高価、複雑、または時間がかかるものである (色判断のために実際の印刷を困難にする) ことを意味します。ソフトプルーフは基本的に、出力デバイスの色をシミュレートされるデバイスの色と一致するように調整することで機能します。ただし、シミュレートされたデバイスの色域が出力デバイスよりもはるかに広い場合、わずかな結果が得られる可能性があります。
- パラメーター:
inputProfile – この変換に使用する ICC 入力プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
outputProfile – この変換に使用する ICC 出力 (通常はモニター) プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
proofProfile – この変換に使用する ICC プルーフプロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
inMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
outMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
renderingIntent –
入力->プルーフ (シミュレート) 変換に使用するレンダリングインテントを指定する整数 (0~3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
proofRenderingIntent –
プルーフ->出力変換に使用するレンダリングインテントを指定する整数 (0~3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
flags – 追加のフラグを指定する整数 (0~...)
- 戻り値:
CmsTransform クラス オブジェクト。
- 例外:
- PIL.ImageCms.buildTransform(inputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, outputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, inMode: str, outMode: str, renderingIntent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, flags: ~PIL.ImageCms.Flags = <Flags.NONE: 0>) ImageCmsTransform [source]¶
(pyCMS)
inputProfile
からoutputProfile
へのマッピングを行う ICC 変換を構築します。特定の画像に変換を適用するには、applyTransform を使用してください。指定された入力または出力プロファイルが有効なファイル名でない場合、
PyCMSError
が発生します。変換の作成中にエラーが発生した場合、PyCMSError
が発生します。inMode
またはoutMode
がoutputProfile
(または pyCMS) でサポートされているモードではない場合、PyCMSError
が発生します。この関数は、
inputProfile
からoutputProfile
への ICC 変換を、renderingIntent
を使用して、色域外の色をどのように処理するかを決定します。これは、inMode
の画像からoutMode
カラーフォーマット (PIL モード、つまり "RGB"、"RGBA"、"CMYK" など) の画像への変換にのみ機能します。変換の構築は ImageCms.profileToProfile() のオーバーヘッドのかなりの部分を占めるため、同じ入力/出力設定で複数の画像を変換する予定がある場合、これにより時間を節約できます。変換オブジェクトを取得したら、ImageCms.applyProfile() で使用して、変換のルックアップテーブルを再計算することなく画像を変換できます。
pyCMS が変換へのハンドルを直接ではなくクラスオブジェクトを返す理由は、変換が対象とする PIL 入力/出力モードを追跡する必要があるためです。これらの属性はオブジェクトの
inMode
およびoutMode
属性に格納されます (実際に必要であれば手動でオーバーライドできますが、それが役に立つ場合や機能するような場合は不明です)。- パラメーター:
inputProfile – この変換に使用する ICC 入力プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
outputProfile – この変換に使用する ICC 出力プロファイルへの有効なファイルパスを示す文字列、またはプロファイルオブジェクト
inMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
outMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
renderingIntent –
変換に使用するレンダリングインテントを指定する整数 (0-3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
flags – 追加のフラグを指定する整数 (0~...)
- 戻り値:
CmsTransform クラス オブジェクト。
- 例外:
- PIL.ImageCms.buildTransformFromOpenProfiles(inputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, outputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, inMode: str, outMode: str, renderingIntent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, flags: ~PIL.ImageCms.Flags = <Flags.NONE: 0>) ImageCmsTransform ¶
(pyCMS)
inputProfile
からoutputProfile
へのマッピングを行う ICC 変換を構築します。特定の画像に変換を適用するには、applyTransform を使用してください。指定された入力または出力プロファイルが有効なファイル名でない場合、
PyCMSError
が発生します。変換の作成中にエラーが発生した場合、PyCMSError
が発生します。inMode
またはoutMode
がoutputProfile
(または pyCMS) でサポートされているモードではない場合、PyCMSError
が発生します。この関数は、
inputProfile
からoutputProfile
への ICC 変換を、renderingIntent
を使用して、色域外の色をどのように処理するかを決定します。これは、inMode
の画像からoutMode
カラーフォーマット (PIL モード、つまり "RGB"、"RGBA"、"CMYK" など) の画像への変換にのみ機能します。変換の構築は ImageCms.profileToProfile() のオーバーヘッドのかなりの部分を占めるため、同じ入力/出力設定で複数の画像を変換する予定がある場合、これにより時間を節約できます。変換オブジェクトを取得したら、ImageCms.applyProfile() で使用して、変換のルックアップテーブルを再計算することなく画像を変換できます。
pyCMS が変換へのハンドルを直接ではなくクラスオブジェクトを返す理由は、変換が対象とする PIL 入力/出力モードを追跡する必要があるためです。これらの属性はオブジェクトの
inMode
およびoutMode
属性に格納されます (実際に必要であれば手動でオーバーライドできますが、それが役に立つ場合や機能するような場合は不明です)。- パラメーター:
inputProfile – この変換に使用する ICC 入力プロファイルへの有効なファイルパスを表す文字列、またはプロファイルオブジェクト
outputProfile – この変換に使用する ICC 出力プロファイルへの有効なファイルパスを示す文字列、またはプロファイルオブジェクト
inMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
outMode – 適切なプロファイルもサポートする有効な PIL モード (つまり、"RGB"、"RGBA"、"CMYK" など) を表す文字列
renderingIntent –
変換に使用するレンダリングインテントを指定する整数 (0-3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
flags – 追加のフラグを指定する整数 (0~...)
- 戻り値:
CmsTransform クラス オブジェクト。
- 例外:
- PIL.ImageCms.createProfile(colorSpace: Literal['LAB', 'XYZ', 'sRGB'], colorTemp: SupportsFloat = 0) CmsProfile [source]¶
(pyCMS) プロファイルを作成します。
colorSpace が
["LAB", "XYZ", "sRGB"]
にない場合、PyCMSError
が発生します。LAB を使用していて、
colorTemp
が正の整数でない場合、PyCMSError
が発生します。プロファイルの作成中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、ディスク上のプロファイルを提供したり、プロファイルへのパスを知ったりする代わりに、一般的なプロファイルをオンザフライで作成します。これは、ImageCms.buildTransformFromOpenProfiles() に渡して、画像を適用する変換を作成できる通常の CmsProfile オブジェクトを返します。
- パラメーター:
colorSpace – 作成するプロファイルの色空間を示す文字列。現在、「LAB」、「XYZ」、「sRGB」のみがサポートされています。
colorTemp – プロファイルの白色点を示す正の数値(ケルビン単位)(例:5000、6500、9600など)。デフォルトは、省略した場合、D50 光源 (5000k) です。colorTemp は LAB プロファイルにのみ適用され、XYZ および sRGB では無視されます。
- 戻り値:
CmsProfile クラスオブジェクト
- 例外:
- PIL.ImageCms.getDefaultIntent(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) int [source]¶
(pyCMS) 指定されたプロファイルのデフォルトのインテント名を取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。デフォルトのインテントの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、このプロファイルのデフォルトの (通常は最適化された) レンダリングインテントを決定します。ほとんどのプロファイルは複数のレンダリングインテントをサポートしていますが、主に 1 つのタイプの変換を目的としています。返されたインテントとは異なるインテントを使用する場合は、まず ImageCms.isIntentSupported() を使用して、それが機能することを確認してください。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
このプロファイルのデフォルトのレンダリングインテントを指定する整数 0 ~ 3。
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
- レンダリングインテントの詳細とその動作については、pyCMS ドキュメントを参照してください。
they do.
- 例外:
- PIL.ImageCms.getOpenProfile(profileFilename: str | SupportsRead[bytes] | CmsProfile) ImageCmsProfile [ソース]¶
(pyCMS) ICCプロファイルファイルを開きます。
PyCMSProfileオブジェクトは、トランスフォームの作成などでpyCMSに渡して使用できます(ImageCms.buildTransformFromOpenProfiles()のように)。
profileFilename
がICCプロファイルの有効なファイル名でない場合、PyCMSError
が発生します。- パラメーター:
profileFilename – 開きたいICCプロファイルへの有効なファイルパスを表す文字列、またはファイルのようなオブジェクト。
- 戻り値:
CmsProfileクラスのオブジェクト。
- 例外:
- PIL.ImageCms.getProfileCopyright(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルの著作権を取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。著作権タグの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、プロファイルの著作権タグに保存されている情報を取得します。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに保存されている内部プロファイル情報を含む文字列。
- 例外:
- PIL.ImageCms.getProfileDescription(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルの説明を取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。説明タグの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、プロファイルの説明タグに保存されている情報を取得します。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに保存されている内部プロファイル情報を含む文字列。
- 例外:
- PIL.ImageCms.getProfileInfo(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルの内部製品情報を取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。情報タグの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、プロファイルの情報タグに保存されている情報を取得します。多くの場合、これにはプロファイルに関する詳細や、作成者によって提供された作成方法が含まれます。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに保存されている内部プロファイル情報を含む文字列。
- 例外:
- PIL.ImageCms.getProfileManufacturer(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルの製造元を取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。製造元タグの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、プロファイルの製造元タグに保存されている情報を取得します。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに保存されている内部プロファイル情報を含む文字列。
- 例外:
- PIL.ImageCms.getProfileModel(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルのモデルを取得します。
profile
が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError
が発生します。モデルタグの取得中にエラーが発生した場合、
PyCMSError
が発生します。この関数を使用して、プロファイルのモデルタグに保存されている情報を取得します。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに保存されている内部プロファイル情報を含む文字列。
- 例外:
- PIL.ImageCms.getProfileName(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str [ソース]¶
(pyCMS) 指定されたプロファイルの内部製品名を取得します。
もし
profile
が有効な CmsProfile オブジェクトでないか、プロファイルへのファイル名でない場合、PyCMSError
が発生します。名前タグを取得しようとする際にエラーが発生した場合も、PyCMSError
が発生します。この関数は、プロファイルの内部名(プロファイル自体のICCタグに格納されている、通常はプロファイルが最初に作成されたときに使用された名前)を取得するために使用します。このタグには、作成者によって提供された追加情報が含まれている場合もあります。
- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
- 戻り値:
ICCタグに格納されているプロファイルの内部名を含む文字列。
- 例外:
- PIL.ImageCms.get_display_profile(handle: SupportsInt | None = None) ImageCmsProfile | None [ソース]¶
(実験的) 現在の表示デバイスのプロファイルを取得します。
- 戻り値:
プロファイルが不明な場合は
None
。
- PIL.ImageCms.isIntentSupported(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile, intent: Intent, direction: Direction) Literal[-1, 1] [ソース]¶
(pyCMS) 指定されたインテントがサポートされているかどうかを確認します。
この関数は、目的の
intent
をprofile
で使用できるかどうか、およびprofile
を入力/出力/プルーフプロファイルとして使用できるかどうかを確認するために使用します。一部のプロファイルは特定の「方向」専用に作成されており、他の方向には使用できません。一部のプロファイルは特定のレンダリングインテントでのみ使用できるため、それらで変換を作成する前に(この関数を使用して)検証するか、選択したモードをサポートしていない場合に発生する可能性のある
PyCMSError
をキャッチするのが最善です。- パラメーター:
profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。
intent –
このプロファイルで使用するレンダリングインテントを指定する整数 (0-3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
- レンダリングインテントの詳細とその動作については、pyCMS ドキュメントを参照してください。
they do.
direction –
プロファイルを入力、出力、またはプルーフのいずれに使用するかを指定する整数
INPUT = 0 (または ImageCms.Direction.INPUT を使用) OUTPUT = 1 (または ImageCms.Direction.OUTPUT を使用) PROOF = 2 (または ImageCms.Direction.PROOF を使用)
- 戻り値:
インテント/方向がサポートされている場合は 1、そうでない場合は -1。
- 例外:
- PIL.ImageCms.profileToProfile(im: ~PIL.Image.Image, inputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, outputProfile: str | ~PIL._typing.SupportsRead[bytes] | ~PIL.ImageCms.core.CmsProfile | ~PIL.ImageCms.ImageCmsProfile, renderingIntent: ~PIL.ImageCms.Intent = Intent.PERCEPTUAL, outputMode: str | None = None, inPlace: bool = False, flags: ~PIL.ImageCms.Flags = <Flags.NONE: 0>) Image | None [ソース]¶
(pyCMS) 指定された画像に ICC 変換を適用し、
inputProfile
からoutputProfile
にマッピングします。指定された入力または出力プロファイルが有効なファイル名でない場合、
PyCMSError
が発生します。inPlace
がTrue
で、outputMode != im.mode
の場合、PyCMSError
が発生します。プロファイルの適用中にエラーが発生した場合、PyCMSError
が発生します。outputMode
がoutputProfile
(または pyCMS)でサポートされているモードでない場合、PyCMSError
が発生します。この関数は、
inputProfile
のカラースペースからoutputProfile
のカラースペースへの ICC 変換をim
に適用し、指定されたレンダリングインテントを使用して、色域外の色をどのように処理するかを決定します。outputMode
を使用して、これらのプロファイルを使用したカラーモード変換を行うように指定できますが、指定されたプロファイルは、そのモードを処理できる必要があります。つまり、プロファイルを使用してim
を RGB から CMYK に変換する場合、入力プロファイルは RGB データを処理でき、出力プロファイルは CMYK データを処理できる必要があります。- パラメーター:
im – 開いている
Image
オブジェクト (つまり、Image.new(…) または Image.open(…) など)inputProfile – この画像に使用する ICC 入力プロファイルへの有効なファイルパスとしての文字列、またはプロファイルオブジェクト
outputProfile – この画像に使用する ICC 出力プロファイルへの有効なファイルパスとしての文字列、またはプロファイルオブジェクト
renderingIntent –
変換に使用するレンダリングインテントを指定する整数 (0-3)
ImageCms.Intent.PERCEPTUAL = 0 (デフォルト) ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 ImageCms.Intent.SATURATION = 2 ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3
レンダリングインテントとそれらが何をするかについての詳細は、pyCMS のドキュメントを参照してください。
outputMode – 出力画像の有効な PIL モード (つまり、"RGB"、"CMYK" など)。注: 画像を "inPlace" でレンダリングする場合、outputMode は入力と同じモードであるか、完全に省略する必要があります。省略した場合、outputMode は入力画像のモード (im.mode) と同じになります
inPlace – ブール値。
True
の場合、元の画像はインプレースで変更され、None
が返されます。False
(デフォルト) の場合、変換が適用された新しいImage
オブジェクトが返されます。flags – 追加のフラグを指定する整数 (0~...)
- 戻り値:
inPlace
の値に応じて、None または新しいImage
オブジェクト。- 例外:
CmsProfile¶
ICCカラープロファイルは、CmsProfile
クラスのインスタンスにラップされています。仕様ICC.1:2010には、ICCプロファイルの値の意味に関する詳細情報が含まれています。
便宜上、すべてのXYZ値はxyY値としても提供されます(たとえば、色度図に簡単に表示できるようにするため)。
- class PIL.ImageCms.core.CmsProfile¶
- creation_date: datetime.datetime | None¶
このプロファイルが最初に作成された日付と時刻(ICC.1:2010の7.2.1を参照)。
- device_class: str¶
プロファイルクラスを識別する4文字の文字列。
scnr
、mntr
、prtr
、link
、spac
、abst
、nmcl
のいずれか(詳細については、ICC.1:2010の7.2.5を参照)。
- header_manufacturer: str¶
デバイスメーカーを識別する4文字の文字列(空白でパディング)。これは、www.color.orgにあるICC署名レジストリの適切なセクションに含まれる署名と一致する必要があります(ICC.1:2010の7.2.12を参照)。
- header_model: str¶
デバイスモデルを識別する4文字の文字列(空白でパディング)。これは、www.color.orgにあるICC署名レジストリの適切なセクションに含まれる署名と一致する必要があります(ICC.1:2010の7.2.13を参照)。
- rendering_intent: int¶
このプロファイルを別のプロファイルと組み合わせるときに使用するレンダリングインテント(通常は実行時にオーバーライドされますが、DeviceLinkおよび埋め込みソースプロファイルの場合はここに提供されます。ICC.1:2010の7.2.15を参照)。
ImageCms.Intent.ABSOLUTE_COLORIMETRIC
、ImageCms.Intent.PERCEPTUAL
、ImageCms.Intent.RELATIVE_COLORIMETRIC
、ImageCms.Intent.SATURATION
のいずれか。
- profile_id: bytes¶
プロファイルを識別する16バイトのシーケンス(特別に構築されたMD5サムを使用)、またはプロファイルIDが計算されていない場合は16個のバイナリゼロ(ICC.1:2010の7.2.18を参照)。
- red_colorant: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
マトリックス/TRC変換で使用されるマトリックスの最初の列(ICC.1:2010の9.2.44を参照)。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- green_colorant: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
マトリックス/TRC変換で使用されるマトリックスの2番目の列です(ICC.1:2010の9.2.30を参照)。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- blue_colorant: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
マトリックス/TRC変換で使用されるマトリックスの3番目の列です(ICC.1:2010の9.2.4を参照)。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- luminance: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
Yチャンネルによって記述される、平方メートルあたりのカンデラ単位での発光デバイスの絶対輝度です(ICC.1:2010の9.2.32を参照)。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- chromaticity: tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]] | None¶
使用される蛍光体/着色剤の色度セットのデータ(赤、緑、青の各チャンネル、ICC.1:2010の9.2.16を参照)。
利用可能な場合、値は
((x, y, Y), (x, y, Y), (x, y, Y))
の形式です。
- chromatic_adaption: tuple[tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]], tuple[tuple[float, float, float], tuple[float, float, float], tuple[float, float, float]]] | None¶
色順応行列は、実際の照明条件で測定され、実際の色適応白色に対する色を、PCS色適応白色に対する色に変換します。この変換は、実際の色適応白色の色度からPCS色適応白色の色度への完全な適応を行います(ICC.1:2010の9.2.15を参照)。
2つのタプルで、浮動小数点数の3つのタプルが2つ返されます。1つは(X, Y, Z)空間、もう1つは(x, y, Y)空間です。
- colorant_table: list[str]¶
このタグは、固有の名前とPCSXYZまたはPCSLAB値のセットによって、プロファイルで使用される着色剤を識別します(ICC.1:2010の9.2.19を参照)。
- colorant_table_out: list[str]¶
このタグは、固有の名前とPCSLAB値のセットによって、プロファイルで使用される着色剤を識別します(DeviceLinkプロファイルの場合のみ、ICC.1:2010の9.2.19を参照)。
- colorimetric_intent: str | None¶
測色的インテント変換を使用して生成されたPCS測色法の画像状態を識別する4文字の文字列(空白で埋められています)(詳細については、ICC.1:2010の9.2.20を参照)。
- perceptual_rendering_intent_gamut: str | None¶
(1つの)標準参照媒体の色域を識別する4文字の文字列(空白で埋められています)(詳細については、ICC.1:2010の9.2.37を参照)。
- saturation_rendering_intent_gamut: str | None¶
(1つの)標準参照媒体の色域を識別する4文字の文字列(空白で埋められています)(詳細については、ICC.1:2010の9.2.37を参照)。
- media_black_point: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
このタグは、メディアの黒点を指定し、絶対測色法を生成するために使用されます。
このタグはICC 3.2で利用可能でしたが、バージョン4から削除されています。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- red_primary: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
RGB原色である赤(1, 0, 0)のXYZ変換後の値。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- green_primary: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
RGB原色である緑(0, 1, 0)のXYZ変換後の値。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- blue_primary: tuple[tuple[float, float, float], tuple[float, float, float]] | None¶
RGB原色である青(0, 0, 1)のXYZ変換後の値。
利用可能な場合、値は
((X, Y, Z), (x, y, Y))
の形式です。
- clut: dict[int, tuple[bool, bool, bool]] | None¶
CLUTモデルでサポートされているすべてのインテントと方向の辞書を返します。
辞書はインテント(
ImageCms.Intent.ABSOLUTE_COLORIMETRIC
,ImageCms.Intent.PERCEPTUAL
,ImageCms.Intent.RELATIVE_COLORIMETRIC
,ImageCms.Intent.SATURATION
)でインデックス付けされます。値は、方向(
ImageCms.Direction.INPUT
,ImageCms.Direction.OUTPUT
,ImageCms.Direction.PROOF
)でインデックス付けされた3つのタプルです。タプルの要素はブール値です。値が
True
の場合、そのインテントはその方向でサポートされています。
- intent_supported: dict[int, tuple[bool, bool, bool]] | None¶
サポートされているすべてのインテントと方向の辞書を返します。
辞書はインテント(
ImageCms.Intent.ABSOLUTE_COLORIMETRIC
,ImageCms.Intent.PERCEPTUAL
,ImageCms.Intent.RELATIVE_COLORIMETRIC
,ImageCms.Intent.SATURATION
)でインデックス付けされます。値は、方向(
ImageCms.Direction.INPUT
,ImageCms.Direction.OUTPUT
,ImageCms.Direction.PROOF
)でインデックス付けされた3つのタプルです。タプルの要素はブール値です。値が
True
の場合、そのインテントはその方向でサポートされています。
クラスには1つの関数が定義されています
- is_intent_supported(intent: int, direction: int, /)¶
指定された方向でインテントがサポートされているかどうかを返します。
また、
intent_supported
で、すべてのインテントと方向のこの情報を取得することもできます。- パラメーター:
intent –
ImageCms.Intent.ABSOLUTE_COLORIMETRIC
,ImageCms.Intent.PERCEPTUAL
,ImageCms.Intent.RELATIVE_COLORIMETRIC
,ImageCms.Intent.SATURATION
のいずれか。direction –
ImageCms.Direction.INPUT
,ImageCms.Direction.OUTPUT
,ImageCms.Direction.PROOF
のいずれか。
- 戻り値:
インテントと方向がサポートされている場合はブール値。