ImageCms モジュール

ImageCms モジュールは、Kevin CazabonのPyCMSライブラリをベースにしたLittleCMS2カラーマネージメントエンジンを使用して、カラープロファイル管理サポートを提供します。

class PIL.ImageCms.ImageCmsProfile(profile: str | SupportsRead[bytes] | CmsProfile)[ソース]
__init__(profile: str | SupportsRead[bytes] | CmsProfile) None[ソース]
パラメーター

profile – ファイル名を表す文字列、プロファイルを含むファイル様オブジェクト、または低レベルのプロファイルオブジェクトのいずれか。

tobytes() bytes[ソース]

保存された画像に埋め込むのに適した形式でプロファイルを返します。

戻り値

ICCプロファイルを含むバイトオブジェクト。

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']に、出力プロファイルが返されます。

apply(im: Image, imOut: Image | None = None) Image[ソース]
apply_in_place(im: Image) Image[ソース]
point(im: Image) Image[ソース]
exception PIL.ImageCms.PyCMSError[ソース]

(pyCMS) 例外クラス。これは、pyCMS API のすべてのエラーに使用されます。

定数

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

より少ないメモリを使用して、リソースを最小限に抑えます

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
static GRIDPOINTS(n: int) Flags[ソース]

グリッドポイント数の微調整制御

パラメーター

nint で、範囲は 0 <= n <= 255

関数

PIL.ImageCms.applyTransform(im: Image, transform: ImageCmsTransform, inPlace: bool = False) Image | None[ソース]

(pyCMS) 指定された画像に変換を適用します。

im.mode != transform.input_mode の場合、PyCMSError が発生します。

inPlaceTrue で、かつ transform.input_mode != transform.output_mode の場合、PyCMSError が発生します。

im.modetransform.input_mode、または transform.output_mode が pyCMSdll または変換に使用したプロファイルでサポートされていない場合、PyCMSError が発生します。

変換の適用中にエラーが発生した場合、PyCMSError が発生します。

この関数は、事前に計算された変換 (ImageCms.buildTransform() または ImageCms.buildTransformFromOpenProfiles() から) を画像に適用します。変換は複数の画像に使用でき、同じ変換を複数回行う場合に計算時間を大幅に節約できます。

戻り値として新しい画像を受け取る代わりに、im をインプレースで変更する場合は、inPlaceTrue に設定します。これは、transform.input_modetransform.output_mode が同じ場合にのみ実行できます。これは、一部のモードではバッファ サイズが異なるため、インプレースでモードを変更できないためです。デフォルトの動作は、モード transform.output_mode で同じ寸法の新しい Image オブジェクトを返すことです。

パラメーター
  • imImage オブジェクトであり、im.mode は、変換でサポートされる input_mode と同じでなければなりません。

  • transform – 有効な CmsTransform クラス オブジェクト

  • inPlace – ブール値。 True の場合、im はインプレースで変更され、None が返されます。 False の場合、変換が適用された新しい Image オブジェクトが返されます (そして im は変更されません)。デフォルトは False です。

戻り値

None、または inPlace の値に応じて、新しい Image オブジェクトのいずれか。プロファイルは、画像の info['icc_profile'] に返されます。

例外:

