Autor Zpráva
Focus
Profil *
Ahoj,
V PHP jsem pokročilý, ale z touto funkcí jsem dělal po prvé.
$imgy = "xx";
        header('Content-Type: image/png');
        $img = imagecreatefrompng($imgy);
        $font = 'font/Harabara.ttf';
        $col = imagecolorallocate($img, 120, 149, 36);
        $color = imagecolorallocate($img, 255, 255, 255);
        imagettftext($img, 12, 0, 10, 20, $col, $font, "xx:");
        imagettftext($img, 12, 0, 40, 20, $color, $font, "xxx");
        imagettftext($img, 12, 0, 10, 33, $col, $font, "xxx:");
        imagettftext($img, 12, 0, 92, 33, $color, $font, "xx");
        imagettftext($img, 12, 0, 10, 46, $col, $font, "xx:");
        imagettftext($img, 12, 0, 110, 46, $color, $font, "xxx");
        imagettftext($img, 12, 0, 10, 59, $col, $font, "xxx:");
        imagettftext($img, 12, 0, 42, 59, $color, $font, "xxxil");
        imagettftext($img, 12, 0, 10, 72, $col, $font, "xxx");
        imagettftext($img, 12, 0, 50, 72, $color, $font, "xx");
        imagettftext($img, 12, 0, 10, 85, $col, $font, "xx:");
        imagettftext($img, 12, 0, 70, 85, $color, $font, "xxb");
        header("Content-Type: image/png");
        imagepng($img); 

Vygeneruje to obrázek, jenž si můžou uživatelé vložit do podpisu na webu, ale přes [img] se mi to nezobrazuje.
URL je taková: index.php?generator=text a já potřebuji, aby to šlo zobrazit i v [img] - takže *png.
Doufám, že mě chápete.
Děkuji Vám za pomoc.
Camo
Profil
Focus:
Chceš povedať, že [img] php súbory neberie???
Tak potom jedine cez mod rewrite presmerovať *.png súbor na php.
Focus
Profil *
Nebere no :) Zobrazí se jen ta bílá ikonka.
A to přes mod rewrite, jak konkrétně ?:D
Taps
Profil
Focus:
řešením by mohlo být, vygenerovat obrázek, poté ho uložit na server a uložený obrázek poté zobrazít v [img]
Focus
Profil *
Problém je v tom, že ten obrázek se pořád aktualizuje - bere to informace z jiného souboru a ty zapisuje do obrázku..
Taps
Profil
Focus:
Problém ? uložený obrázek se přeci může přepisovat.
Camo
Profil
Focus:
No asi by bolo najlepšie, keby si to spravil tak ako píše Taps.
Takéto generovanie obrázkov za jazdy nieje dobrý nápad.
Focus
Profil *
Camo:
Problém je v tom, že s tou funkcí nemám takové zkušenosti - takže mě nenapadá, jak to udělat :)
Taps
Profil
Focus:
u funkce
 imagepng($img,'test.png'); 
je druhým parametrem název obrázku..ještě zkus vyhodit funkce header a mělo by to fungovat.
Focus
Profil *
Taps:
Dobře, díky. A ještě dotaz, ty aktualizace mám jak udělat ?
Taps
Profil
Focus:
jednoduše. soubor se stejným názvem se automaticky přepíše
Focus
Profil *
To, aby se to změnilo na png jsem udělal, ale pořád mě nenapadá ta aktualizace. Je to pro jeden herní server, ze kterého se tahají ty informace a zapisují do obrázku.. Nenapadá mě, jak to aktualizovat no..
Taps
Profil
Focus:
spuštění skriptu=vygenerování nového obrázku + jeho uložení -> dojde k přepsání původního obrázku
Focus
Profil *
Taps:
Ano, ale ten script se spouští jen když uživatel vyplní formulář :)
Taps
Profil
Focus:
OK, a v čem je problém ?
Focus
Profil *
No jak mám spouštět ten script pro každého uživatele, aby se to zaktualizovalo?
Protože ten obrázek se aktualizuje jen po vyplnění formuláře.
Taps
Profil
Focus:
třeba to udělat tak aby se nový obrázek vygeneroval po přihlášení uživatele, po vstupu na danou stránku..atd...možností je celá řada..já neznám všechny souvztažnosti.
Focus
Profil *
Hm.. To by šlo.. Akorát, že přihlašování uživatele je na jednom serveru a to vytahování informací je zase na druhém.. Takže to asi nepůjde..
Taps
Profil
Focus:
myslím, že to půjde, stačí mít jen dostatečné znalosti
peta
Profil
Focus: Puvodni problem zobrazeni obrazku je vyresen?
<?php
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on"); 
error_reporting(E_ALL);

//$imgy = "xx";
$imgy = "img-x-source.png";
//        header('Content-Type: image/png');
$img = imagecreatefrompng($imgy);
//$font = 'font/Harabara.ttf';
$font = 'arial.ttf';
$a   = imagecolorallocate($img, 120, 149, 36);
$b = imagecolorallocate($img, 255, 255, 255);
imagettftext($img, 12, 0, 10, 20, $a, $font, "xx:");
imagettftext($img, 12, 0, 40, 20, $b, $font, "xxx");
imagettftext($img, 12, 0, 10, 33, $a, $font, "xxx:");
imagettftext($img, 12, 0, 92, 33, $b, $font, "xx");
imagettftext($img, 12, 0, 10, 46, $a, $font, "xx:");
imagettftext($img, 12, 0, 110, 46, $b, $font, "xxx");
imagettftext($img, 12, 0, 10, 59, $a, $font, "xxx:");
imagettftext($img, 12, 0, 42, 59, $b, $font, "xxxil");
imagettftext($img, 12, 0, 10, 72, $a, $font, "xxx");
imagettftext($img, 12, 0, 50, 72, $b, $font, "xx");
imagettftext($img, 12, 0, 10, 85, $a, $font, "xx:");
imagettftext($img, 12, 0, 70, 85, $b, $font, "xxb");
header("Content-Type: image/png");
imagepng($img);
imagedestroy($img); 
?>
Ve slozce mam tyto soubory
arial.ttf
img-x.php
img-x-source.png
img-x-test.htm 
Par veci jsem zakomentoval, pridal error_reporting, nahral do slozky font arial, nahral do slozky obrazek, zmenil nazev oteviraneho obrazku na $imgy = "img-x-source.png";, pridal imagedestroy. Pro testovani jsem zakomentoval obe header, abych videl, jake chyby to pise. Vesmes jsem postupoval podle prikladu a instrukci na
http://cz1.php.net/manual/en/function.imagecreatefrompng.php
http://cz1.php.net/manual/en/function.imagettftext.php
http://cz1.php.net/manual/en/function.imagepng.php

Pak, kdyz se mi obrazek img-x.php (ten php kod) zobrazil, jsem si vyrobil img-x-test.htm obsahujici <img src="img-x.php"> a ten se mi take zobrazil.
Co z toho plyne? Ze jsi nedodrzel postup z manualu nebo nemas nakopirovane vsechny soubory, zdrojovy obrazek, font, php kod ti ale pak musi vypsat chyby (kdyz mu zakomentujes header, obe, nevim, proc to mas duplicitne a tez zakomentujes imagepng, aby nezobrazoval obrazek, dokud jsou v kodu chyby).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0