ThefollowingscriptwilleasilyallowyoutoresizeimagesusingPHP. Can the Php code below easily generate thumbnails? Php ** File: SimpleImage. php * Author: SimonJarvis * Copyright: 2006SimonJarvis * Date: 081106 * Link: www. white-hat
The following script will easily allow you to resize images using PHP. The following Php code is very easy for you to generate thumbnails? Php/** File: SimpleImage. php * Author: Simon Jarvis * Copyright: 2006 Simon Jarvis * Date: 08/11/06 * Link: http://www.white-hat
The following script will easily allow you to resize images using PHP.
The following Php code allows you to easily generate thumbnails.
image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } }
(Usage) Usage
Save the above file as SimpleImage. php and take a look at the following examples of how to use the script.
Save the above Code, with the file name SimpleImage. php. See how to use the script in the following example.
The first example below will load a file named picture.jpg resize it to 250 pixels wide and 400 pixels high and resave it as picture2.jpg
The first example is an image named picture.jpg, Which is scaled back to a x image and saved as picture2.jpg.
load('picture.jpg'); $image->resize(250,400); $image->save('picture2.jpg');
If you want to resize to a specifed width but keep the dimensions ratio the same then the script can work out the required height for you, just use the resizeToWidth function.
If you want to Resize an image and specify the width to maintain a high proportion of width, you can use the resizeToWidth method.
include('SimpleImage.php');$image = new SimpleImage();$image->load('picture.jpg');$image->resizeToWidth(250);$image->save('picture2.jpg');
You may wish to scale an image to a specified percentage like the following which will resize the image to 50% of its original width and height
If you want to Resize the image according to the specified percentage
include('SimpleImage.php');$image = new SimpleImage();$image->load('picture.jpg');$image->scale(50);$image->save('picture2.jpg');
You can of course do more than one thing at once. The following example will create two new images with heights of 200 pixels and 500 pixels
You can handle more tasks at the same time. The following example creates two new images with a height of 200px and 500px respectively.
include('SimpleImage.php');$image = new SimpleImage();$image->load('picture.jpg');$image->resizeToHeight(500);$image->save('picture2.jpg');$image->resizeToHeight(200);$image->save('picture3.jpg');
The output function lets you output the image straight to the browser without having to save the file. Its useful for on the fly thumbnail generation
Outputs images directly in the browser and does not save them as file-based. This is useful for generating thumbnails online.
header('Content-Type: image/jpeg');include('SimpleImage.php');$image = new SimpleImage();$image->load('picture.jpg');$image->resizeToWidth(150);$image->output();
The following example will resize and save an image which has been uploaded via a form
In the following example, Resize an image uploaded from form
load($_FILES['uploaded_image']['tmp_name']); $image->resizeToWidth(150); $image->output(); } else { ?>
Further Information)
This script will eventually be developed further to include functions for easily sharpening, bluring, cropping, brightening and coloring images.
If you have any problems using this script please email us.
If you find this script useful then please consider making a donation to the developer
Reference URL:
Http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/