ホームページ >类库下载 >PHP类库 >PHP 学習メモ: 画像を同じ比率で拡大縮小する

PHP 学習メモ: 画像を同じ比率で拡大縮小する

高洛峰
高洛峰オリジナル
2016-10-10 09:55:121168ブラウズ

関数 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[1]);

//销毁原始图片
    imagedestroy($image);


//直接输出图片文件

    header("Content-type: ".$imgInfo[&#39;mime&#39;]);
    imagejpeg($images2);

//保存图片 到新文件
    imagejpeg($images2, &#39;new.jpg&#39;, 100); //10代码输出图片的质量 0-100 100质量最高

//销毁
    imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);


?>

効果

圧縮前

PHP 学習メモ: 画像を同じ比率で拡大縮小する

圧縮後

PHP 学習メモ: 画像を同じ比率で拡大縮小する

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る