function createthumb
($IMAGE_SOURCE,
$THUMB_X,
$THUMB_Y,
$OUTPUT_FILE,
$ASPECT=
"true",
$format=
"jpg"){
$BACKUP_FILE =
$OUTPUT_FILE .
"_backup.$format";
copy($IMAGE_SOURCE,
$BACKUP_FILE);
$IMAGE_PROPERTIES =
GetImageSize($BACKUP_FILE);
if (!
$IMAGE_PROPERTIES[2] ==
2) {
return(0);
} else {
if($format==
"jpg")
$SRC_IMAGE = ImageCreateFromJPEG
($BACKUP_FILE);
else
$SRC_IMAGE = ImageCreateFromGIF
($BACKUP_FILE);
$SRC_X = ImageSX
($SRC_IMAGE);
$SRC_Y = ImageSY
($SRC_IMAGE);
if($ASPECT==
"true")
{
$SCALEX =
$THUMB_X/
($SRC_X);
$SCALEY =
$THUMB_Y/
($SRC_Y);
if (($THUMB_Y ==
0) &&
($THUMB_X ==
0)) {
return(0);
} elseif ($THUMB_Y ==
0) {
$THUMB_Y =
$SRC_Y*
$SCALEX;
$RATIO=
MAX($SCALEY,
$SCALEX);
} elseif ($THUMB_X ==
0) {
$THUMB_X =
$SRC_X*
$SCALEY;
$RATIO=
MAX($SCALEY,
$SCALEX);
}
if($SCALEY>
0 &&
$SCALEY<
1 &&
$SCALEX>
0 &&
$SCALEX<
1)
$RATIO=
MIN($SCALEY,
$SCALEX);
elseif($SCALEX>
1 ||
$SCALEY>
1)
$RATIO=
MAX($SCALEY,
$SCALEX);
$THUMB_X=
$SRC_X*
$RATIO;
$THUMB_Y=
$SRC_Y*
$RATIO;
}
else
{
$RATIO=
1;
}
$THUMB_X =
(int
)($THUMB_X);
$THUMB_Y =
(int
)($THUMB_Y);
$DEST_IMAGE = imagecreatetruecolor
($THUMB_X,
$THUMB_Y);
unlink($BACKUP_FILE);
if (!imagecopyresampled
($DEST_IMAGE,
$SRC_IMAGE,
0,
0,
0,
0,
$THUMB_X,
$THUMB_Y,
$SRC_X,
$SRC_Y)) {
imagedestroy
($SRC_IMAGE);
imagedestroy
($DEST_IMAGE);
return(0);
} else {
imagedestroy
($SRC_IMAGE);
if (ImageJPEG
($DEST_IMAGE,
$OUTPUT_FILE)) {
imagedestroy
($DEST_IMAGE);
return(1);
}
imagedestroy
($DEST_IMAGE);
}
return(0);
}
}