Autor Zpráva
pmasarik
Profil
Snažim sa urobiť upload obrázku na server s tým že ten obrázok spracujem a pri tom spracúvaní s neho urobím dalšie dva, ale potrebujem aby mali inú farbu pozadia.

Potrebujem viac menej poradiť či to robím správne, lebo už som niečo naškrábal a aj mi to funguje, len neviem či nie je náhodou lepšie riešenie.

Dalej mi ešte ide o to že teraz ten vstupný obrázok musí byť transparentný, teda prichádza do úvahy len PNG, ale na tieto obrázky by sa mi skôr hodil JPG formát.
Prehladal som snáď všetko, ale nikde som nenašiel či by sa pomocou PHP dala meniť jedna farba v JPG obrázku.
Ak by niečo také bolo tak by som skúsil dat na pozadie zdrojového obrázku nejakú farbu a tú by som menil, aj ked to bude asi škaredé lebo prechody budú kockaté :-(

Dík za každé nakopnutie...


//spracovanie formulára tu nepíšem...
$uploadfile_tmp = $uploaddir. $uploadfile; //obrazok 100% velkost
list($width, $height) = getimagesize($uploadfile_tmp); //zistim rozmery
//urobim 50% velkost
$newwidth = $width/2;
$newheight = $height/2;

$thumb = imagecreatetruecolor($newwidth, $newheight); //urobim obrazok danych rozmerov

$bg_color = imagecolorallocate($thumb, 2, 22, 108); //farba pozadia
imagefill($thumb,0,0,$bg_color); //farbu dam na pozadie

$source = imagecreatefrompng($uploadfile_tmp);//podla coho robit novy obrazok
// Resize
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagepng($thumb, $uploaddir_small.$uploadfile); //zapiseme novy 50% obrazok do adresara small
imagedestroy($thumb);
Toto téma je uzamčeno. Odpověď nelze zaslat.

0