Autor Zpráva
worldd
Profil *
Zdravim, potřeboval bych poradit pri zmenšování obrázků s příponou gif nebo png ->průhledné pozadí

našel jsem si funkci na resize +moje menší úpravy:

function resizer(
$filename, //cesta k souboru, ktery chcete zmensit
$copypath, //cesta, kam zmenseny soubor ulozit
$MaxWidth, //maximalni sirka zmenseneho obrazku
$MaxHeight) //maximalni vyska zmenseneho obrazku
{
global $avatar_ext;

//zjistime puvodni velikost obrazku
list($OrigWidth, $OrigHeight) = getimagesize($filename);

//hodnota 0 v parametrech MaxWidth resp. MaxHeight znamena,
//ze sirka resp. vyska vysledku muze byt libovolna
if($MaxWidth == 0)
$MaxWidth = $OrigWidth;
if($MaxHeight == 0)
$MaxHeight = $OrigHeight;

//nyni vypocitam pomer zmenseni
$pw = $OrigWidth / $MaxWidth;
$ph = $OrigHeight / $MaxHeight;

if($pw > $ph){
$p = $pw;
}else{
$p = $ph;
}
if($p < 1){
$p = 1;
}

//v p ted mame pomer pro zmenseni
//vypocitame vysku a sirku zmenseneho obrazku
$NewWidth = (int)$OrigWidth / $p;
$NewHeight = (int)$OrigHeight / $p;

//vytvorime novy obrazek pozadovane vysky a sirky
$image_p = imagecreatetruecolor($NewWidth,$NewHeight);

if($avatar_ext == '.jpg'){
//otevreme puvodni obrazek ze souboru (jpg)
$image = imagecreatefromjpeg($filename);
}elseif($avatar_ext == '.gif'){
//otevreme puvodni obrazek ze souboru (gif)
$image = imagecreatefromgif($filename);
$transparent = imagecolorallocatealpha($image_p, 255, 255, 255, 127);
imagefill($image_p, 0, 0, $transparent);
$transparent = imagecolortransparent($image);
}elseif($avatar_ext == '.png'){
//otevreme puvodni obrazek ze souboru (png)
$image = imagecreatefrompng($filename);
$transparent = imagecolorallocatealpha($image_p, 255, 255, 255, 127);
imagefill($image_p, 0, 0, $transparent);
}

//a okopirujeme zmenseny puvodni obrazek do noveho
imagecopyresampled($image_p,$image,0,0,0,0,$NewWidth,$NewHeight,$OrigW idth,$OrigHeight);

if($avatar_ext == '.jpg'){
//a ulozime jako jpg
imagejpeg($image_p, $copypath, 100);
}elseif($avatar_ext == '.gif'){
//a ulozime jako gif
imagegif($image_p, $copypath, 100);
}elseif($avatar_ext == '.png'){
//a ulozime jako png
imagepng($image_p, $copypath, 100);
}
}


jenže takhle se průhledná barva vyplní bílou barvou, můžete mi někdo, prosím, poradit jak tu průhlednost vyřešit?
worldd
Profil *
prosím, poradíte někdo?
worldd
Profil *
tak už to mám, našel jsem to na tomto fóru:
http://forums.invisionpower.com/lofiversion/index.php/t209562.html

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