Zmiejszanie fotek za pomocą skryptu


(Kloc221) #1

Witam chciał bym spytać jak zmniejszyć fotkę za pomocą kodu ? Mam dyzą fotkę i chce aby wyświetlała się mniejsza i chce ją zmniejszyć za pomocą jakiegoś skryptu ?


(Grzesie K) #2

http://wortal.php.pl/wortal/artykuly/na ... ie_grafiki


(ra-v) #3

http://pl.php.net/manual/en/function.imagecopyresampled.php oraz inne funkcje GD jeśli chcesz się pobawić obrazkami wyświetlanymi "w locie" i nie tylko.


(Damgora) #4

w php (funkcja obsługuje tylko jpg, png i gif)(biblioteka GD)

function imageResize($input_filename, $output_filename, $width, $height, $interpolation = true, $quality = 100) {

    if (preg_match('/\.[a-z]{3,4}$/i', $input_filename, $match))

        switch (strtolower($match[0])) {

            case '.jpeg':

            case '.jpg':

                $image = imagecreatefromjpeg($input_filename);

                break;

            case '.png':

                $image = imagecreatefrompng($input_filename);

                break;

            case '.gif':

                $image = imagecreatefromgif($input_filename);

                break;

            default:

                return false;

        }

    else

        return false;

    $size = getimagesize($input_filename);

    $newImage = imagecreatetruecolor($width, $height);

    if ($interpolation)

        imagecopyresampled($newImage, $image, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);

    else

        imagecopyresized($newImage, $image, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);

    if (preg_match('/\.[a-z]{3,4}$/i', $output_filename, $match))

        switch (strtolower($match[0])) {

            case '.jpeg':

            case '.jpg':

                imagejpeg($newImage, $output_filename, $quality);

                break;

            case '.png':

                imagepng($newImage, $output_filename, round($quality*9/100));

                break;

            case '.gif':

                imagegif($newImage, $output_filename);

                break;

            default:

                return false;

        }

    else

        return false;

    return true;

}

mam nadzieję, że nie ma błędów, a jeżeli chcesz to wykorzystać to chociaż przeanalizujesz kod skoro dostajesz gotowca