Tworzenie grafiki w PHP
Transkrypt
Tworzenie grafiki w PHP
Instrukcja numer 01 Grafika PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Dynamiczne tworzenie obrazków w PHP <html> <head> </head> zadanie_08.php <body> <?php $obrazek = ImageCreateFromJPEG("foto001.jpg"); $obrazekSzerokosc = ImageSX($obrazek); $obrazekWysokosc = ImageSY($obrazek); $logo = ImageCreateFromPNG("pogoda_04.png"); $logoSzerokosc = ImageSX($logo); $logoWysokosc = ImageSY($logo); $logo_duze=ImageCreateTrueColor($obrazekSzerokosc,$obrazekWysokosc); ImageCopyResized($logo_duze,$logo,0,0,0,0,$obrazekSzerokosc,$obrazekWysokosc,$logoSzerokosc,$logoWysokosc); ImageCopyMerge($obrazek, $logo, 700, 150, 0, 0, $logoSzerokosc, $logoWysokosc,70); ImageJPEG($obrazek,"mini/logo.jpg"); ?> <img src="foto001.jpg"> <img src="pogoda_04.png"> <img src="mini/logo.jpg"> </body> </html> Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 1/9 Dynamiczne tworzenie obrazków w PHP <html> <head> </head> zadanie_09.php <body> <?php $obrazek = ImageCreateFromJPEG("foto001.jpg"); $obrazekSzerokosc = ImageSX($obrazek); $obrazekWysokosc = ImageSY($obrazek); $logo = ImageCreateFromPNG("pogoda_04.png"); $logoSzerokosc = ImageSX($logo); $logoWysokosc = ImageSY($logo); $logo_duze=ImageCreateTrueColor($obrazekSzerokosc,$obrazekWysokosc); ImageCopyResized($logo_duze,$logo,0,0,0,0,$obrazekSzerokosc,$obrazekWysokosc,$logoSzerokosc,$logoWysokosc); ImageCopyMerge($obrazek, $logo_duze, 0, 0, 0, 0, $obrazekSzerokosc, $obrazekWysokosc,70); ImageJPEG($obrazek,"mini/logo.jpg"); ?> <img src="foto001.jpg"> <img src="pogoda_04.png"> <img src="mini/logo.jpg"> </body> </html> Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 2/9 Dynamiczne tworzenie obrazków w PHP <html> <head> </head> zadanie_10.php <body> <?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"> </body> Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 3/9 Dynamiczne tworzenie obrazków w PHP <html> <head> </head> zadanie_11.php <body> <?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"> </body> </html> Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 4/9 Dynamiczne tworzenie obrazków w PHP <html> <head> </head> zadanie_12.php <body> <?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"> </body> </html> Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 5/9 Dynamiczne tworzenie obrazków w PHP zadanie_12.php Zauważ, że litera y w napisie „znak wodny” nie została wyświetlona w całości. Korzystając z opisu funkcji imagettfbbox dostępnego na stronie: http://www.php.net Popraw zadanie w ten sposób, aby napis „znak wodny” wyświetlany był prawidłowo. Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 6/9 Dynamiczne tworzenie obrazków w PHP zadanie_12.php Popraw zadanie w ten sposób, aby napis „znak wodny” wyświetlany był w kolorze pomarańczowym na podkoszulku wykładowcy. Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 7/9 Dynamiczne tworzenie obrazków w PHP zadanie_12.php Popraw zadanie w ten sposób, aby zdjęcie wynikowe było obrócone o 30 stopni. Skorzystaj z funkcji imagerotate Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 8/9 Dynamiczne tworzenie obrazków w PHP zadanie_12.php Popraw zadanie w ten sposób, aby znak wodny obrysowany był niebieską liną. Komentarz / Notatka .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. .................................................................................. © by Dariusz Fabicki Instrukcja numer 01 [v. 2.0] Strona 9/9