náhledy obrázků pomocí GD knihovny

Čaute,

mám problém při dělání náhledů.

Napsal jsem skript, který pracuje tak, že mám již hotový univerzální obrázek=poklad - šedý obrázek s černým rámečkem a nahranou fotku pak zmenším tak aby se do něj vešla, a poté ji tam vložím.

Problém je, že pokud se fotka nevejde "přesně" do rámečku, vzniknou kolem dva pruhy (nahoře a dole nebo vlevo a vpravo). To je v pořádku; jenomže ten pravý (nebo spodní) je černý, přitom by měl být šedý jako ten levý (horní).

Zde jsou vidět ty náhledy:
http://problem.net-sluzby.cz/nahled.gif




A zde přikládám potom kód:


if(($pripona == "jpg") OR ($pripona == "jpeg")){
$in=ImageCreateFromJPEG($path);
} elseif ($pripona == "gif") {
$in=ImageCreateFromGIF ($path);
} elseif ($pripona == "png"){
$in=ImageCreateFromPNG ($path);
} else {
$s->add("classic-info", "text", "Fotka musí být formátu JPG (JPEG), GIF nebo PNG!");
}

$out = ImageCreateTrueColor($X_new,$Y_new);
ImageCopyResampled($out,$in,0,0,0,0,$X_new,$Y_new,$X,$Y);

$watermark = $out;
$out = ImageCreateTrueColor(100, 66);
$source = imagecreatefromgif("./img/univ.gif");
imageCopy ($out, $source, 0, 0, 0, 0, 100, 66);
$sirka = round ((100 - $X_new) / 2);
$vyska = round ((66 - $Y_new) / 2);
imagecopymerge($out, $watermark, $sirka, $vyska, 0, 0, 100, 66, 100);
ImageJpeg($out,$path2,$quality);
No tak to nás vážně mrzí, ale co s tím máme dělat? Co třeba kdyby jsi se zeptal co a jak s tím? ;)

Btw, problém asi bude v poměru stran obrázku. Kdyby jsi "pouze neměnil rozměr" obrázku, ale i poměr jeho stran, tak by třeba problém zmizel ;)
tak to se omlouvám:
...
prosím, nevíte co s tím? kde dělám chybu?


Tom:
jak ale změním poměr jeho stran? Ten rozdíl tam vidím, ale nevím jak ho převést do PHP...
$sirka = round ((100 - $X_new) / 2);
$vyska = round ((66 - $Y_new) / 2);

Nevím, ale nestačilo by tomu výsledku nastavit pevné rozměry?

No a ještě mě tak napadá: je potřeba péct procesor serveru na generování nějakého rámečku? nestačilo by nastavit těm miniaturám v CSS border: 1px solid #000000; ?

$sirka = round ((100 - $X_new) / 2);
$vyska = round ((66 - $Y_new) / 2);

tohle je tam pro spočítání místa, aby ta zmenšenina fotky byla umístěna na středu toho univerzálního obrázku.
tak už jsem na to přišel.

díky.