Ahoj, mám takový malý dotaz... určitě to budete vědět, když budu mít nějaký text v proměné a budu ho chtít zobrazit na nějaký obrázek, jak udělám aby byl součástí toho obrázku? Tj. aby když uživatel klikne na uložit obrázek, tak aby ten text tam stále byl prakticky myšleno aby se tam prostě "natiskl" či jak to nazvat. Omlouvám se, ale nevím jak to vysvětlit :-( ...
Fórum › PHP
Text v obrázku
Stačí použít GD knihovnu. Návod najdeš v php manuálu, nebo se můžeš podívat třeba sem: http://www.webhostingtalk.com/showthread.php?t=308047
To KIIV : Aha, už vím :D. Na hostingu GD většinou bývá, ale můžeš narazit na problém s překročením paměťového limitu, hlavně pokud budeš pracovat s více obrázky najednou.
To z_moravec : tak jsem to zkusil podle toho, co jsi mi psal... upravil jsem to dle php.net aby to pracovalo s png , ale udělal jsem tam někde chybu a netuším jakou.. :-/
Locahlost mi hází : "Obrázek “http://localhost/sloz/” nelze zobrazit, protože obsahuje chyby."
a hosting vypíše "http://i-open.elvenzone.com/sloz/" což se sice chová jako obrázek, ale todle se zobrazovat nemá...
viz. kód..:
<?php
//PHP's GD class functions can create a variety of output image
//types, this example creates a jpeg
header("Content-Type: image/png");
//open up the image you want to put text over
$im = imagecreatefrompng ("blabla.png");
//The numbers are the RGB values of the color you want to use
$black = ImageColorAllocate($im, 255, 255, 255);
//The canvas's (0,0) position is the upper left corner
//So this is how far down and to the right the text should start
$start_x = 10;
$start_y = 20;
//This writes your text on the image in 12 point using verdana.ttf
//For the type of effects you quoted, you'll want to use a truetype font
//And not one of GD's built in fonts. Just upload the ttf file from your
//c: windows fonts directory to your web server to use it.
Imagettftext($im, 12, 0, $start_x, $start_y, $black, 'arial.ttf', "text");
//Creates the jpeg image and sends it to the browser
//100 is the jpeg quality percentage
Imagepng($im, '', 100);
ImageDestroy($im);
?>
To z_moravec : Ano vše je přímo u toho skriptu.. ono to předtím i vykreslilo (sice bez textu - protože ten font tam nebyl) ale po té co jsem nahrál ten arial.ttf a změnil to v tom skriptu to už dělá to, co jsem psal výše..
Vidím tam jen jednu chybu ve funkci imagepng - kvalita pro png je v intervalu 0-9, kde 0 je nejvyšší kvalita. Ty tam máš 100, což je asi pozůstatek ze skriptu pro jpg soubory.
už jsem to dokopal k zobrazení obrázku, teď se tam nezobrazuje pro změnu ten text...chyba byla někde v u parametru, kde se nastavuje kvalita... ten řádek jsem upravil jen na
Imagepng($im);
teď jen vymáknout, proč nejede ten text .. :-)Zkusil jsem to stáhnout přes lynx a dostal jsem soubor o velikosti přes 3 MB - složenku. Problém bych viděl ve velikosti toho obrázku, myslím, že při zpracování přečerpáš memory limit.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Text na obrázku — založil karel.laska
Text na obrazku — založil Daniel
Zobrazeni obrazku po najeti na text — založil plasmo
Moderátoři diskuze