There are two ways to change the size of the image.
(1): The ImageCopyResized() function is valid in all GD versions, but its algorithm for scaling images is rough. .
(2):ImageCopyResampled(), the image edges obtained by its pixel interpolation algorithm are smoother and of better quality (but the speed of this function is slower than ImageCopyResized()).
Parameters of the two functions are the same. As follows:
ImageCopyResampled(dest,src,dx,dy,sx,sy,dw,dh,sw,sh);
ImageCopyResized(dest,src,dx,dy ,sx,sy,dw,dh,sw,sh);
Both of them grab a specific position (sx,sy) from the original image (source) and copy the image qu area to the target t image ( destination) specific position (dx,dy). In addition, dw and dh specify the size of the copied image area on the target image, and sw and sh specify the size of the image area copied from the original image. If you have PS experience, it is equivalent to selecting an area in the original image, cutting and moving it to the destination image, and performing stretching or shrinking operations at the same time.
Example 1:
(This example displays the image at 4/1 of its original size)
Copy the code The code is as follows:
// Specify the file path and scaling
$filename = 'test.jpg';
$percent = 0.5;
// Specify the header file Content typezhi value
header('Content-type: image/jpeg');
// Get the width and height of the image
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Create an image. The received parameters are width and height respectively, and the generated resource handle is returned
$thumb = imagecreatetruecolor($newwidth, $newheight);
//Get the source file resource handle. The received parameter is the image path and the handle is returned.
$source = imagecreatefromjpeg($filename);
// Cut all fields of the source file and reduce it to the target image. The first two are resource handles
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//Output to the browser
imagejpeg($thumb);
?>
Recommend a simple and practical zoom image tool called SimpleImage, refer to http://www.white-hat-web-design.co.uk/ blog/resizing-images-with-php/
Usage:
Copy code The code is as follows:
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resize(250,400);
$image->save('picture2.jpg');?>
Set the width and scale proportionally
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToWidth(250) ;
$image->save('picture2.jpg');?>
Set the height and scale proportionally
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->resizeToHeight(500);
$image->save ('picture2.jpg');
$image->resizeToHeight(200);
$image->save('picture3.jpg');?>
Proportionally, scale to 50 %
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg');
$image->scale(50);
$image->save('picture2.jpg');?>
Output directly to the screen after scaling
header('Content-Type: image/jpeg');
include('SimpleImage.php');
$image = new SimpleImage();
$image->load('picture.jpg ');
$image->resizeToWidth(150);
$image->output();?>
SimpleImage.php source code please click on the link at the beginning of the article , go there to download
---------------------------------------------- ---------------------------------------
Add watermark to pictures
Copy code The code is as follows:
$source=imagecreatefromjpeg('E:/image/guide_pic.jpg') ;
$thumb=imagecreatefromjpeg('E:/image/l.JPG');
//Get the width, height, type of the image
list($width,$height,$mine)=getimagesize ('E:/image/guide_pic.jpg');
imagecopymerge ($source,$thumb,$width-124,$height-150,0,0,88,73,70);
// Generate image
imagejpeg($source,'E:/image/logo.jpg');
?>
http://www.bkjia.com/PHPjc/327626.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327626.htmlTechArticleThere are two ways to change the size of the image. (1): The ImageCopyResized() function is valid in all GD versions, But its algorithm for scaling images is relatively rough. (2): ImageCopyResampled(), its pixel interpolation algorithm is...