GD2 a funkcie – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

GD2 a funkcie – PHP – Fórum – Programujte.comGD2 a funkcie – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Smokie0
Expert
25. 5. 2007   #1
-
0
-

Zdravim,

povedzme, ze musim vykreslit obrazok, ktoreho podoba je ovplyvnena roznymi premennymi. Vdaka tomu mi logicky v kode vznika vela switchov a podmienok a niektore casti obrazku sa opakuju aj na viacerych miestach a teda rovnaky kod sa nachadza na viacerych miestach v zdrojovom kode.

Skusal som to podelit do funkcii, ale narazil som na dva problemy, jeden teoreticky a druhy prakticky a dost pravdepodobne so sebou suvisia.
Pokial do funkcie vlozim len same image... funkcie, tak potom nemam co vratit v return a aj obrazok pri pokuse o vykreslenie kodu vo volanej funkcii vypisuje chybu.

Existuje teda nejaky sposob ako vykreslit pomocou gd2 obrazky volanim funkcii?

Nahlásit jako SPAM
IP: ...–
Reklama
Reklama
Prog.0
Věrný člen
25. 5. 2007   #2
-
0
-

Daj nejaky strucny priklad, riesenie urcite existuje...

Nahlásit jako SPAM
IP: ...–
Prog.
Smokie0
Expert
25. 5. 2007   #3
-
0
-

Prog. píše:#
# Daj nejaky strucny priklad, riesenie urcite existuje...

Mal som pocit, ze som to napisal strasne zlozito...:)

Tak napriklad tento kod
imagerectangle($image, 35, 40, 305, 180, $GC);

imageline($image, 125, 55, 130, 55, $GC);
imageline($image, 125, 165, 130, 165, $GC);
imageline($image, 210, 55, 215, 55, $GC);
imageline($image, 210, 165, 215, 165, $GC);

sa v zdrojaku opakuje viackrat a niekde sa aj to co vykresluje posuva na inu poziciu, cize som ho chcel dat do funkcie kvoli zjednoduseniu pripadnej neskorsej editacie:
function obrazok($x1, $y1, $x2, $y2)

{
imagerectangle($image, 35+$x1, 40+$y1, 305+$x2, 180+$y2, $GC);
imageline($image, 125+$x1, 55+$y1, 130+$x2, 55+$y2, $GC);
imageline($image, 125+$x1, 165+$y1, 130+$x2, 165+$y2, $GC);
imageline($image, 210+$x1, 55+$y1, 215+$x2, 55+$y2, $GC);
imageline($image, 210+$x1, 165+$y1, 215+$x2, 165+$y2, $GC);
}


Ale ked to takto urobim a potom tuto funkciu v kode zavolam, tak to prestane fungovat a namiesto obrazku sa objavi chybova hlaska

Nahlásit jako SPAM
IP: ...–
Prog.0
Věrný člen
25. 5. 2007   #4
-
0
-

funkcii predavaj aj ref na $image a $GC:

function obrazok(&$image,&$GC,$x1, $y1, $x2, $y2)

{
imagerectangle($image, 35+$x1, 40+$y1, 305+$x2, 180+$y2, $GC);
imageline($image, 125+$x1, 55+$y1, 130+$x2, 55+$y2, $GC);
imageline($image, 125+$x1, 165+$y1, 130+$x2, 165+$y2, $GC);
imageline($image, 210+$x1, 55+$y1, 215+$x2, 55+$y2, $GC);
imageline($image, 210+$x1, 165+$y1, 215+$x2, 165+$y2, $GC);
}
(http://www.php.net/manual/en/language.references.pass.php)

alebo pouzi globalne premenne:

function obrazok($x1, $y1, $x2, $y2)

{
global $image,$GC;
imagerectangle($image, 35+$x1, 40+$y1, 305+$x2, 180+$y2, $GC);
imageline($image, 125+$x1, 55+$y1, 130+$x2, 55+$y2, $GC);
imageline($image, 125+$x1, 165+$y1, 130+$x2, 165+$y2, $GC);
imageline($image, 210+$x1, 55+$y1, 215+$x2, 55+$y2, $GC);
imageline($image, 210+$x1, 165+$y1, 215+$x2, 165+$y2, $GC);
}
(http://www.php.net/manual/en/language.variables.scope.php)

Nahlásit jako SPAM
IP: ...–
Prog.
Smokie0
Expert
25. 5. 2007   #5
-
0
-

A sakra, samozrejme. Preco mi to skor nedoslo...:)

Dakujem :)

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Podobná vlákna

Vykreslovanie v GD2 kniznice — založil BgDestroy

Rozpadnute obrazky cez GD2 — založil Smokie

Funkcie — založil jordi1811

Casove funkcie — založil netman92

Funkcie a premenne — založil Eidam655

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý