Amoraboti - Program
Rashed - Uz - Zaman (Rasel)
  Home About Me Brainstorming Facebook Fan Page Contact    
  Author
I'm Rz Rasel
From Bangladesh

  Archives
April 2010
May 2010
January 2011
February 2011
January 2012
February 2012
March 2012

  Current

  Previous Posts
JavaScript Blinking Title
JavaScript Scrolling Title
JavaScript Ad Display
JavaScript Tool Tip
Fixed Bar At The Bottom Like Facebook
Fixed Bar At The Bottom Like Facebook
Connect to MySQL using C# and Connector/Net
Send Email (smtp.gmail.com) Using C Sharp
Making CSS Rollover Buttons
Get Local Computer IP Address

  My Link
Islam And We
My Diary (Bangla)
My Diary (English)
My Lyrics (Bangla)
My Lyrics (English)
My Poem (Bangla)
My Poem (English)
My Story (Bangla)
My Story (English)
General Knowledge
Fun And Jokes
Lyrics (Bangla)
Lyrics (English)
Lyrics (Hindi)
Quotations
 
 
  Resizing images with PHP  
  Thursday, April 29, 2010  
 
Resizing images with PHP
The code
/*
* File: SimpleImage.php
* Rz Rasel
*/

class SimpleImage
{
var $image;
var $image_type;
function load($filename)
{
$image_info = getimagesize($filename);
$this->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

Save the above file as SimpleImage.php and take a look at the following examples of how to use the script.

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

include('SimpleImage.php');

$image = new SimpleImage();

$image->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.

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

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

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

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

if( isset($_POST['submit']) ) {

include('SimpleImage.php');

$image = new SimpleImage();

$image->load($_FILES['uploaded_image']['tmp_name']);

$image->resizeToWidth(150);

$image->output();

$image->save( rand( 1, 999999 ) . '_rz.jpg');

} else {

?>







form>

}

?>



Ref: http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php

Ref: http://www.gnu.org/licenses/gpl.html



class SimpleImage

{

var $image;

var $image_type;



function load( $filename )

{

$image_info = GetImageSize( $filename );

$this->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

Save the above file as SimpleImage.php and take a look at the following examples of how to use the script.

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

1
2
3
4
5
6
7




include('SimpleImage.php');
$image = new SimpleImage();
$image->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.


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


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


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


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


if( isset($_POST['submit']) ) {

include('SimpleImage.php');
$image = new SimpleImage();
$image->load($_FILES['uploaded_image']['tmp_name']);
$image->resizeToWidth(150);
$image->output();
} else {

?>









}
?>
 
  posted by Rz Rasel At 10:46 PM,

0 Comments:

Post a Comment

<< Home

 
     
 
  Problem In Font
Download then zip file unzip and install in your system. Or normal font file just install in your system font folder. Rz Rasel
Bangla Font
Bangla Font

  Find Me In Facebook
 
 

   aaaa
 

   aaaa
 
 
Copyright © 2010 - Amoraboti - Program. ® All right reaserved. Design and developed by:- Rz Rasl