Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako kresliť srdce s PHP GD

programovací jazyk , Hypertext Preprocessor ( PHP ) je grafická knižnica s názvom grafika kresliť ( GD ) . GD umožňuje dynamicky vytvárať obrázky podľa meniacich sa okolností , ako sú grafy , ktoré sú vždy aktualizované alebo vodoznaky na užívateľom nahrané obrázky . Či už chcete nakresliť srdce alebo akýkoľvek iný tvar , ostrenie svoje schopnosti vytvoriť akýkoľvek druh obrazu , ktorý chcete bude rozširovať možnosti , čo môžete robiť s knižnicou GD . Pokyny dovolená 1

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 ) ;

>

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené