This example shows How to Create Thumbnail in PHP GD.
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