Instrukcja numer 03 Grafika PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Dynamiczne tworzenie obrazków w PHP zadanie_10.php <?php $obrazek = ImageCreateFromJPEG("foto001.jpg"); $obrazekszerokosc = ImageSX($obrazek); $obrazekwysokosc = ImageSY($obrazek); $wymiar_napisu=imagettfbbox(36,0,"arbli.ttf","znak WODNY"); $logo = ImageCreateTrueColor($wymiar_napisu[4],-$wymiar_napisu[5]); $kolor=imagecolorexact($logo,255,255,255); imagefill($logo,1,1,$kolor); $kolor=imagecolorexact($logo,0,0,255); imagettftext($logo,36,0,0,-$wymiar_napisu[5],$kolor,"arbli.ttf","znak WODNY"); $logoszerokosc = ImageSX($logo); $logowysokosc = ImageSY($logo); ImageCopyMerge($obrazek, $logo, 700, 150, 0, 0, $logoszerokosc, $logowysokosc,20); ImageJPEG($obrazek,"mini/logo.jpg"); <img src="foto001.jpg"> <img src="mini/logo.jpg"> Komentarz / Notatka by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 1/4
zadanie_11.php <?php $obrazek = ImageCreateFromJPEG("foto001.jpg"); $obrazekszerokosc = ImageSX($obrazek); $obrazekwysokosc = ImageSY($obrazek); $wymiar_napisu=imagettfbbox(36,0,"arbli.ttf","znak WODNY"); $logo = ImageCreateTrueColor($wymiar_napisu[4],-$wymiar_napisu[5]); $kolor=imagecolorexact($logo,255,255,255); imagefill($logo,1,1,$kolor); ImageColorTransparent($logo,$kolor); $kolor=imagecolorexact($logo,255,255,0); imagettftext($logo,36,0,0,-$wymiar_napisu[5],$kolor,"arbli.ttf","znak WODNY"); $logoszerokosc = ImageSX($logo); $logowysokosc = ImageSY($logo); ImageCopyMerge($obrazek, $logo, 700, 150, 0, 0, $logoszerokosc, $logowysokosc,20); ImageJPEG($obrazek,"mini/logo.jpg"); <img src="foto001.jpg"> <img src="mini/logo.jpg"> </html> Komentarz / Notatka by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 2/4
zadanie_12.php <?php $obrazek = ImageCreateFromJPEG("foto001.jpg"); $obrazekszerokosc = ImageSX($obrazek); $obrazekwysokosc = ImageSY($obrazek); $wymiar_napisu=imagettfbbox(36,0,"arbli.ttf","znak wodny"); $logo = ImageCreateTrueColor($wymiar_napisu[4],-$wymiar_napisu[5]); $kolor=imagecolorexact($logo,255,255,255); imagefill($logo,1,1,$kolor); ImageColorTransparent($logo,$kolor); $kolor=imagecolorexact($logo,255,255,0); imagettftext($logo,36,0,0,-$wymiar_napisu[5],$kolor,"arbli.ttf","znak wodny"); $logoszerokosc = ImageSX($logo); $logowysokosc = ImageSY($logo); ImageCopyMerge($obrazek, $logo, 700, 150, 0, 0, $logoszerokosc, $logowysokosc,20); ImageJPEG($obrazek,"mini/logo.jpg"); <img src="foto001.jpg"> <img src="mini/logo.jpg"> </html> Komentarz / Notatka Czy znak wodny wyświetlany jest poprawnie? by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 3/4
zadanie_13.php Zmodyfikuj zadanie 12 w ten sposób, aby każda z trzech składowych koloru napisu była wylosowana z zakresu od 1 do 255 $wynik_losowania=rand(x,y); W powyższym przykładzie pod zmienną $wynik podstawiana jest wartość z zakresu <x,y> $wynik_losowania=rand(40,300); W powyższym przykładzie pod zmienną $wynik podstawiana jest wartość z przedziału <40,300> by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 4/4
zadanie_14.php Zmodyfikuj zadanie 13 w ten sposób, wewnątrz znaku wodnego wpisać elipsę. Wskazówka: użyj funkcji imageellipse by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 5/4
zadanie_15 Utwórz plik banany.dane i wpisz do niego 130 bez znaku ENTERA Utwórz plik pomidory.dane i wpisz do niego 200 bez znaku ENTERA Utwórz plik truskawki.dane i wpisz do niego 70 bez znaku ENTERA Utwórz plik orzechy.dane i wpisz do niego 90 bez znaku ENTERA Utwórz plik jablka.dane i wpisz do niego 150 bez znaku ENTERA by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 6/4
<? $liczba_plików=0; if ($uchwyt = opendir('.')) zadanie_16.php while (false!== ($plik = readdir($uchwyt))) if ($plik!= "." && $plik!= ".." && ereg(".dane",$plik)) $liczba_plików++; $tablica_plikow[$liczba_plików]=$plik; echo ("<br>"); echo ($tablica_plikow[$liczba_plików]); closedir($uchwyt); <hr> Liczba plików z danymi: <? echo ($liczba_plików); </html> by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 7/4
<? $liczba_plików=0; if ($uchwyt = opendir('.')) zadanie_17.php while (false!== ($plik = readdir($uchwyt))) if ($plik!= "." && $plik!= ".." && ereg(".dane",$plik)) $liczba_plików++; $tablica_plikow[$liczba_plików]=$plik; echo ("<br>"); echo ($tablica_plikow[$liczba_plików]); closedir($uchwyt); <hr> Liczba plików z danymi: <? echo ($liczba_plików); <hr> <? for ($x=1;$x<=$liczba_plików;$x++) $nazwa_pliku=$tablica_plikow[$x]; if (file_exists($nazwa_pliku)) $uchwyt_pliku=fopen($nazwa_pliku,"r"); $dane[$x]=(fgets($uchwyt_pliku,filesize($nazwa_pliku)+1)); if ($x==1) $maksimum=$dane[$x]; else if ($dane[$x]>$maksimum) $maksimum=$dane[$x]; fclose($uchwyt_pliku); echo ("<hr> $dane[$x]"); echo ("<img src=linia_01.gif height=10 width=20>"); else echo ("Znaleziona wartość maksymalna to: $maksimum"); </html> by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 8/4
by Dariusz Fabicki Instrukcja numer 03 [v. 2.0] Strona 9/4