class jpgimage
{
var $ih;
var $imagefile;
function open
($filename) {
$this->
ih = imagecreatefromjpeg
($filename);
if ( !
$this->
ih ) {
return false;
} else {
$imagefile =
$filename;
return true;
}
}
// kicks back image handle for user to mod..
function get_imagehandle
() {
if ( $this->
ih ) {
return $this->
ih;
} else {
return false;
}
}
// returns opened image's width
function get_width
() {
return imagesx
($this->
ih);
}
// Returns opened image's height
function get_height
() {
return imagesy
($this->
ih);
}
function resize_aspect
($max_size) {
if ( $this->
get_width() >
$max_size ||
$this->
get_height() >
$max_size ) {
$new_width =
$max_size;
$new_height =
$max_size;
// wider
if ( $this->
get_width() >
$this->
get_height() ) {
$new_height =
($new_width/
$this->
get_width()) *
$this->
get_height();
// taller
} else {
$new_width =
($new_height/
$this->
get_height()) *
$this->
get_width();
}
$dh = imagecreatetruecolor
($new_width,
$new_height) or
die("Cannot create true color ($new_width,$new_height)");
imagecopyresampled
( $dh,
$this->
ih,
0,
0,
0,
0,
$new_width,
$new_height,
$this->
get_width(),
$this->
get_height() );
// clear current image handle
imagedestroy
($this->
ih);
// set new handle to image handle
$this->
ih =
$dh;
}
}
function output
($quality =
100) {
header('Content-type: image/jpeg');
imagejpeg
($this->
ih,
"",
$quality);
}
function save
($quality =
100) {
imagejpeg
($this->
ih,
$this->
imagefile,
$quality);
}
function clear
() {
imagedestroy
($this->
ih);
}
}