我正在嘗試製作一個Web應用程序,該應用程序擁有一個管理網站,您可以在其中上傳圖像。我已經在使用imagecopy()
來製作方形照片。但是當圖片太大時,我正嘗試用imagecopyresized()
調整大小。我已經使用這個代碼:imagecopy調整大小問題PHP
$file = $_FILES['img']['tmp_name'];
$filename = $_FILES['img']['name'];
$size = 400;
$destino = imagecreatetruecolor($size, $size);
list($width, $height) = getimagesize($file);
$correction = $size/2;
$widths = $width/2 - $correction;
$heights = $height/2 - $correction;
$origen = imagecreatefromjpeg($file);
$overflow = $size + 200;
if($width > $overflow){
$modified = $origen;
$ratio = $width/$height;
$growth = $width/$overflow;
$final = $overflow/$growth;
if($ratio > 1){
$newwidth = $final * $ratio;
}else{
$newwidth = $final/$ratio;
}
imagecopyresized($origen, $modified, 0, 0, 0, 0, $final, $newwidth, $width, $height);
}
imagecopy($destino, $origen, 0, 0, $widths, $heights, $size, $size);
的這裏的問題是,有沒有修改是大於$overflow
圖像。
$ratio
是保留照片的原始尺寸並防止變形。
$growth
是一個索引,雖然圖像越大,它將被複制的最小。
$final
是以增長指數作爲計數的最終寬度。
哇!你救了我的命!謝謝! –