Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Generowanie grafiki w PHP

Przykład 6. Obracanie obrazków

GD pozwala na obracanie obrazków o dowolny kąt tak jak przedstawia to przykład niżej.

Listing 6. Obracanie obrazków

<?php
header('Content-Type: image/jpeg');

$img = imagecreatefromjpeg('zdjecie.jpg');

$col = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);

$width = 240;
$height = 180;
$mini = imagecreatetruecolor($width, $height);

imagecopyresized($mini, $img, 0, 0, 0, 0, $width, $height, imagesx($img), imagesy($img));

$mini = imagerotate($mini, 40, $col);

imagerectangle($mini, 0, 0, imagesx($mini) - 1, imagesy($mini) - 1, $black);

imagejpeg($mini, null, 100);
?>

Listing 6. Omówienie kodu

Do obracania obrazków służy funkcja imagerotate(), której do działania wystarczą 3 parametry (czwarty nie jest obowiązkowy i odpowiada za ignorowanie przezroczystości), są to:

imagerotate()

Obraca obrazek o podany kąt.

  • $image uchwyt obrazka
  • $angle kąt nachylenia
  • $bgd_color kolor (patrz: imagecolorallocate())

W powyższym przykładzie posłużyłem się również wcześniej poznaną funkcją imagecopyresized() w celu zmniejszenia obrazka źródłowego. Użyłem też funkcji imagerectangle() aby narysować ramkę wokół wygenerowanego obrazka, przyjmuje ona identyczne parametry jak przedstawiona wcześniej funkcja imagefilledrectangle()

Listing 6. Wynik działania kodu

Zmieniając wartość zmiennej $col możemy dopasować tło obrazka do tła np. naszej strony - nadając odpowiednie wartości RGB naszemu kolorowi, na przykład: $col = imagecolorallocate($img, 190, 210, 180).

Aby pozbyć się ramki wystarczy usunąć linię: imagerectangle($mini, 0, 0, imagesx($mini) - 1, imagesy($mini) - 1, $black); oraz, co nie jest konieczne $black = imagecolorallocate($img, 0, 0, 0);. Po takim zabiegu nasz obrazek będzie wyglądał następująco:

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (3)
porównanie bibliotek
Wtorek 22 Luty 2011 5:15:46 pm - siutek <siutek_at_gmail.com>

Bedzie moze jakis artykul w niedalekiej przyszlosci na temat biblioteki ImageMagic?? uzywam obecnie GD, ale slyszalem sporo opinii że IM jest szybsza. Chcialbym poznac wady i zalety obu.

problem z wykresem
Poniedziałek 03 Styczeń 2011 7:17:11 pm - kroolic

już sobie poradziłem, okazało się że gdy miałem w .htaccess ustawione php_value display_errors 1 , to wtedy pokazuje informacje

Obrazek "http://www.adreswww.pl/wykres.php" nie może zostać wyświetlony, ponieważ zawiera błędy.

ustawienie php_value display_errors 0 , pokazuje wykres, nigdy bym na to nie wpadł, przez przypadek na to trafiłem, pozdrawiam

Przykład 3. Generowanie wykresów w PHP
Poniedziałek 03 Styczeń 2011 5:01:00 pm - kroolic <kroolic_at_op.pl>

Kod i artykuł przejrzysty, tego szukałem, tylko jeden problem z artykułem "Przykład 3. Generowanie wykresów w PHP" - chodzi o to że autor nie podał jak ma wyglądać grafika użyta do wykresów i przeglądarka wyrzuca błąd

Obrazek "http://www.strona.pl/kod.php" nie może zostać wyświetlony, ponieważ zawiera błędy.


dziwny błąd, kod na żywca skopiowany z artykułu. Jeśli to możliwe proszę o uzupełnienie artykułu. Dziękuję.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2017 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System