IO_ICC 1.0.1 をリリースしました

ICCプロファイルのバイナリを操作する pure PHP のライブラリです。

iccdump.php と iccedit.phpスクリプトが用意できたので、リリースします。(1.0.0 は欠番)

未対応の signature が多いし、文字列のゼロ終端を保証するようなケアもなくて、まだ実装が色々と足りてませんが、少しずつ補っていきます。

インストールの仕方

  • git から持ってきます。

$ git clone git@github.com:yoya/IO_ICC.git

  • composer で IO_Bit をインストールします

$ cd IO_ICC
$ composer install

(composer がダメだったら openpear で。自分の環境だと composer remove しないと 2.2.1 から更新できなかった、2.2.2 が必要)

$ pear channel-discover openpear.org
$ pear install openpear/IO_Bit

使い方1 (iccdump.php)

IO_ICC(master) $ php sample/iccdump.php -f ~/GBR.icc
Header:
    ProfileSize:532
    CMMType:1094992453
    ProfileVersion: Major:2 Minor:10
    ProfileDeviceClass:mntr
    ColorSpace:RGB
    ConnectionSpace:XYZ
    DataTimeCreated: Year:1999 Month:4 Day:5 Hours:15 Minutes:8 Seconds:5
    acspSignature:acsp
    PrimaryPlatform:APPL
    CMMOptions: EmbedProfile:false Independently:false
    DeviceManufacturer:1852796517
    DeviceModel:0
    DeviceAttribute: ReflectiveOrTransparency:false GlossyOnMatte:false
    RenderingIntent:1(Relative Colorimetric)
    XYZvalueD50: X:0.9642 Y:1 Z:0.8249
    CreatorID:1094992453
TagTableCount: 10
    Signature:cprt Type:text (Offset:252 Size:36)
	TEXT: (c) 1999 Adobe Systems Inc.
    Signature:desc Type:desc (Offset:288 Size:95)
	ASCII: GBR
	UnicodeLanguage:
	ScriptCode: 0
    Signature:wtpt Type:XYZ  (Offset:384 Size:20)
        XYZ: X:0.9505 Y:1.0000 Z:1.0891
    Signature:bkpt Type:XYZ  (Offset:404 Size:20)
        XYZ: X:0.0000 Y:0.0000 Z:0.0000
    Signature:rTRC Type:curv (Offset:424 Size:14)
        CurveValues: 2.1992 (gamma value)
    Signature:gTRC Type:curv (Offset:440 Size:14)
        CurveValues: 2.1992 (gamma value)
    Signature:bTRC Type:curv (Offset:456 Size:14)
        CurveValues: 2.1992 (gamma value)
    Signature:rXYZ Type:XYZ  (Offset:472 Size:20)
        XYZ: X:0.3851 Y:0.7169 Z:0.0971
    Signature:gXYZ Type:XYZ  (Offset:492 Size:20)
        XYZ: X:0.1431 Y:0.0606 Z:0.7139
    Signature:bXYZ Type:XYZ  (Offset:512 Size:20)
        XYZ: X:0.4360 Y:0.2225 Z:0.0139

使い方2 (iccedit.php)

昔、画像サービス毎のICCプロファイル調査で話題になった GBR.icc で実験。

IO_ICC(master) $  php sample/iccedit.php ~/GBR.icc
header
cprt:text
desc:desc
wtpt:XYZ
bkpt:XYZ
rTRC:curv
gTRC:curv
bTRC:curv
rXYZ:XYZ
gXYZ:XYZ
bXYZ:XYZ
IO_ICC(master) $ php sample/iccedit.php ~/GBR.icc gTRC
CurveValues:2.19921875
type:curv
IO_ICC(master) $ php sample/iccedit.php ~/GBR.icc gTRC CurveValues:0.82 > t.icc
  • 弄った gTRC の曲線 (0.82)

  • 参考までに rTRC と bTRC (2.2 のまま)