php图片放大

来源:互联网 发布:阿里云服务器实名认证 编辑:程序博客网 时间:2024/06/14 05:20
function resizeImage($srcImage,$maxwidth,$maxheight,$name){    list($width, $height, $type, $attr) = getimagesize($srcImage);//    if($width < $maxWidth  || $height < $maxHeight) return ;    switch ($type) {        case 1:            $img = imagecreatefromgif($srcImage);            break;        case 2:            $img = imagecreatefromjpeg($srcImage);            break;        case 3:            $img = imagecreatefrompng($srcImage);            break;        default:            $img = imagecreatefrompng($srcImage);            break;    }    $canvas = imagecreatetruecolor($maxwidth,$maxheight); // 创建一个真彩色图像 我把它理解为创建了一个画布    imagecopyresampled($canvas,$img,0,0,0,0,$maxwidth,$maxheight,$width,$height);    // 选取原图片整个长宽上的像素,将原图片左上角和画布左上角对齐,画布宽100px,高100px。    // 这样设置是缩小或放大原图片。 如果原图片宽或高比画布大就会缩小,如果原图片宽或高比画布小就会放大。    // 如果想截取图片,不想放大或缩小。 就要将最后两个参数设置成分别和画布宽和高相等。 像这样:imagecopyresampled($canvas,$sourceImage,0,0,0,0,$newWidth,$newHeight,$newWidth,$newHeight);    // 如果想控制从哪里开始截取,就要设置后面两个“0”。 前面一个“0”是原图片上X轴坐标,后面一个是Y轴坐标。 比如,想从原图片X轴100px,Y轴50px的点开始截取。就要这样设置:imagecopyresampled($canvas,$sourceImage,0,0,100,50,$newWidth,$newHeight,$newWidth,$newHeight);    imagejpeg($canvas,$name,100);}

用法:

<?php$bgimagepath="./res/imag.jpg";resizeImage($bgimagepath,640,640,'/head1.png');?>