webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> php + mysql

Tworzenie miniaturek

autor: Mateusz Bogolubow, ostatnia modyfikacja: 2007-02-23

szukaj: miniaturki miniaturki php php biblioteka GD biblioteka GD GD GD

By móc pracować z obrazami w PHP musimy skorzystać z biblioteki GD (ang. Graphics Draw) , która zazwyczaj jest dostarczana z nowszymi wersjami PHP. W przeciwnym wypadku można ją pobrać ze strony http://www.boutell.com/gd/.

Aby zapoznać się z podstawowymi informacjami na temat zainstalowanej biblioteki GD na naszym serwerze wystarczy skorzystać z funkcji gd_info().

<?php
gd_info();
?>

Po upewnieniu się, że nasz serwer obsługuje bibliotekę GD możemy przejść do tematu porady. Załóżmy że na serwerze znajduje się plik grafika.jpg i chcemy poprzez skrypt PHP stworzyć dla niego miniaturkę o nazwie grafika._mini.jpg.

Tworzymy plik mini.php w tej samej lokalizacji co grafika.jpg i wprowadzamy do niego kod, który zmiennej $img przypisze obraz z pliku grafika.jpg i pobierze jego wymiary.

<?php
$img = imagecreatefromjpeg("grafika.jpg");
$width  = imagesx($img);
$height = imagesy($img);
?> 

Następnie stworzymy "pusty" obraz ($img_mini) 10 razy mniejszy niż $img.

<?php
$width_mini = $width * 0.1;
$height_mini = $height * 0.1;
$img_mini = imagecreatetruecolor($width_mini, $height_mini);
?>

Po tych operacjach możemy skopiować obraz ze zmiennej $img do $img_mini

<?php
imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width  , $height);
?>

Zostało nam jedynie zapisać obraz do pliku i zwolnić zajętą pamięć.

<?php
imagejpeg($img_mini, "grafika_mini.jpg", 80);
imagedestroy($img);
imagedestroy($img_mini);
?>

Ostatni parametr w funkcji imagejpeg() informuje z jaką jakością ma zostać zapisany plik -najmniejsza wartość to 0, a największa to 100.

Mateusz Bogolubow

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org