Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Otvorte textový editor , ktorý nerobí bohaté formátovanie textu , ako je napríklad Poznámkový blok , a zadajte otváracia PHP tag : ? . < Php 
 2 
 Napíšte funkciu Bézierove pre kreslenie kriviek . Funkcie knižnice GD neobsahuje takú funkciu , tak si vytvorte vlastný ( pozri zdroje ) . Nasledujúca funkcia používa GD funkcie " imagesetpixel " , ktorý stanovuje pixelu na súradniciach určených druhom a treťom parametrov . Štvrtý parameter určuje farbu a , rovnako ako u väčšiny funkcií GD , prvý parameter je identifikátor obrázka . 
 
 Funkcia bezier ( & $ img , $ x , $ y , $ farba , $ res ) { 
 
 $ cx = 3 * ( $ x [ 1 ] - $ x [ 0 ] ) ; 
 
 $ bx = 3 * ( $ x [ 2 ] - $ x [ 1 ] ) - $ cx ; 
 
 $ ax = $ x [ 3 ] - $ x [ 0 ] - $ cx - $ bx ; 
 
 $ cy = 3 * ( $ y [ 1 ] - $ y [ 0 ] ) ; 
 
 dolárov = 3 * ( $ y [ 2 ] - $ y [ 1 ] ) - $ cy ; 
 
$ ay = $ y [ 3 ] - $ y [ 0 ] - $ cy - dolárov , klipart
 for ( $ i = 0 ; $ i < = $ res ; $ i + + ) { 
 
 $ t = $ i /$ res ; 
 
 $ xt = $ ax * pow ( $ t , 3 ) + bx * pow ( $ t , 2 ) + $ cx * $ t + $ x [ 0 ] ; 
 
 $ yt = $ ay * pow ( $ t , 3 ) + o $ * pow ( $ t , 2 ) + $ cy * $ t + $ y [ 0 ] ; 
 
 imagesetpixel ( $ img , round ( $ xt ) , round ( $ yt ) , $ color ) ; 
 
 } 
 
 } 
 3 
 Inicializácia obraz a farby , ktoré potrebujete . V nasledujúcom príklade kóde , obraz je inicializovaný byť 200 na 200 pixelov , pomocou funkcie " imagecreate " , ktorý tiež vytvára imidž identifikátor " $ img . " Farby červená a biela sú inicializované pomocou funkcie " imagecolorallocate " zadaním hodnoty od 0 do 255 pre červenú , zelenú a modrú . Prvá farba inicializácii bude farba pozadia 
 
 $ img = imagecreate ( 200 , 200 ) ; . 
 
 $ White = imagecolorallocate ( $ img , 255 , 255 , 255 ) ; 
 
 $ červená = imagecolorallocate ( $ img , 255 , 0 , 0 ) ; 
 4 
 Vytvorte dve polia pre x a y súradníc štyroch bodov , ktoré budú určovať tvar Beziérova krivka . Ak chcete určiť tvar krivky , myslím , že čo sa týka dvoch točných vektorov , ktorých veľkosť určuje množstvo hojdať smer vektora má cez krivky , rovnako ako cesty padajúce gule v silnom vetre . Prvý zo štyroch bodov , určuje jeden z koncových bodov krivky a zadnej časti prvého vektora , a druhý určuje hlavu vektora . Vzdialenosť medzi bodmi zodpovedá veľkosti a ich vzájomná poloha určuje smer . Tretí bod je hlava druhého vektora a štvrtý bod je chvost vektora a druhý koncový bod . 
 
 V nasledujúcom príklade , štyri body ( 100 , 40 ) , ( 150 , -10 ) , ( 250 , 80 ) a ( 100 , 180 ) , kde je horný ľavý roh obrázku je ( 0 , 0 ) . Na x - ovej súradnice pre koncové body sú obaja 100 , ktorý im centrá v plátne zľava doprava . Y - súradnice ukazujú prvý koncový bod na 40 je nad sebou na 180. Vektorové hlavy sú ako nad, tak na pravej strane ich koncových bodov . Oddeľte x a y súradnice do vlastných polí : 
 
 $ x_coords = array ( 100 , 150 , 250 , 100 ) ; 
 
 $ y_coords = array ( 40 , -10 , 80 , 180 ) ; 
 5 
 Nakreslite krivku pomocou funkcie Bézierove vytvorili v kroku 2. V príklade funkcie , prvý parameter je identifikátor obrazu , ďalšie dva parametre sú polia pre x a y - ovej súradnice , štvrté je farba , a posledná je rozlíšenie . Parameter rozlíšenie určuje počet bodov , ktoré majú byť vykreslené , takže zadať väčšie číslo pre dobre definované krivky . Napríklad typ : 
 
 bezier ( $ img $ x_coords , $ y_coords , $ červená , 500 ) ; 
 6 
 Znovu súradnice nakresliť krivku na ľavej strane srdce , a pozemok s funkciou Bézierove . Koncové body pre ľavé krivky sú rovnaké ako tie , na pravej strane . Jediná vec , ktorá sa mení , je na x - súradnice pre vektorové hlavy . Medzi nové musí byť čo najviac naľavo od stredu , ako tie predchádzajúce boli napravo od stredu , aby na každej strane , aby bolo ako zrkadlový obraz druhej . Napríklad typ : 
 
 $ x_coords [ 1 ] = 50 ;//Prvý vektor hlava bola 150 
 
 $ x_coords [ 2 ] = -50 ;//Second vector hlava bola 250. . 
 
 bezier ( $ img $ x_coords , $ y_coords , $ červená , 500 ) ; 
 7 
 Zobrazte snímku , a zničiť objekt obrázka uvoľniť pamäť . Funkcia " hlavičkou " , je nutné, aby prehliadač bude považovať výstup ako obrázok . Ukončenie súbor s koncovou značku PHP . Napríklad typ : 
 
 header ( " Content - type : image /png " ) ; 
 
 imagepng ( $ img ) ; 
 
 imagedestroy ( $ img ) ; 
 
 >