Jump to content

dle разрешение картинок автоматическая загрузка, Помогите найти решение $


Recommended Posts

Хочу создать сайт с обоями для рабочего стола, и нужно что бы разрешение картинки делалось автоматически при нажатии из оригинального. Любой сайт с обоями для рабочего стола в интернете посмотрите, и поймете что я хочу. Могу $$$$ за решение!

Широкоэкранный Разрешение: 1280x800 1440x900 1680x1050 1920x1200 Оригинальный
HD Разрешение: 1280x720 1366x768 1600x900 1920x1080
Мобильная VGA: 240x320 480x640 320x240 640x480
Мобильная iPhone: 960x640 1136x640 1134x750
Планшетный Android / Ipad: 1024x768 1280x1280

 

image884963.jpg

Link to post
Share on other sites

Создайте файл и передавайте в него такие данные, как: путь к исходному изображнию, высота, ширина, и качество получаемого изображения методом GET.

 

Вот самая простая реализация на php, если понимаете, можете подкрутить сами:

<?
    $w_o=1024;  // Ширина получаемого изображения
    $h_o=768;   // Высота получаемого изображения
    $quality=100;      // Качество получаемого изображения

    $image="image.jpg";   // Исходное изображение

    $size=getimagesize($image);
    $w_i=$size[0];
    $h_i=$size[1];

    $img = ImageCreateFromJPEG($image);

    $img_o = imagecreatetruecolor($w_o, $h_o);
    imagecopyresampled($img_o, $img, 0, 0, 0, 0, $w_o, $h_o, $w_i, $h_i);

    imagedestroy($img);

      header('Content-type: image/jpeg');
    imagejpeg($img_o, NULL, $quality);

    imagedestroy($img_o);

    ?>

Также есть более продвинутый вариант:

/**
* Масштабирование изображения
*
* Функция работает с PNG, GIF и JPEG изображениями.
* Масштабирование возможно как с указаниями одной стороны, так и двух, в процентах или пикселях.
*
* @param string Расположение исходного файла
* @param string Расположение конечного файла
* @param integer Ширина конечного файла
* @param integer Высота конечного файла
* @param bool Размеры даны в пискелях или в процентах
* @return bool
*/

function resize($file_input, $file_output, $w_o, $h_o, $percent = false) {
    list($w_i, $h_i, $type) = getimagesize($file_input);
    if (!$w_i || !$h_i) {
        echo 'Невозможно получить длину и ширину изображения';
        return;
    }
    $types = array('','gif','jpeg','png');
    $ext = $types[$type];
    if ($ext) {
        $func = 'imagecreatefrom'.$ext;
        $img = $func($file_input);
    } else {
        echo 'Некорректный формат файла';
        return;
    }
    if ($percent) {
        $w_o *= $w_i / 100;
        $h_o *= $h_i / 100;
    }
    if (!$h_o) $h_o = $w_o/($w_i/$h_i);
    if (!$w_o) $w_o = $h_o/($h_i/$w_i);
    $img_o = imagecreatetruecolor($w_o, $h_o);
    imagecopyresampled($img_o, $img, 0, 0, 0, 0, $w_o, $h_o, $w_i, $h_i);
    if ($type == 2) {
        return imagejpeg($img_o,$file_output,100);
    } else {
        $func = 'image'.$ext;
        return $func($img_o,$file_output);
    }
}
Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...