Doplnění obrázku na dané rozměry
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Potřeboval bych doplnit obrázek např. černou barvou na určitý rozměr. Např. mám obrázek 160 * 120 px a potřebuji ho doplnit na velikost 300 * 300 px, ale jen tím, že ho "obklopím" černou.
-
no, já bych to zkusil asi takto: <? //$soubor=cesta kobrazku $soubor=$_REQUEST['soubor']; header("Content-type: image/png");//budeme posilat jako png $obrazek = imagecreate(300, 300); $pozadi = imagecolorallocate($obrazek, 0, 0, 0); $vnitrek = imagecreatefromjpeg($soubor); $info=getimagesize($soubor); $zleva=(300-$info[0])/2; //spocitame umisteni doprostred $shora=(300-$info[1])/2; imagecopyresized($obrazek,$vnitrek,$zleva,$shora,1,1,$new_width,100,$info[0],$info[1]); //zkopirujem vstupni dobrazek doporostred vystupniho imagepng($obrazek);//odesleme hotovy obrazek imagedestroy($vnitrek); imagedestroy($obrazek);//uvolnime pamet ?> jako parametr pošleš ?soubor=cesta_k_obrazku neladil jsem to, tak to možná bude třeba ještě trochu doladit...
-
Dík, je to ono, ale asi jsi zapomněl využít $pozadi. Bez toho je černý, jak by se dalo změnit na jinou barvu?
-
no já myslel, že to má být černé...... pokud chceš bílé, tak $pozadi = imagecolorallocate($obrazek, 255, 255, 255); ty čísla jsou RGB... namícháš si jakoukoliv barvu...
-
A když bych potřeboval imageceatetruecolor (300, 300), jak mám nastavit barvu pozadí? Imagecollorallocate bere jen imagecreate, a ne imagecreatetruecolor.
-
Já myslím, že by to mělo jít aji s truecolor, ale nevím, pokud ne, tak by třeba šlo si udělat obrázek 300 x 300 který by byl jen černá plocha (případně jakákoliv jiná) a místo createtruecolor(300,300) použít ImageCreateFromPNG("ceseta_k_podkladu");
-
S imagecreatetruecolor to nejde, v manuálu je jedině s imagecreate. S tím PNG to zabralo, takže díky moc.