2013-03-11 47 views
0

我有这样的调整大小和裁剪功能:调整大小/裁切图像,并添加空格

$file = imagecreatefromjpeg($imagefile["tmp_name"]); 

    if($imagefile["type"] == "image/jpg" || $imagefile["type"] == "image/jpeg") { 
     $uploaded_file = "/var/www/adimages/".$fid."-".$imagefile["name"]; 
    } elseif($imagefile["type"] == "image/png") { 
     $uploaded_file = "/var/www/adimages/".$fid."-".$imagefile["name"]; 
    } 

    imagejpeg($file, $uploaded_file, 100); 
    chmod($uploaded_file, 0644); 

    list($width, $height, $type, $attr) = getimagesize($uploaded_file); 
    $this->imageSizeW = $width; 
    $this->imageSizeH = $height; 
    $this->newSizeW = 250; 
    $this->newSizeH = 400; 

    $aspect = $width/$height; 
    $new_aspect = $this->newSizeW/$this->newSizeH; 

    if($aspect >= $new_aspect) { 
     $new_height = $this->newSizeH; 
     $new_width = $width/($height/$this->newSizeH); 
    } else { 
     $new_width = $this->newSizeW; 
     $new_height = $height/($width/$this->newSizeW); 
    } 

    $img_source = imagecreatefromjpeg($uploaded_file); 
    $newimage = imagecreatetruecolor($this->newSizeW, $this->newSizeH); 
    imagecopyresampled($newimage, $img_source, 0 - ($new_width - $this->newSizeW)/2, 0 - ($new_height - $this->newSizeH), 0, 0, $new_width, $new_height, $width, $height); 
    imagejpeg($newimage, $uploaded_file, 100);    
} 

这如预期运作,几乎是 - 当作物它消除了图像的一部分。 我可以以某种方式扩展/配置此功能,以便它将调整大小/中心的图像和添加空白,使图像将是原始的,但仍然250 x 400 px

回答

0

使用类从voret.net上传0.32 - 这样做我想要的是!