Hirdetés

Új hozzászólás Aktív témák

  • Louloudaki

    aktív tag

    képmanipulálással kapcsolatban kérdeznék. van ez a méretező scriptem:

    <?php
    function image_resize($src_name,$dest_name,$x,$y, $type) {
    $img="";

    switch ($type) {
    case "image/jpeg": {
    $img=imagecreatefromjpeg($src_name);
    }
    break;
    case "image/pjpeg": {
    $img=imagecreatefromjpeg($src_name);
    }
    break;
    case "image/png": {
    $img=imagecreatefrompng($src_name);
    }
    break;
    case "image/gif": {
    $img=imagecreatefromgif($src_name);
    }
    break;
    }
    if ($img!=="") {
    $sizes=getimagesize($src_name);
    $src_x=$sizes[0];
    $src_y=$sizes[1];
    if (($src_x/$src_y)>=($x/$y)) {
    if ($x<$src_x) {
    $dest_x=$x;
    $dest_y=floor($src_y*$x/$src_x);
    }
    else {
    $dest_x=$src_x;
    $dest_y=$src_y;
    }
    }
    else {
    if ($y<$src_y) {
    $dest_x=floor($src_x*$y/$src_y);
    $dest_y=$y;
    }
    else {
    $dest_x=$src_x;
    $dest_y=$src_y;
    }
    }
    $van=shell_exec("which convert");
    if (strlen($van)) {
    $dest_file=substr($dest_name,0,strrpos($dest_name,"."));
    $dest_ext=substr($dest_name,strrpos($dest_name,".")+1);
    $ext_ok=array("jpg","gif","png");
    $uzenet=shell_exec("convert -size ".$src_x."x".$src_y." -sample ".$dest_x."x".$dest_y." ".$src_name." ".$dest_file.".".((in_array($dest_ext,$ext_ok))?$dest_ext:"jpg"));
    }
    else {
    $dest_id=imagecreatetruecolor($dest_x,$dest_y);
    $dest_pic=imagecopyresampled($dest_id,$img,0,0,0,0,$dest_x,$dest_y,$src_x,$src_y);
    imagejpeg($dest_id,$dest_name);
    }
    }
    }
    ?>

    galéria képfeltöltésekor csináltatok vele egy max 133x100px thumbnailt meg egy max 800x600px nagyképet. ha a kép ezeken a tartományokon belül van vagy sokkal kisebb, akkor nagyítani nem fogja a script. namost giffel úgy látom nem jól működik, a thumbnailt jól legenerálta, de a nagykép amit nem kellett átméreteznie mert 800x600nál kisebb az eredeti kép, az totál fekete lett. itt látható thumbnailben: [link] utsó kép, ha rákatt akkor látszik hogy tök fekete semmi más. mi lehet az oka?

Új hozzászólás Aktív témák