http://stackoverflow.com/questions/25866819/php-image-processing-gd-jpeg-quality
exiftool로 quality 가져올 수 있음
# yum install perl-Image-ExifTool
[root@sitehis del1]# exiftool 60.jpg | grep Quality
Quality : 95%
$arrOutput = array();
$return_var = "";
$directOutput = exec($exiftoolCommand, $arrOutput, $return_var);
imageMagick convert command
convert original_100.jpg -quality 80 imagemagick_80.jpg
함수로 만들어본다면
$image = imagecreatefromjpeg("image.jpg"); // 파일 읽고
unlink("image.jpg"); // 해당 파일 지우고, 혹은 어디에 백업하고
imagejpeg($image,"image.jpg",50); // 50%로 저장
function compress_image($source_url, $destination_url, $quality) {
$info = getimagesize($source_url);
if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source_url);
elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source_url);
elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source_url);
imagejpeg($image, $destination_url, $quality); // //save file
return $destination_url;
}
$compressed = compress_image('source.png', 'destination.jpg', 90);
detect jpeg quality
http://stackoverflow.com/questions/17738276/detect-jpeg-image-quality
http://www.php.net/manual/en/imagick.getcompression.php
$img = new Imagick($filename);
$quality = $img->getImageCompressionQuality();
//Quality answer for your image
$quality = (101-(($width*$height)*3)/$filesize); // 직접 계산하는 법
# yum install php-pecl-imagick
$img = new Imagick($filename);
$quality = $img->getImageCompressionQuality();
<> 참고
https://cloudinary.com/blog/image_optimization_in_php
|