Mam takie dwa pytania odnośnie posługiwania się biblioteką GD w kontekście skryptu generującego grafikę który robię a z którymi na razie sobie nie poradziłem.
1) Mam problem z zarządzaniem wielkością obrazka nanoszonego na inny obrazek ( nie chodzi o przenikanie ), ale chodzi o jego wymiary wewnętrzne, otóż funkcja imagecopyresized() robi mi jego zoom - czyli zamiast manipulować całym obrazkiem zarządzam jedynie jego kadrem (np obrazek który nakładam na jakieś tło zamiast zawierać zdjęcie całej dziewczyny zawiera górną jej część a dolnej nie ma). Wiem jak przesunąć kadr z jednej części na inną zdjęcja, ale nie potrzebuje kadru, a całe foto. Skrypt poniżej.
$tlo = imagecreateTruecolor(400,400) ; $purple = ImageColorAllocate($tlo,184,3,255) ; imageFill($tlo,0,0,$purple) ; $image = imagecreatefromjpeg('foto/CL.jpg') ; imagecopyresized($tlo, $image, 0, // położenie obrazka od krawędzi tła 0, // położenie obrazka od krawędzi tła 0, // w - wewnętrzne kadrowanie obrazka - przeszuwa obszar kadru wględem szerokości 0, // h - wewnętrzne kadrowanie obrazka - przeszuwa obszar kadru wględem wys. 200 ,// w całego obrazka 200, // h całego obrazka imagesx($tlo), imagesy($tlo) ) ;
imagettftext($tlo, 10 , // wielość czcionka 0 // nachylenie tekstu , 200 // położenie - szerokość , 250 // położenie - wysokość , $white // kolor ,'font/KFMeta-NormalTT.ttf' //czcionka ,'Lannisters always pays their debts.' // tekst ) ;
Ad. 2: http://forum.php.pl/index.php?showtopic=186416&view=findpost&p=908699
Dzięki a dobry link. Dopytam w sprawie nr1. jaką inną funkcją można uzyskać podobny efekt docelowo ( może się uda z jakimś zamiennikiem imagecopyresized()) ?
Zapoznaj się z dokumentacją funkcji.
Kopiujesz obszar [0,0] [399,399] z obrazka z pliku, do [0,0] [199, 199] tła.
Powinieneś raczej kopiować do [0,0] [399,399] tła, obrazek z [0,0] i jakichś tam wymiarów. Skoro kopiujesz z obrazka obszar kwadratowy, to taki efekt uzyskujesz.
Dzięki pomogłeś. GD to trochę nowa dla mnie przygoda, gdzieś się zakręciłem . Wystarczyło zamiast imagesx/y pobrać rozmiary pliku przez getimagesize().
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)