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

Generowanie grafiki w PHP

Przykład 7. Generowanie obrazka z przezroczystym tłem

Przezroczystość to niezwykle przydatny element grafiki komputerowej, korzystamy z niej w bardzo wielu sytuacjach, między innymi przy cięciu stron internetowych kiedy trzeba nałożyć element "nieprostokątny" na stronę. Znajdziemy ją także przy okazji przeglądania zdjęć - efekt zanikania i pojawiania się nowego opiera się właśnie na niej. W PHP możemy dzięki niej nie tylko utworzyć obrazek z przezroczystym tłem, ale także mieszać wiele obrazków czy wtapiać je w tło. Mam nadzieję że poniższe przykłady dobrze to przedstawią.

Listing 7. Generowanie obrazka z przezroczystym tłem

<?php
$img = imagecreatefromjpeg('zdjecie.jpg');

$col = imagecolorallocatealpha($img, 255, 255, 255, 100);

$img = imagerotate($img, 15, $col);

imagesavealpha($img, true);
imagepng($img, 'temp.png', 9);
?>
<body bgcolor="#BFD19D">
<img src="temp.png" style="position: absolute;" />
Lorem ipsum dolor (...)

Listing 7. Omówienie kodu

W powyższym przykładzie wykorzystałem dwie funkcje o których dotychczas nie wspominałem. Są to jednak funkcje tak proste, że nie ma sensu przytaczać listy parametrów które przyjmują wraz z ich opisami tak jak robiłem to dotychczas, napiszę o nich bardzo krótko:

imagesavealpha()

Funkcja której używać będziemy tylko w wypadku zapisu pliku z przezroczystością, może ona nakazać zapis informacji o przezroczystych kolorach tak jak ma to miejsce w powyższym przykładzie (wartość true) lub zabronić (wartość false lub pominięcie funkcji). Działanie bardzo zbliżone do niej ma funkcja imagecolortransparent() która pozwala uczynić przezroczystym wybrany kolor. Jako parametry przyjmuje ona: uchwyt obrazka i kolor.

imagecolorallocatealpha()

Funkcja niemal identyczna jak omawiana wcześniej imagecolorallocate() z tą tylko różnicą, że przyjmuje ona o jeden parametr więcej. W tym właśnie, piątym parametrze, definiujemy stopień przezroczystości danego koloru nadając mu wartość z zakresu od 0 (nieprzezroczysty) do 127 (najbardziej przezroczysty).

Listing 7. Wynik działania kodu

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