On Wed, March 23, 2005 5:30 am, Ryan A said: > Hi, > I found this beautiful piece of code on the php site which make a > proportional thumbnail, problem is its only working with JPEG files...and > not with GIFs, can someone please help me convert it to GIF too? > > I tried but got a bit confused as there are no functions that are equal to > "imagecreatetruecolor" that is in the below script. I believe all the imagecreatefromXYZ functions create a truecolor image for internal manipulation... Though I could be wrong, as GIF images do have pallet information within them, and I supposed GD could be justified in using that to build a 256-color image... At any rate, imagecreatetruecolor creates a "format-less" image -- It's not a GIF, JPEG, TIFF, or anything, really. It's in an internal GD format, and you can do whatever you want to it, and then output it as whatever format you want. > The below script works perfectly for jpgs: As noted, just change jpg to gif everywhere, and it should work fine, if your GD supports GIF. Or you could even alter the script to determine the image format based on its filename, then call the correct imagecreatefromXYZ and the correct imageXYZ at the end. Or, you could even use http://php.net/imagegetsize and IGNORE the filename, and base your decision on what's actually *IN* the file, so when some idiot renames a jpeg to ".gif" because they think that will make it a GIF (yes, that really happens) then you won't get messed up. > <?php > // The file > $filename = 'test.jpg'; > > // Set a maximum height and width > $width = 200; > $height = 200; > > // Content type > header('Content-type: image/jpeg'); > > // Get new dimensions > list($width_orig, $height_orig) = getimagesize($filename); > > if ($width && ($width_orig < $height_orig)) { > $width = ($height / $height_orig) * $width_orig; > } else { > $height = ($width / $width_orig) * $height_orig; > } > > // Resample > $image_p = imagecreatetruecolor($width, $height); > $image = imagecreatefromjpeg($filename); > imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, > $width_orig, $height_orig); > > // Output > imagejpeg($image_p, null, 100); > ?> > > > Beautiful, isnt it? Hats off to whoever wrote it and three cheers for the > online manual! > > Thanks, > Ryan > > > > > > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.308 / Virus Database: 266.8.0 - Release Date: 3/21/2005 > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php