Autor | Zpráva | ||
---|---|---|---|
Brumisek Profil |
Mám nový, poměrně zajímavý a rozsáhlý web a rád bych uživatelům umožnil konfortu automatického přiostření obrázku, podobně, jako je tomu na Flickr.com.
Když uživatel nahrává obrázek, tak se v PHP přeformátuje na 3 velikosti (klasický imageresmaple, jak už tu několikrát problěhlo), a po ukončení tohoto procesu bych rád výsledný soubory ještě přiostřil. Přes PHP to prý nejde, tak jsem nainstaloval Imagemagic. Ale vůbec si s tím nevím rady jak to udělat. Máte někdo zkušenost?? Tady je moje funkce, která z nahraného obrázku v PHP dělá 3 formáty. Co a kde pak zadat, aby soubory přiostřil? // function for resample image function createthumb($name,$filename,$new_w,$new_h,$delam_orez) { $system=explode('.',$name); $src_img=imagecreatefromjpeg($name); $old_x=imageSX($src_img); $old_y=imageSY($src_img); $thumb_w=$new_w; $thumb_h=$new_h; $dst_img=imagecreatetruecolor($thumb_w,$thumb_h); $bila = imagecolorallocate($dst_img,255,255,255); imagefilledrectangle($dst_img,0,0,$thumb_w,$thumb_h,$bila); if ($old_x < $old_y){ $start_x= round(($thumb_w-(($thumb_h/$old_y)*$old_x))/2); $end_x= round(($thumb_h/$old_y)*$old_x); $start_y= 0; $end_y= $thumb_h; } if ($old_x > $old_y){ $start_x= 0; $end_x= $thumb_w; $start_y= round(($thumb_h-(($thumb_w/$old_x)*$old_y))/2);; $end_y= round(($thumb_w/$old_x)*$old_y); } if ($old_x == $old_y){ $start_x= 0; $end_x= $thumb_w; $start_y= 0; $end_y= $thumb_h; } imagecopyresampled($dst_img,$src_img,$start_x,$start_y,0,0,$end_x,$end _y,$old_x,$old_y); if (preg_match("/png/",$system[1])){ imagepng($dst_img,$filename); }else{ imagejpeg($dst_img,$filename); } imagedestroy($dst_img); imagedestroy($src_img); } // create 3 versions of image createthumb($file_name,$file_name_s,70, 70,2); createthumb($file_name,$file_name_m,200, 200,2); createthumb($file_name,$file_name_b,500,500,0); Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na
![]() |
||
karbon Profil * |
#2 · Zasláno: 28. 5. 2008, 17:21:27
Leo tady jednou psal odkaz na velice zajímavý ostřící algoritmus.
|
||
Časová prodleva: 17 let
|
0