PyCMSError

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 または outModeoutputProfile (または 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 クラス オブジェクト。

例外:

PyCMSError

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 または outModeoutputProfile (または 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 クラス オブジェクト。

例外:

PyCMSError

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 または outModeoutputProfile (または 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 クラス オブジェクト。

例外:

PyCMSError

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 または outModeoutputProfile (または 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 クラス オブジェクト。

例外:

PyCMSError

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 クラスオブジェクト

例外:

PyCMSError

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.

例外:

PyCMSError

PIL.ImageCms.getOpenProfile(profileFilename: str | SupportsRead[bytes] | CmsProfile) ImageCmsProfile[ソース]

(pyCMS) ICCプロファイルファイルを開きます。

PyCMSProfileオブジェクトは、トランスフォームの作成などでpyCMSに渡して使用できます(ImageCms.buildTransformFromOpenProfiles()のように)。

profileFilenameがICCプロファイルの有効なファイル名でない場合、PyCMSErrorが発生します。

パラメーター

profileFilename – 開きたいICCプロファイルへの有効なファイルパスを表す文字列、またはファイルのようなオブジェクト。

戻り値

CmsProfileクラスのオブジェクト。

例外:

PyCMSError

PIL.ImageCms.getProfileCopyright(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルの著作権を取得します。

profile が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError が発生します。

著作権タグの取得中にエラーが発生した場合、PyCMSErrorが発生します。

この関数を使用して、プロファイルの著作権タグに保存されている情報を取得します。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに保存されている内部プロファイル情報を含む文字列。

例外:

PyCMSError

PIL.ImageCms.getProfileDescription(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルの説明を取得します。

profile が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError が発生します。

説明タグの取得中にエラーが発生した場合、PyCMSErrorが発生します。

この関数を使用して、プロファイルの説明タグに保存されている情報を取得します。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに保存されている内部プロファイル情報を含む文字列。

例外:

PyCMSError

PIL.ImageCms.getProfileInfo(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルの内部製品情報を取得します。

profile が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError が発生します。

情報タグの取得中にエラーが発生した場合、PyCMSErrorが発生します。

この関数を使用して、プロファイルの情報タグに保存されている情報を取得します。多くの場合、これにはプロファイルに関する詳細や、作成者によって提供された作成方法が含まれます。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに保存されている内部プロファイル情報を含む文字列。

例外:

PyCMSError

PIL.ImageCms.getProfileManufacturer(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルの製造元を取得します。

profile が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError が発生します。

製造元タグの取得中にエラーが発生した場合、PyCMSErrorが発生します。

この関数を使用して、プロファイルの製造元タグに保存されている情報を取得します。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに保存されている内部プロファイル情報を含む文字列。

例外:

PyCMSError

PIL.ImageCms.getProfileModel(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルのモデルを取得します。

profile が有効な CmsProfile オブジェクトではない場合、またはプロファイルへのファイル名ではない場合、PyCMSError が発生します。

モデルタグの取得中にエラーが発生した場合、PyCMSErrorが発生します。

この関数を使用して、プロファイルのモデルタグに保存されている情報を取得します。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに保存されている内部プロファイル情報を含む文字列。

例外:

PyCMSError

PIL.ImageCms.getProfileName(profile: str | SupportsRead[bytes] | CmsProfile | ImageCmsProfile) str[ソース]

(pyCMS) 指定されたプロファイルの内部製品名を取得します。

もし profile が有効な CmsProfile オブジェクトでないか、プロファイルへのファイル名でない場合、PyCMSError が発生します。名前タグを取得しようとする際にエラーが発生した場合も、PyCMSError が発生します。

この関数は、プロファイルの内部名(プロファイル自体のICCタグに格納されている、通常はプロファイルが最初に作成されたときに使用された名前)を取得するために使用します。このタグには、作成者によって提供された追加情報が含まれている場合もあります。

パラメーター

profile – 有効な CmsProfile オブジェクト、または ICC プロファイルのファイル名の文字列のいずれか。

戻り値

ICCタグに格納されているプロファイルの内部名を含む文字列。

例外:

PyCMSError

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) 指定されたインテントがサポートされているかどうかを確認します。

この関数は、目的の intentprofile で使用できるかどうか、および 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。

例外:

PyCMSError

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 が発生します。inPlaceTrue で、outputMode != im.mode の場合、PyCMSError が発生します。プロファイルの適用中にエラーが発生した場合、PyCMSError が発生します。outputModeoutputProfile (または 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 オブジェクト。

例外:

PyCMSError

PIL.ImageCms.versions() tuple[str, str | None, str, str][ソース]

(pyCMS) バージョンを取得します。

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を参照)。

version: float

このプロファイルが準拠するICC規格のバージョン番号(例:2.0)。

icc_version: int

versionと同じですが、エンコードされた形式です(ICC.1:2010の7.2.4を参照)。

device_class: str

プロファイルクラスを識別する4文字の文字列。scnrmntrprtrlinkspacabstnmclのいずれか(詳細については、ICC.1:2010の7.2.5を参照)。

xcolor_space: str

色空間を識別する4文字の文字列(空白でパディング)。例:XYZ␣RGB␣またはCMYK(詳細については、ICC.1:2010の7.2.6を参照)。

connection_space: str

変換のB側の色空間を識別する4文字の文字列(空白でパディング)(詳細については、ICC.1:2010の7.2.7を参照)。

header_flags: int

プロファイルのエンコードされたヘッダーフラグ(詳細については、ICC.1:2010の7.2.11を参照)。

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を参照)。

attributes: int

プロファイルが適用される特定のデバイス設定に固有の属性を識別するために使用されるフラグ(詳細については、ICC.1:2010の7.2.14を参照)。

rendering_intent: int

このプロファイルを別のプロファイルと組み合わせるときに使用するレンダリングインテント(通常は実行時にオーバーライドされますが、DeviceLinkおよび埋め込みソースプロファイルの場合はここに提供されます。ICC.1:2010の7.2.15を参照)。

ImageCms.Intent.ABSOLUTE_COLORIMETRICImageCms.Intent.PERCEPTUALImageCms.Intent.RELATIVE_COLORIMETRICImageCms.Intent.SATURATIONのいずれか。

profile_id: bytes

プロファイルを識別する16バイトのシーケンス(特別に構築されたMD5サムを使用)、またはプロファイルIDが計算されていない場合は16個のバイナリゼロ(ICC.1:2010の7.2.18を参照)。

copyright: str | None

プロファイルのテキスト著作権情報(ICC.1:2010の9.2.21を参照)。

manufacturer: str | None

デバイスメーカーの(英語)表示文字列(ICC.1:2010の9.2.22を参照)。

model: str | None

このプロファイルが作成されたデバイスのデバイスモデルの(英語)表示文字列(ICC.1:2010の9.2.23を参照)。

profile_description: str | None

プロファイルの説明の(英語)表示文字列(ICC.1:2010の9.2.41を参照)。

target: str | None

登録された特性評価データセットの名前、または特性評価ターゲットの測定データ(ICC.1:2010の9.2.14を参照)。

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を参照)。

technology: str | None

デバイス技術を識別する4文字の文字列(空白で埋められています)(詳細については、ICC.1:2010の9.2.47を参照)。

media_black_point: tuple[tuple[float, float, float], tuple[float, float, float]] | None

このタグは、メディアの黒点を指定し、絶対測色法を生成するために使用されます。

このタグはICC 3.2で利用可能でしたが、バージョン4から削除されています。

利用可能な場合、値は((X, Y, Z), (x, y, Y))の形式です。

media_white_point_temperature: float | None

白色点の温度を計算します(詳細については、LCMSのドキュメントを参照してください)。

viewing_condition: str | None

表示条件の(英語の)表示文字列(ICC.1:2010の9.2.48を参照)。

screening_description: str | None

スクリーニング条件の(英語の)表示文字列。

このタグはICC 3.2で利用可能でしたが、バージョン4から削除されています。

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))の形式です。

is_matrix_shaper: bool

このプロファイルがマトリックスシェイパーとして実装されているかどうか(LCMSのドキュメントを参照)。

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で、すべてのインテントと方向のこの情報を取得することもできます。

パラメーター
  • intentImageCms.Intent.ABSOLUTE_COLORIMETRIC, ImageCms.Intent.PERCEPTUAL, ImageCms.Intent.RELATIVE_COLORIMETRIC, ImageCms.Intent.SATURATIONのいずれか。

  • directionImageCms.Direction.INPUT, ImageCms.Direction.OUTPUT, ImageCms.Direction.PROOFのいずれか。

戻り値

インテントと方向がサポートされている場合はブール値。