Home Tutorial Php Phpgd PHP GD Create Thumbnail

 
 

PHP GD Create Thumbnail
Posted on: November 3, 2009 at 12:00 AM
This example shows How to Create Thumbnail in PHP GD.

<?php

$i = new imagethumbnail();

$i->open("index.jpg");

$i->setX(100);

header("Content-type: image/jpeg;");

$i->imagejpeg();

class imagethumbnail {

var $filename;

var $x;

var $y;

var $image;

var $thumbnail;

function imagethumbnail() {

}

function open($filename) {

$this->filename = $filename;

$imageinfo = array();

$imageinfo = getimagesize($this->filename,$imageinfo);

$this->old_x = $imageinfo[0];

$this->old_y = $imageinfo[1];

switch ($imageinfo[2]) {

case "1": $this->image = imagecreatefromgif($this->filename); break;

case "2": $this->image = imagecreatefromjpeg($this->filename); break;

case "3": $this->image = imagecreatefrompng($this->filename); break;

}

}

function setX($x="") {

if (isset($x)) { $this->x = $x; }

return $this->x;

}

function setY($y="") {

if (isset($y)) { $this->y = $y; }

return $this->y;

}

function generate() {

if ($this->x > 0 and $this->y > 0) {

$new_x = $this->x;

$new_y = $this->y;

} elseif ($this->x > 0 and $this->x != "") {

$new_x = $this->x;

$new_y = ($this->x/$this->old_x)*$this->old_y;

} else {

$new_x = ($this->y/$this->old_y)*$this->old_x;

$new_y = $this->y;

}

$this->thumbnail = imagecreatetruecolor($new_x,$new_y);

$white = imagecolorallocate($this->thumbnail,255,255,255);

imagefill($this->thumbnail,0,0,$white);

imagecopyresampled ( $this->thumbnail, $this->image, 0, 0, 0, 0, $new_x, $new_y, $this->old_x, $this->old_y);

}

function imagegif($filename="") {

if (!isset($this->thumbnail)) { $this->generate(); }

imagetruecolortopalette($this->thumbnail,0,256);

if ($filename=="") {

imagegif($this->thumbnail);

} else {

imagegif($this->thumbnail,$filename);

}

}

function imagejpeg($filename="",$quality=80) {

if (!isset($this->thumbnail)) { $this->generate(); }

imagejpeg($this->thumbnail,$filename,$quality);

}

function imagepng($filename="") {

if (!isset($this->thumbnail)) { $this->generate(); }

if ($filename=="") {

imagepng($this->thumbnail);

} else {

imagepng($this->thumbnail,$filename);

}

}

}

?>

After running the program you will get the following output

Related Tags for PHP GD Create Thumbnail:


Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.