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); } }