Instrukcja numer 02 Grafika PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Dynamiczne tworzenie obrazków w PHP zadanie_01.php <center> <h1>to jest dynamicznie stworzony obrazek</h1> <img src= zadanie_02.php > </center> // pierwsze dwa znaki w pliku Header("Content-type: image/png"); zadanie_02.php $obrazek=imagecreatetruecolor(600,300); ImagePNG($obrazek); by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 1/10
// pierwsze dwa znaki w pliku Header("Content-type: image/png"); zadanie_02.php $obrazek=imagecreatetruecolor(600,300); $kropka=imagecreatefrompng("kropka_01.png"); ImageCopyResized($obrazek,$kropka,0,0,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,590,290,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,590,0,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,0,290,0,0,10,10,10,10); ImagePNG($obrazek); Działanie funkcji ImageCopyResized() wstawia wskazany fragment jednego rysunku do drugiego w określone miejsce dopasowuje rozmiar wstawianego fragmentu do rozmiaru miejsca na niego przeznaczonego (przeprowadza operację skalowania) $modyfikowany=imagecreatetruecolor(600,300); $material=imagecreatefrompng("kropka_01.png"); ImageCopyResized($modyfikowany,$material,$x1,$y1,$x2,$y2,$m1,$n1,$m2,$n2); ($x1,$y1) $m1 $n1 $modyfikowany ($x2,$y2) $m2 $n2 $material by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 2/10
// pierwsze dwa znaki w pliku Header("Content-type: image/png"); zadanie_02.php $obrazek=imagecreatetruecolor(600,300); $kropka=imagecreatefrompng("kropka_01.png"); $pogoda_01=imagecreatefrompng("pogoda_01.png"); $pogoda_02=imagecreatefrompng("pogoda_02.png"); $pogoda_03=imagecreatefrompng("pogoda_03.png"); $pogoda_04=imagecreatefrompng("pogoda_04.png"); $pogoda_05=imagecreatefrompng("pogoda_05.png"); ImageCopyResized($obrazek,$kropka,0,0,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,590,290,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,590,0,0,0,10,10,10,10); ImageCopyResized($obrazek,$kropka,0,290,0,0,10,10,10,10); ImageCopyResized($obrazek,$pogoda_01,10,10,0,0,100,100,100,100); ImageCopyResized($obrazek,$pogoda_02,490,192,0,0,100,100,100,100); ImageCopyResized($obrazek,$pogoda_03,490,10,0,0,100,100,100,100); ImageCopyResized($obrazek,$pogoda_04,10,190,0,0,100,100,100,100); ImageCopyResized($obrazek,$pogoda_05,250,100,0,0,100,100,100,100); ImagePNG($obrazek); Definiowanie koloru i wstawianie napisu Zapis ogólny: $kolor=imagecolorexact ($obrazek, $czerwony, $zielony, $niebieski); ImageString ($obrazek, $rozmiar, $x, $y, "Witaj na kursie PHP...", $kolor); Zapis praktyczny: $kolor=imagecolorexact ($obrazek, 155, 100, 100); ImageString ($obrazek, 5, 200, 250, "Witaj na kursie PHP...", $kolor); Definiowanie koloru i wstawianie tekstu czcionką TrueType $kolor=imagecolorexact ($obrazek, 255, 255, 0); imagettftext ( $obrazek, 36, -7, 120, 50, $kolor, "serifan.ttf", "Mam to w "); by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 3/10
zadanie_03.php <center> <h1>wyszukiwanie plików jpg i JPG</h1> $liczba_zdjec=0; if ($uchwyt = opendir('.')) { while (false!== ($plik = readdir($uchwyt))) { if ($plik!= "." && $plik!= ".." && ereg(".jpg",$plik) ereg(".jpg",$plik)) { $liczba_zdjec++; closedir($uchwyt); </center> Liczba zdjęć: echo ($liczba_zdjec); by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 4/10
zadanie_04.php $rozmiar = getimagesize("http://ocm.oeiizk.edu.pl/grafika/winieta.gif"); echo ($rozmiar); zadanie_04.php $rozmiar = getimagesize("http://ocm.oeiizk.edu.pl/grafika/winieta.gif"); echo ($rozmiar); Szerokość echo ($rozmiar[0]); Wysokość echo ($rozmiar[1]); Typ pliku echo ($rozmiar[2]); <br> 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel), 8 = TIFF(motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM Szerokość i wysokość echo ($rozmiar[3]); <img src="http://ocm.oeiizk.edu.pl/grafika/winieta.gif"> by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 5/10
zadanie_05.php $rozmiar = getimagesize("foto01.jpg"); echo ($rozmiar); Szerokość echo ($rozmiar[0]); Wysokość echo ($rozmiar[1]); Typ pliku echo ($rozmiar[2]); <br> 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel), 8 = TIFF(motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM Szerokość i wysokość echo ($rozmiar[3]); <img src="foto01.jpg"> by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 6/10
$liczba_zdjec=0; if ($uchwyt = opendir('.')) { zadanie_06.php while (false!== ($plik = readdir($uchwyt))) { if ($plik!= "." && $plik!= ".." && ereg(".jpg",$plik) ereg(".jpg",$plik)) { $liczba_zdjec++; $tablica_plikow[$liczba_zdjec]=$plik; echo ("<br>"); echo ($tablica_plikow[$liczba_zdjec]); closedir($uchwyt); Liczba plików jpg: echo ($liczba_zdjec); by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 7/10
$nazwa_pliku="foto01.jpg"; zadanie_07.php $rozmiar = getimagesize($nazwa_pliku); $szerokosc=$rozmiar[0]; $wysokosc=$rozmiar[1]; $nowa_wysokosc=100; $nowa_szerokosc= $szerokosc*($nowa_wysokosc/$wysokosc); $oryginal=imagecreatefromjpeg($nazwa_pliku); $obrazek=imagecreatetruecolor($nowa_szerokosc,$nowa_wysokosc); ImageCopyResized($obrazek,$oryginal,0,0,0,0,$nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc); ImageJPEG($obrazek,"mini/$nazwa_pliku"); Miniaturka utworzona <img src= mini/foto01.jpg > by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 8/10
$nazwa_pliku="foto01.jpg"; zadanie_07.php $rozmiar = getimagesize($nazwa_pliku); $szerokosc=$rozmiar[0]; $wysokosc=$rozmiar[1]; $nowa_wysokosc=100; $nowa_szerokosc= $szerokosc*($nowa_wysokosc/$wysokosc); $oryginal=imagecreatefromjpeg($nazwa_pliku); $obrazek=imagecreatetruecolor($nowa_szerokosc,$nowa_wysokosc); ImageCopyResized($obrazek,$oryginal,0,0,0,0,$nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc); ImageJPEG($obrazek,"mini/$nazwa_pliku",20); Miniaturka utworzona <img src= mini/foto01.jpg > by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 9/10
$nazwa_pliku="foto01.jpg"; zadanie_07.php $rozmiar = getimagesize($nazwa_pliku); $szerokosc=$rozmiar[0]; $wysokosc=$rozmiar[1]; $nowa_wysokosc=100; $nowa_szerokosc= $szerokosc*($nowa_wysokosc/$wysokosc); $oryginal=imagecreatefromjpeg($nazwa_pliku); $obrazek=imagecreatetruecolor($nowa_szerokosc,$nowa_wysokosc); ImageCopyResized($obrazek,$oryginal,0,0,0,0,$nowa_szerokosc,$nowa_wysokosc,$szerokosc,$wysokosc); ImageJPEG($obrazek,"mini/$nazwa_pliku",70); Miniaturka utworzona <img src= mini/foto01.jpg > by Dariusz Fabicki Instrukcja numer 02 [v. 2.0] Strona 10/10