Kod
PNG IHDRCk)MIDATx]M\Օ>شn8 `, (;E,P$B(̌b2f@ʆE ag%E)DD&(6&v3UM>Uzu}uϽe8zc\-<<<|xĆH*"d6!y-:1f`|]< ~,RN5R"fqEyZ[~{F gF(HJ5 juEðZF}K{SNguu55; *eHYk5%)X7z$"DN k#RAJgf̑#Z\T(xu]bО1c rbRP)љ[eE'0AFAɘdq7d-Zpjg{aAn '̜$I5W#&?cj%'jN5d <$c;jJE/OϞ8qҫv?aO gA)'QÏ541=^|Q}]wčMda$1| p}RÄ,3IVZ($ d͐K~x[ykHk.5\WZW|٫y (yRr0"h$m85_fȟRJi)ZZ 1b)cjc6M!_[b{w?D_uz}Wb@8 r߄ Ȍ&M^zy=^-K)\'{8ĞZӊsYl$M]UR.~Jꭷj ^)R t"!dfdF٤e[="Ɇ"""f>=6%&fc8јhI(N8lan9IF!O26.!ϸn\(7b)4n"6,Y4DsR)լME C['~[zii<u0bfb&"˨q]:w}bP*\.D2"Hem2g,/ GyNqUou79s?Te9DʭɸDل_oqP[ PkbDbe\6!fp7?ʍ7vu?lW[=xzu=tHϞݚn=s9,)9yi)NӬnx-DFDDHQцYP/1_CxPAɣGgzȟEi߾7==D&,fJU)'բuKYbARX*/~pB03ȑg0 `LJ˙寇"I)ўdEaZw1u[3<rXiX~-TX-bQJJp#UmvܹfNs*皊bo]ȑMN`>:3RnSR<9+Fˮ\) S|Q)3+,[]Dq0bh.\`vv[?͢I aO0o3@a8bBƅ^[ l"m!9}ڎ>Aw:}*(T (gծnmа?;s6 BCJIEV($*d%y:S?X~Wss|izYM*Dv@g)| $]Oyq(5`?:|zRO'r![ T6@.qdD X8JF#G(MejgГ?!HDbu]\rpbeA6F+xfS<SĚ 4Gygt *S.<~C7rC4)sB &D Q"ev};"SS;59BK8JIg\<0ZϧXܫ]l?fM0w;D1D cvlWbz8;ϓuLY謷*V߈DW#LQ2D Q1&Jrs(b\={8 (ncbuiw)B=߶-6緿5.SgzxL`K[cs-*&0#2&\nEBDaz^5x@:QDaJ)(r-*P&2DԧTRJ%K{H8Ba)mۖ|яpu}%Zwk< &DyNs]}:*J\ -=]/*APVumVVֺ]O?Tb>G&e^ط}0VZZei})b\ADQTi[ܲկ?) Ȳs9B}[!̲ 4̎1.7.[Z:11QׅBKmhїB0,˥8n//8Z%)e օݰRD`}N87<;[)d"})IиyQcj$I&\/.,p!27G:`]c 苶0y̭Z;77r-T e'zH!9}_XP8;;
tworz_przycisk.php
<?php // sprawdzenie, czy dostpne s odpowiednie dane zmiennych // zmienne to tekst_przycisku oraz kolor $tekst_przycisku = $_REQUEST['tekst_przycisku']; $kolor = $_REQUEST['kolor']; { exit; } // utworzenie obrazka o prawidowym tle oraz sprawdzenie wielkoci $ob = imagecreatefrompng($kolor.'-przycisk.png'); $szerokosc_obrazka = imagesx($ob); $wysokosc_obrazka = imagesy($ob); // przyciski musz mie 18-pikselowy margines od krawdzi $szerokosc_obrazka_bez_marginesow = $szerokosc_obrazka - (2 * 18); $wysokosc_obrazka_bez_marginesow = $wysokosc_obrazka - (2 * 18); // Obliczenie pasujcego rozmiaru czcionki i odpowiednie jego zmniejszenie // Rozpoczcie od najwikszego rozmiaru, ktry intuicyjnie pasowaby do przyciskw $rozmiar_czcionki = 33; // Trzeba wskaza GD2, gdzie znajduj si czcionki $nazwa_czcionki = 'ARIAL.TTF'; do { $rozmiar_czcionki--; //obliczenie rozmiaru tekstu przy tym rozmiarze czcionki $bbox=imagettfbbox($rozmiar_czcionki, 0, $nazwa_czcionki, $tekst_przycisku); $tekst_prawy = $bbox[2]; //prawa wsprzdna $tekst_lewy = $bbox[0]; //lewa wsprzdna $szerokosc_tekstu = $tekst_prawy - $tekst_lewy; // jaki szeroki? } while ($rozmiar_czcionki > 8 && ($wysokosc_tekstu > $wysokosc_obrazka_bez_marginesow || $szerokosc_tekstu > $szerokosc_obrazka_bez_marginesow) ); if ($wysokosc_tekstu>$wysokosc_obrazka_bez_marginesow || $szerokosc_tekstu>$szerokosc_obrazka_bez_marginesow) { // aden moliwy do odczytania rozmiar czcionki nie pasuje } else { // odnaleziono pasujcy rozmiar czcionki // teraz naley obliczy jego wsprzdne $tekst_x = $szerokosc_obrazka/2.0 - $szerokosc_tekstu/2.0; $tekst_y = $wysokosc_obrazka/2.0 - $wysokosc_tekstu/2.0; if ($tekst_lewy < 0) $tekst_y += $nad_linia_tekstu; //dodanie wspczynnika podstawy $tekst_y -= 2; // wspczynnik dostosowania do ksztatu szablonu $bialy = imagecolorallocate($ob, 255, 255, 255); imagettftext($ob, $rozmiar_czcionki, 0, $tekst_x, $tekst_y, $bialy, $nazwa_czcionki, $tekst_przycisku); imagepng($ob); } imagedestroy($ob); ?>