náhledy obrázků pomocí GD knihovny
6 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é.
-
Č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.