phpは画像を縮小します この記事では、PHP を使用して画像の幅を縮小または拡大するための 4 つのコード関数を紹介します。では、4 つの例のうちどれが適しているかを見てみましょう。
画像を比例的に縮小するためのphpチュートリアル
この記事では、PHP を使用して画像の幅を縮小または拡大するための 4 つのコード関数を紹介します。では、4 つの例のうちどれが適しているかを見てみましょう。
*/
関数 imageresize2($width, $height, $targetw, $targeth)
{
$パーセンテージ = 1;
if (($width > $targetw) || ($height > $targetw))
{
$width_diff = $width - $targetw;
$height_diff = $height - $targeth;
if ($width_diff >= $height_diff)
{
$percentage = ($targetw / $width);
}
それ以外
{
$percentage = ($targeth / $height);
}
}
// 新しい値を取得してパーセンテージを適用し、値を四捨五入します
$width =round($width * $percentage);
$height =round($height * $percentage);
$resize[0] = $width;
$resize[1] = $高さ;
$resize を返します;
}//方法 2
if (!$max_width)
{
$max_width = 240; if (!$max_height)
$max_height = 200;
$size = getimagesize($image); $width = $size[0]; $高さ = $サイズ[1];
$x_ratio = $max_width / $width
; $y_ratio = $max_height / $height;
if ( ($width $tn_width = $width
$tn_height = $高さ
}
else if (($x_ratio * $height) $tn_height = ceil($x_ratio * $height); $tn_width = $max_width
}
他 {
$tn_width = ceil($y_ratio * $width); $tn_height = $max_height
}
$src = imagecreatefrompng($image); $dst = imagecreate($tn_width,$tn_height); imagecopyresize($dst, $src, 0, 0, 0, 0,
$tn_width,$tn_height,$width,$height); header("コンテンツタイプ: 画像/png"); imagepng($dst, null,
); 画像破壊($src); 画像破壊($dst);
//方法 3
/*
関数のプロトタイプは次のとおりです:
パラメータの説明:
$oldwidth: 元の画像の幅
$oldheight: 元の画像の高さ
$imgwidth: 縮小または拡大する画像の幅
$imgheight: 縮小または拡大した画像の高さ
返信: wwww.bKjia.c0m
配列: arraysize、インデックスは幅と高さ、つまり arraysize['width']、arraysize['height']
*/
関数 getimgsize($oldwidth,$oldheight,$imgwidth,$imgheight)// $oldwidth で設定された幅、$oldheight で設定された高さ、$imgwidth 画像の幅、および $imgheight 画像の高さ;
//セルが画像に収まる場合、画像の実際のサイズに従って表示されます。 if($imgwidth {
$arraysize=array('width'=>$imgwidth,'height'=>$imgheight);
$arraysize を返します;
}
それ以外
{
$suoxiaowidth=$imgwidth-$oldwidth;
$suoxiaoheight=$imgheight-$oldheight;
$suoxiaoheightper=$suoxiaoheight/$imgheight;
$suoxiaowidthper=$suoxiaowidth/$imgwidth;
if($suoxiaoheightper>=$suoxiaowidthper)
{
// セルの高さが優先されます $aftersuoxiaowidth=$imgwidth*(1-$suoxiaoheightper);$arraysize=array('width'=>$aftersuoxiaowidth,'height'=>$oldheight);
$arraysize を返します;
}
それ以外
{
// セル幅が優先されます
$aftersuoxiaoheight=$imgheight*(1-$suoxiaowidthper);
$arraysize=array('width'=>$oldwidth,'height'=>$aftersuoxiaoheight);
$arraysize を返します;
}
}
}
?>