18-01-1396، 01:29 ب.ظ
این تابع، نشانی یک تصویر رو در اینترنت میگیره و اون رو با پهنا و ارتفاع موردنظر شما در مسیری که مشخص کردین ذخیره میکنه و کیفیت رو طوری تنظیم میکنه که از سایزی که مشخص کردین بیشتر نشه. درمورد تصاویر Portrait، ارتفاعی که مشخص کردین رو ملاک قرار میده و پهنا رو بطور خودکار محاسبه میکنه و درمورد تصاویر Landscape هم پهنا ملاک قرار داده میشه و ارتفاع رو براساس اون محاسبه میکنه:
مثالی از نحوهی استفاده:
function resize($url, $width, $height, $size, $savePath) { $data = file_get_contents($url); $src = ImageCreateFromString($data); $sw = ImageSX($src); $sh = ImageSY($src); $ratio = $sw / $sh; if ($sw > $sh) { $height = $width / $ratio; } else { $width = $height * $ratio; } $dst = ImageCreateTrueColor($width, $height); ImageCopyResampled($dst, $src, 0, 0, 0, 0, $width, $height, $sw, $sh); $quality = 100; do { ImageJPEG($dst, $savePath, $quality--); } while ($quality > 0 && filesize($savePath) > $size); ImageDestroy($dst); ImageDestroy($src); }
مثالی از نحوهی استفاده:
resize('http://mysite.com/logo.png', 256, 256, 1048576, 'pics/mysite.jpg');