TGWSE_GY Posted July 15, 2009 Share Posted July 15, 2009 I a wanting to take images that I am displaying and scale them proportionally based off of the original image without making a thumbnail. I am basicly wanting to do this on the fly. Thanks George! Quote Link to comment Share on other sites More sharing options...
Bricktop Posted July 15, 2009 Share Posted July 15, 2009 A quick Google search returned this, it looks like an easy to use script. http://tech.mikelopez.info/2006/03/02/php-image-resize-script/ Quote Link to comment Share on other sites More sharing options...
TGWSE_GY Posted July 15, 2009 Author Share Posted July 15, 2009 While that is helpful Bricktop, I already have code that is iterating through a directory of images and displaying them, I just need something that will resize them as each one is parsed to be displayed in the browser. Here is the code for what I have. //define the path as relative $path = "www.hmtotc.com/private/george/projects/dandj/images"; $target = "images/"; //using the opendir function $dir_handle = @opendir($path) or die("Unable to open $path"); $count = 0; //echo "Directory Listing of $path<br/>"; //running the while loop while ($file = readdir($dir_handle)) { //echo "<img src=\"$target$file\" />"; echo "<a href=\"$target$file\" rel=\"lightbox\"><img src=\"$target$file\" height=\"35%\" width=\"25%\" /></a>"; $count = + 1; if ($count == 3) { echo "<br />"; } } //closing the directory closedir($dir_handle); Any more suggestions Thanks for the help guys! George Quote Link to comment Share on other sites More sharing options...
Bricktop Posted July 15, 2009 Share Posted July 15, 2009 Hi George, Using the resize script I linked to, just edit your code to include it, i.e. //echo "<img src=\"imageresize.php$target$file\" />"; echo "<a href=\"$target$file\" rel=\"lightbox\"><img src=\"$target$file\" height=\"35%\" width=\"25%\" /></a>"; To something like: //echo "<img src=\"imgsize.php?w=100&img=$target$file\" />"; echo "<a href=\"$target$file\" rel=\"lightbox\"><img src=\"imgsize.php?w=100&img=$target$file\" /></a>"; Quote Link to comment Share on other sites More sharing options...
TGWSE_GY Posted July 15, 2009 Author Share Posted July 15, 2009 Ok brick there seems to be a problem with the resize script it is not resizing all the images properly, it always displays at least one image larger than what it should be. Here is the code for the resize script, maybe you can pin point the problem I cant seem to find it. <?php header ("Content-type: image/jpeg"); /* JPEG / PNG Image Resizer Parameters (passed via URL): img = path / url of jpeg or png image file percent = if this is defined, image is resized by it's value in percent (i.e. 50 to divide by 50 percent) w = image width h = image height constrain = if this is parameter is passed and w and h are set to a size value then the size of the resulting image is constrained by whichever dimension is smaller Requires the PHP GD Extension Outputs the resulting image in JPEG Format By: Michael John G. Lopez - www.sydel.net Filename : imgsize.php */ $img = $_GET['img']; $percent = $_GET['percent']; $constrain = $_GET['constrain']; $w = $_GET['w']; $h = $_GET['h']; // get image size of img $x = @getimagesize($img); // image width $sw = $x[0]; // image height $sh = $x[1]; if ($percent > 0) { // calculate resized height and width if percent is defined $percent = $percent * 0.01; $w = $sw * $percent; $h = $sh * $percent; } else { if (isset ($w) AND !isset ($h)) { // autocompute height if only width is set $h = (100 / ($sw / $w)) * .01; $h = @round ($sh * $h); } elseif (isset ($h) AND !isset ($w)) { // autocompute width if only height is set $w = (100 / ($sh / $h)) * .01; $w = @round ($sw * $w); } elseif (isset ($h) AND isset ($w) AND isset ($constrain)) { // get the smaller resulting image dimension if both height // and width are set and $constrain is also set $hx = (100 / ($sw / $w)) * .01; $hx = @round ($sh * $hx); $wx = (100 / ($sh / $h)) * .01; $wx = @round ($sw * $wx); if ($hx < $h) { $h = (100 / ($sw / $w)) * .01; $h = @round ($sh * $h); } else { $w = (100 / ($sh / $h)) * .01; $w = @round ($sw * $w); } } } $im = @ImageCreateFromJPEG ($img) or // Read JPEG Image $im = @ImageCreateFromPNG ($img) or // or PNG Image $im = @ImageCreateFromGIF ($img) or // or GIF Image $im = false; // If image is not JPEG, PNG, or GIF if (!$im) { // We get errors from PHP's ImageCreate functions... // So let's echo back the contents of the actual image. readfile ($img); } else { // Create the resized image destination $thumb = @ImageCreateTrueColor ($w, $h); // Copy from image source, resize it, and paste to image destination @ImageCopyResampled ($thumb, $im, 0, 0, 0, 0, $w, $h, $sw, $sh); // Output resized image @ImageJPEG ($thumb); } ?> Thanks Guys! George Quote Link to comment Share on other sites More sharing options...
Bricktop Posted July 15, 2009 Share Posted July 15, 2009 Hi George, I think it's a problem somewhere with your coding, post your entire script and we can have a look through. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.