Autor | Zpráva | ||
---|---|---|---|
lorin Profil |
#1 · Zasláno: 18. 3. 2013, 21:50:23
Dobrý večer, snažím se napsat PHP kód, který na černé pozadí vypíše nějaký text, vloží několik obrázků a nakonec vytvoří obrázek ke stažení.
Zde je můj kód: // Výška a šířka obrázku na pozadí. $width = 512; $height = 128; // Načtení obrázku, který chci do pozadí nakopírovat $logo = imagecreatefrompng("obrazek.png"); // Vytvoření obrázku -> pozadí. $image = imagecreatetruecolor($width, $height); // Funkce hex2rgb vrací pole array(RED, GREEN, BLUE) $bg_color = hex2rgb($_GET["bg_color"]); // Barva pozadí (černá) $font_color = hex2rgb($_GET["font_color"]); // Barva textu (bílá) // Obarví pozadí černě imagefilledrectangle($image, 0, 0, $width, $height, imagecolorallocate($image, $bg_color[0], $bg_color[1], $bg_color[2])); // Text pro vložení do pozadí imagestring($image, 5, 10, 10, "test", imagecolorallocate($image, $font_color[0], $font_color[1], $font_color[2])); // Vloží logo do obrázku na pozadí imagecopy($image, $logo, 10, 30, $width, $height, 64, 64); // Vytvoří celkový obrázek imagepng($image, "test.png"); // Zobrazí obrázek echo "<img src='test.png'/>"; // Uvolní paměť imagedestroy($image); imagedestroy($logo); Vytvoření černého pozadí, vypsání textu a vlastně i kopírování obrázku funguje. Problém je, že kopírovaný obrázek (logo.png) není vidět. Pokud ho ale umístím "nad text", text zmizí. Řekl bych tedy, že logo tam opravdu je. Jen není vidět ;). Nemá někdo tušení, čím by to mohlo být? Je nutné vyhradit si každou barvu, která se v logu vyskytuje? Děkuji, lorin |
||
lorin Profil |
#2 · Zasláno: 19. 3. 2013, 13:16:34
Už vím kde byla chyba.
imagecopy($image, $logo, 10, 30, $width, $height, 64, 64); má být imagecopy($image, $logo, 10, 30, 0, 0, 64, 64); |
||
Časová prodleva: 11 let
|
0