تالار گفتمان nCIS.ir

نسخه‌ی کامل: دانلود تصاویر راه دور همراه با تغییر اندازه و حجم
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
این تابع، نشانی یک تصویر رو در اینترنت میگیره و اون رو با پهنا و ارتفاع موردنظر شما در مسیری که مشخص کردین ذخیره میکنه و کیفیت رو طوری تنظیم میکنه که از سایزی که مشخص کردین بیشتر نشه. درمورد تصاویر 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');