// サンプルコード
// 対象ファイル:JPEG,PNG,GIF
// 圧縮品質:80
// 写真パス
$photo_file_path = '写真パス';
// 写真拡張子取得
$file_extension = pathinfo($photo_file_path, PATHINFO_EXTENSION);
// 写真読み込み
$imagick_img = new \Imagick($photo_file_path);
// 写真圧縮設定
if ($file_extension == 'jpeg' || $file_extension == 'jpg') {
$imagick_img->setImageFormat('jpg');
$imagick_img->setImageCompression(\Imagick::COMPRESSION_JPEG);
} elseif ($file_extension == 'png') {
$imagick_img->setImageFormat('png');
$imagick_img->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);
} else {
$imagick_img->setImageFormat('gif');
$imagick_img->setImageCompression(\Imagick::COMPRESSION_UNDEFINED);
}
$imagick_img->setImageCompressionQuality(80);
// 写真上書き保存
if (!$imagick_img->writeImage($photo_file_path)) {
// 上書き保存エラー
}
// Imagick clear
$imagick_img->clear();