MagickWand for PHPで画像のプロファイル情報を削る

個人的なMagickWand for PHPのメモ。

画像をリサイズして小さなサムネイルを作る場合、ただリサイズしただけだとJpegEXIFデータとかが残ってしまう。不要な場合、次の関数で削除できる。

MagickStripImage

画像のヘッダに含まれるプロファイル情報とコメントを除去

<?php
$wand = NewMagickWand();
MagickReadImage($wand, 'foo.jpg');
MagickResizeImage($wand, 120, 90, MW_TriangleFilter, 1);
MagickStripImage($wand);
MagickWriteImage($wand, 'bar.jpg');

MagickRemoveImageProfiles

画像のヘッダに含まれるプロファイル情報を削除

<?php
$wand = NewMagickWand();
MagickReadImage($wand, 'foo.jpg');
MagickResizeImage($wand, 120, 90, MW_TriangleFilter, 1);
MagickRemoveImageProfiles($wand);
MagickWriteImage($wand, 'bar.jpg');

MagickProfileImage

画像のヘッダに含まれるプロファイル情報を追加か削除。設定値にnull(デフォルト値)を渡すと削除できる

<?php
$wand = NewMagickWand();
MagickReadImage($wand, 'foo.jpg');
MagickResizeImage($wand, 120, 90, MW_TriangleFilter, 1);
MagickProfileImage($wand, '*');
MagickWriteImage($wand, 'bar.jpg');