Jump to content

Scaleing images proportionaly


TGWSE_GY

Recommended Posts

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 :o

Link to comment
Share on other sites

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>";

Link to comment
Share on other sites

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  8)

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.