Generováni náhledů pomocí php
8 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é.
-
DD, chtěl bych se zeptat jestli by mi mohl pomoct "zkušenější či profesionálnější" začátečník než sem já. Můj problém je v generováni obrázku do galerie pomocí PHP ( po vygenerováni jsou rozměry v pořádku ale barvy na obrázku divné) koukněte zde http://sdhstity.wz.cz/test/ , skript si můžete stáhnout zde http://sdhstity.wz.cz/generovani_nahledu_php.zip po více jak dvou dnech si vážně už nevím rady. Tento skript sem převzal z http://www.webguru.cz/clanky/view.php?id=87
-
Zdravim.. nevim ktere hovado psalo ty funkce na webguru, ale i kdybych to videl jako zacatecnik tak to neokopiruju ale hledam jinde ... imho je problem v pouziti funkce imagecreate() ktera je zastarala a doporucuje se pouzivat funkce imagecreatetruecolor() .... http://cz.php.net/imagecreate http://cz.php.net/imagecreatetruecolor
-
Aha tak to mu ja az tak moc nerozumim. Takže jak bude vypadat script pro image_thumb.php tohle je original: <? include "./func.php"; Header("Content-type: image/jpeg"); $exp=GMDate("D, d M Y H:i:s",time()+999); Header("Expires: $exp GMT"); $img=ImageCreate(100,100); $info=getimagesize($path); $size=filesize($path); $size=Round($size/1024,2); $text="$info[0]x$info[1], $size kB"; $name=Explode("/",$path); $max=(SizeOf($name)-1); $dir=""; for ($i=0;$i<$max;$i++){ $dir.="$name[$i]/"; } $name=$name[$max]; //int imagecopyresized(resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH) if ($info[2]==2){ //JPEG $img_in=@imagecreatefromjpeg($path); $new_width = floor($info[0]/($info[1]/100)); // kvuli zarovnani velikostnich pomeru $new_pozice = (100-$new_width)/2;// kvuli vycentrovani imagecopyresized($img,$img_in,$new_pozice,0,0,00,$new_width,100,$info[0],$info[1]); } elseif ($info[2]==3){ //PNG $img_in=@imagecreatefrompng($path); $new_width = floor($info[0]/($info[1]/100)); // kvuli zarovnani velikostnich pomeru $new_pozice = (100-$new_width)/2;// kvuli vycentrovani imagecopyresized($img,$img_in, 0, 0, 0,$new_width,100,$info[0],$info[1]); } else { $img=@imagecreatefrompng("./file.png"); $tmp=Explode(".",$name); $max=SizeOf($tmp)-1; $tmp="- $tmp[$max] -"; $tmp=txt2UTF("$tmp"); } $thumb_file=$dir . $name . "_thumb.jpg"; ImageJpeg($img,$thumb_file); ImageJpeg($img); ?>
-
<HTML>Škoda, že tohle fórum nemá [code] pseudotagy, tohle se špatně luští. Podle Freezovy rady však máte zaměnit funkci <code>imagecreate</code> za <code>imagecreatetruecolor</code>.</HTML>
-
A jo už vím :) stejně to ale negeneruje obrázky v kvalitě
-
Pro změnu velikosti obrázku můžeš použít místo funkce imagecopyresized() funkci imagecopyresampled(). Je to vylepšená metoda zvětšování/zmenšování obrázku. Jinak je mít na paměti, že ke změně velikosti dochází k degeneraci obrázku. Takže se musí očekávat horší kvalita oproti originálu.
-
Tak bude problem v kopirovani obrazku - zkus pouzit i resample -> misto funkce imagecopyresized() pouzij imagecopyresampled()... ______ Osobne mi pro JPG funguje toto uplne bez problemů .. $image_p = imagecreatetruecolor($NewWidth, $NewHeight); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $NewWidth, $NewHeight, $OrigWidth, $OrigHeight); imagejpeg($image_p, $copypath, 100); Proto jsem videl problem v pouziti funkce imagecreate() ... nahled: http://fotky.icebolt.info/Cyklistak/B1025.jpg puvodni: http://fotky.icebolt.info/Cyklistak/1025.jpg nahled: http://fotky.icebolt.info/Cyklistak/B1030.jpg puvodni: http://fotky.icebolt.info/Cyklistak/1030.jpg Problem jsem nemel ani s PNG (kdyz se zmenila funkce:) ..
-
RE: (Tomík, Freeze) Díky, vaše vzkazy jsou od sebe jen pár minut, takže je vidět že víte o co tu běží. Vaše rady byly správné a dopadly takto: základní verze: http://www.sdhstity.wz.cz/puvod/images/DSC01628.JPG_thumb.jpg po úpravě skriptu: http://sdhstity.wz.cz/supper/galerie/galerie/DSC01628.JPG_thumb.jpg Změna je sice (skoro) nepatrná ale vypadá to mnohem lip :) dííky ještě jednou…