Č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; ?