IO_ICC 1.0.1 をリリースしました
ICCプロファイルのバイナリを操作する pure PHP のライブラリです。
iccdump.php と iccedit.php のスクリプトが用意できたので、リリースします。(1.0.0 は欠番)
未対応の signature が多いし、文字列のゼロ終端を保証するようなケアもなくて、まだ実装が色々と足りてませんが、少しずつ補っていきます。
インストールの仕方
- 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 のまま)