I\'m trying to use this thumbnail generator, but as you can see you have to go through this link to create an image thumb. This is maybe a dumb question, but how do I get it wor
Without any personal prior experience with the particular generator, what you will need to display an image will be something in the form of:
<img src="thumb.php?src=link/to/image.jpg&x=100&y=50&f=0"/>
I think you misread the instructions. It's not a web service but a PHP script you have to install to your server. The zubrag.com url is just an example, you replace it with your own site's url.
You can try this
<?
$property_id = 1; // for our little example here
define("_IMAGE_PATH","property_images/");
// max dimensions allowed:
define("_IMAGE_WIDTH","640");
define("_IMAGE_HEIGHT","480");
define("_IMAGE_THUMB_WIDTH","100");
define("_IMAGE_THUMB_HEIGHT","75");
// grab the path to the temporary file (image) that the user uploaded
$photo = $_FILES['new_image']['tmp_name'];
// check if it exists
if(is_uploaded_file($photo)){
//the real image file name
$real_name = strtolower($_FILES['new_image']['name']);
// image type based on image file name extension:
if(strstr($real_name,".png")){
$image_type = "png";
}else if(strstr($real_name,".jpg")){
$image_type = "jpg";
}else if(strstr($real_name,".gif")){
$image_type = "gif";
}else{
die("Unsupported image type");
}
// find the next image name we are going to save
$x=1;
while(true){
$image_name = _IMAGE_PATH."${property_id}/${x}.jpg";
if(!is_file($image_name))break;
$x++;
}
// start processing the main bigger image:
$max_width = _IMAGE_WIDTH; $max_height = _IMAGE_HEIGHT;
$size = getimagesize($photo);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if(($width <= $max_width)&&($height <= $max_height)){
$tn_width = $width;
$tn_height = $height;
}else{
if(($x_ratio * $height) < $max_height){
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}else{
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
}
switch($image_type){
case "png": $src=imagecreatefrompng($photo); break;
case "jpg": $src=imagecreatefromjpeg($photo); break;
case "gif": $src=imagecreatefromgif($photo); break;
}
// destination resized image:
$dst = imagecreatetruecolor($tn_width, $tn_height);
// resize original image onto $dst
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
// write the final jpeg image..
imagejpeg($dst, $image_name, 100) or die("Error: your photo
has not been saved. Please contact the administrator");
// time to clean up
imagedestroy($src);
imagedestroy($dst);
// and now we do it alll again for the thumbnail:
$max_width = _IMAGE_THUMB_WIDTH; $max_height = _IMAGE_THUMB_HEIGHT;
$size = GetImageSize($photo);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if(($width <= $max_width)&&($height <= $max_height)){
$tn_width = $width;
$tn_height = $height;
}else{
if(($x_ratio * $height) < $max_height){
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}else{
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
}
switch($image_type){
case "png": $src=imagecreatefrompng($photo); break;
case "jpg": $src=imagecreatefromjpeg($photo); break;
case "gif": $src=imagecreatefromgif($photo); break;
}
$dst = imagecreatetruecolor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
$thumbfile = $image_name . ".thumb.jpg";
if(file_exists($thumbfile))unlink($thumbfile);
imagejpeg($dst, $thumbfile, 100) or die("Error: your photo thumb has not been saved.
Please contact the administrator");
imagedestroy($src);
imagedestroy($dst);
}
?>
I really can't see your problem...
Do you want to do more than making a thumb at a line where you are calling the script? Just put out the lines of code from the thumb.php and use it in your script.
include('image.class.php');
$img = new Zubrag_image;
// initialize
$img->max_x = $max_x;
$img->max_y = $max_y;
$img->cut_x = $cut_x;
$img->cut_y = $cut_y;
$img->quality = $image_quality;
$img->save_to_file = $save_to_file;
$img->image_type = $image_type;
// generate thumbnail
$img->GenerateThumbFile($images_folder . $from_name, $thumbs_folder . $to_name);
you only have to change the values with your desired one... this should work in my short review of the script.