1
我想將1200x1200
圖像轉換爲1200x600
。將方形圖像轉換爲矩形
但是,我不想丟失圖像比例,這就是爲什麼我想在左側和右側添加白色邊框並將圖像放在中間。
最終的圖像會像左右邊框和中間的方形圖像,然後我將它保存到我的項目中的文件夾和用戶。
這可能使用GD庫嗎?
我想將1200x1200
圖像轉換爲1200x600
。將方形圖像轉換爲矩形
但是,我不想丟失圖像比例,這就是爲什麼我想在左側和右側添加白色邊框並將圖像放在中間。
最終的圖像會像左右邊框和中間的方形圖像,然後我將它保存到我的項目中的文件夾和用戶。
這可能使用GD庫嗎?
您可以編寫自己的數學函數在特定尺寸的畫布上顯示圖像。這裏是一個數學函數,我使用,
function resize_image($img,$maxwidth,$maxheight) {
//This function will return the specified dimension(width,height)
//dimension[0] - width
//dimension[1] - height
$dimension = array();
$imginfo = getimagesize($img);
$imgwidth = $imginfo[0];
$imgheight = $imginfo[1];
if($imgwidth > $maxwidth){
$ratio = $maxwidth/$imgwidth;
$newwidth = round($imgwidth*$ratio);
$newheight = round($imgheight*$ratio);
if($newheight > $maxheight){
$ratio = $maxheight/$newheight;
$dimension[] = round($newwidth*$ratio);
$dimension[] = round($newheight*$ratio);
return $dimension;
}else{
$dimension[] = $newwidth;
$dimension[] = $newheight;
return $dimension;
}
}elseif($imgheight > $maxheight){
$ratio = $maxheight/$imgheight;
$newwidth = round($imgwidth*$ratio);
$newheight = round($imgheight*$ratio);
if($newwidth > $maxwidth){
$ratio = $maxwidth/$newwidth;
$dimension[] = round($newwidth*$ratio);
$dimension[] = round($newheight*$ratio);
return $dimension;
}else{
$dimension[] = $newwidth;
$dimension[] = $newheight;
return $dimension;
}
}else{
$dimension[] = $imgwidth;
$dimension[] = $imgheight;
return $dimension;
}
}
假設你的圖像尺寸是爲1200x1200(高度:1200,寬度:1200)和你的畫布大小(你要顯示的圖像)是1200x600(高度:1200寬度:600),你可以調用這個resize_image功能這樣,
$dimension = resize_image("{$your_image_path}.jpg",600,1200);
$width = $dimension[0];
$height = $dimension[1];
,並得到適當的尺寸後,顯示你的形象就是這樣,
<img src="your_image_path.jpg" alt="Image" height="<?php echo $height; ?>" width="<?php echo $width; ?>" />