Hi everyone…
Thanks to SpikeZ here, I have a website for my pics. He helped so much.
I am now having a bit of trouble with my thumbnail quality. They look like they are being over sharpened at upload. How do I set it to zero ? This is the site and the code where GD is used.
Thank you for any help you could give…
A page with some thumbnails…
<?php
include("config.inc.php");
if(!$_POST) {
header("Location: preupload.php");
exit();
}
// initialization
$result_final = "";
$counter = 0;
// List of our known photo types
$known_photo_types = array(
'image/pjpeg' => 'jpg',
'image/jpeg' => 'jpg',
'image/gif' => 'gif',
'image/bmp' => 'bmp',
'image/x-png' => 'png'
);
// GD Function List
$gd_function_suffix = array(
'image/pjpeg' => 'JPEG',
'image/jpeg' => 'JPEG',
'image/gif' => 'GIF',
'image/bmp' => 'WBMP',
'image/x-png' => 'PNG'
);
// Fetch the photo array sent by preupload.php
$photos_uploaded = $_FILES['photo_filename'];
// Fetch the photo caption array
$photo_caption = $_POST['photo_caption'];
// Fetch the photo caption array
$photo_description = $_POST['photo_description'];
// Fetch the photo caption array
$photo_keyword = $_POST['photo_keyword'];
while( $counter <count($_FILES['photo_filename']['tmp_name']) )
{
if($photos_uploaded['size'][$counter] > 0)
{
if(!array_key_exists($photos_uploaded['type'][$counter], $known_photo_types))
{
$result_final .= "File ".($counter+1)." is not a photo<br />";
}
else
{
mysql_query(
"INSERT INTO
gallery_photos (
`photo_filename`,
`photo_caption`,
`photo_description`,
`photo_keywords`,
`photo_category`
) VALUES(
'0',
'".addslashes($photo_caption[$counter])."',
'".addslashes($photo_description[$counter])."',
'".addslashes($photo_keyword[$counter])."',
'".addslashes($_POST['category'])."')"
) or die(mysql_error() . 'Photo not uploaded');
$new_id = mysql_insert_id();
$filetype = $photos_uploaded['type'][$counter];
$extention = $known_photo_types[$filetype];
$filename = $new_id.".".$extention;
mysql_query( "UPDATE gallery_photos SET photo_filename='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'" );
// Store the orignal file
copy($photos_uploaded['tmp_name'][$counter], $images_dir."/".$filename);
// Let's get the Thumbnail size
$size = GetImageSize( $images_dir."/".$filename );
if($size[0] > $size[1])
{
$thumbnail_width = 165;
$thumbnail_height = (int)(165 * $size[1] / $size[0]);
}
else
{
$thumbnail_width = (int)(165 * $size[0] / $size[1]);
$thumbnail_height = 165;
}
// Build Thumbnail with GD 1.x.x, you can use the other described methods too
$function_suffix = $gd_function_suffix[$filetype];
$function_to_read = "ImageCreateFrom".$function_suffix;
$function_to_write = "Image".$function_suffix;
// Read the source file
$source_handle = $function_to_read ( $images_dir."/".$filename );
if($source_handle)
{
// Let's create an blank image for the thumbnail
$destination_handle = ImageCreateTrueColor ( $thumbnail_width, $thumbnail_height );
// Now we resize it
ImageCopyResized( $destination_handle, $source_handle, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $size[0], $size[1] );
}
// Let's save the thumbnail
$function_to_write( $destination_handle, $images_dir."/tb_".$filename, 100 );
ImageDestroy($destination_handle );
//
$result_final .= "<img src='".$images_dir. "/tb_".$filename."' /> File ".($counter+1)." Added<br />";
}
}
$counter++;
}
// Print Result
echo <<<__HTML_END
<html>
<head>
<title>Photos uploaded</title>
</head>
<body>
$result_final
</body>
</html>
__HTML_END;
?>