English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHPの画像を等倍縮小する詳細および実例コード

直接コードを上記します、imgzip($src,$newwid,$newhei)という関数には、元の画像、縮小する要求される幅、縮小する長さが渡されます。すべてのコードにはコメントが付いていますので、分からない場合はコメントを残してください、ハハ

<?php 
//画像を圧縮して、サムネイル
$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
 $imgInfo = getimagesize($src);
 $imgType = image_type_to_extension($imgInfo[2], false);
 $fun = "imagecreatefrom{$imgType}";
//画像を宣言して、画像を開き、メモリ内で
 $image = $fun($src);
//長さ、幅、高さを簡単に設定し、フレームを変数wid、高さをheiとして設定
 $wid=$imgInfo[0];
 $hei=$imgInfo[1];
//長さと幅を判断し、等倍縮小が容易になるように、サイズは以下の通り500, 320
 if($wid>$hei){
  $wid=$newwid;
  $hei=$newwid/($wid/$hei);
 }else {
  $wid = $newhei * ($wid / $hei);
  $hei = $newhei;
 }
//メモリ内に画像を生成
 $images2 = imagecreatetruecolor($newwid, $newhei); //一つの500*320の画像
//元画像を新しい画像にコピー
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
 imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]);
//原始画像を破棄
 imagedestroy($image);
//画像ファイルを直接出力
 header("Content-type: ".$imgInfo[‘mime‘]);
 imagejpeg($images2);
//画像を新ファイルに保存
 imagejpeg($images2, ‘new.jpg‘ 100); //10コード出力の画像の質量 0-100 100 質量最高
//破棄
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>

 効果

圧縮前

圧縮後

以上がPHPなどの画像を等倍縮小する資料の整理であり、後続で関連資料を追加し続けます。皆様のこのサイトへのサポートに感謝します!

おすすめ