Hello Alvaro,
IrfanView looks like it might be useful to m.
I'm still trying to get a feel for the php/html landscape. It feels as
alien as switching to oop did for me! There's so much to know.
Getting the image into the html image control seems to be my main problem,
and <img src="thumbs.php?file.gif"> looks very interesting. I've found
http://www.snipe.net/geek/scripts/pdfs/gdlib-php.pdf which I'll read now.
At present I'm getting header already sent erro messages.
Here's my attempt so far if you're interested (or feeling helpful...).
Well, back to the web to read and learn about how to use scripts..
Thanks,
Gregory.
<?php require_once('Connections/connProperty.php'); ?>
<?php
# Constants
//define(IMAGE_BASE, '/var/www/html/mbailey/images');
define(MAX_WIDTH, 150);
define(MAX_HEIGHT, 150);
$maxRows_PrpSummary = 9;
$pageNum_PrpSummary = 0;
if (isset($_GET['pageNum_PrpSummary'])) {
$pageNum_PrpSummary = $_GET['pageNum_PrpSummary'];
}
$startRow_PrpSummary = $pageNum_PrpSummary * $maxRows_PrpSummary;
mysql_select_db($database_connProperty, $connProperty);
$query_PrpSummary = "SELECT Prp.PreStreet House, Str.Name Street, sCi.Name
Borough, Cit.Name City,
ssC.Name District, sCy.Name County, Cry.Name
Country, PcX.Pic PcXPic,
Pic.Id PicId, Pic.FileName FileName,
Pic.FileLocation Location
FROM Property AS Prp
Left Outer Join Country Cry On Cry.Id = Prp.Cry
Left Outer Join sCountry sCy On sCy.Id = Prp.sCy
Left Outer Join ssCountry ssC On ssC.Id = Prp.ssC
Left Outer Join City Cit On Cit.Id = Prp.Cit
Left Outer Join sCity sCi On sCi.Id = Prp.sCi
Left Outer Join Street Str On Str.Id = Prp.Str
Left Outer Join PicToX PcX On PcX.TargetId =
Prp.Id And PcX.TargetType = 21
And PcX.Priority = 1
Left outer join Picture Pic On Pic.Id = PcX.Pic
";
$query_limit_PrpSummary = sprintf("%s LIMIT %d, %d", $query_PrpSummary,
$startRow_PrpSummary, $maxRows_PrpSummary);
$PrpSummary = mysql_query($query_limit_PrpSummary, $connProperty) or
die(mysql_error());
$row_PrpSummary = mysql_fetch_assoc($PrpSummary);
if (isset($_GET['totalRows_PrpSummary'])) {
$totalRows_PrpSummary = $_GET['totalRows_PrpSummary'];
} else {
$all_PrpSummary = mysql_query($query_PrpSummary);
$totalRows_PrpSummary = mysql_num_rows($all_PrpSummary);
}
$totalPages_PrpSummary = ceil($totalRows_PrpSummary/$maxRows_PrpSummary)-1;
?>
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<table width="487" border="2" align="left" bgcolor="#99FFCC" frame="below">
<tr><td width="291">Address</td></tr>
<?php do { ?>
<tr>
<td height="107"><?php echo $row_PrpSummary['House']; ?><br>
<?php echo $row_PrpSummary['Street']; ?><br>
<?php echo $row_PrpSummary['Borough']; ?><br>
<?php echo $row_PrpSummary['City']; ?><br>
<?php echo $row_PrpSummary['District']; ?><br>
<?php echo $row_PrpSummary['County']; ?> <?php echo
$row_PrpSummary['Country']; ?></td>
<!-- <td><img src="<?php echo $row_PrpSummary['FileName']; ?>" ></td> -->
<?php
$image_path = 'e:\property\\data\\images\\' .
$row_PrpSummary['FileName'];
$img = null;
$ext = strtolower(end(explode('.', $image_path)));
if ($ext == 'jpg' || $ext == 'jpeg') {
$img = @imagecreatefromjpeg($image_path);
} else if ($ext == 'png') {
$img = @imagecreatefrompng($image_path);
# Only if your version of GD includes GIF support
} else if ($ext == 'gif') {
$img = @imagecreatefrompng($image_path);
}
# If an image was successfully loaded, test the image for size
if ($img) {
# Get image size and scale ratio
$width = imagesx($img);
$height = imagesy($img);
$scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);
# If the image is larger than the max shrink it
if ($scale < 1) {
$new_width = floor($scale*$width);
$new_height = floor($scale*$height);
# Create a new temporary image
$tmp_img = imagecreatetruecolor($new_width, $new_height);
# Copy and resize old image into new image
imagecopyresized($tmp_img, $img, 0, 0, 0, 0,
$new_width, $new_height, $width, $height);
imagedestroy($img);
$img = $tmp_img;
}
}
# Create error image if necessary
if (!$img) {
$img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
imagecolorallocate($img,0,0,0);
$c = imagecolorallocate($img,70,70,70);
imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
}
//imagejpeg($img);
?>
<td>
<?php
# Display the image
imagejpeg($img);
?>
</td>
</tr>
<?php } while ($row_PrpSummary = mysql_fetch_assoc($PrpSummary)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($PrpSummary);
?>
----- Original Message -----
From: Alvaro G Vicario
Newsgroups: comp.lang.php
Sent: Tuesday, October 28, 2003 4:27 PM
Subject: Re: Making images smaller, and displaying them!
*** Gregory escribió/wrote (12:23:56 28/10/2003):
How can I display a resized image in a table, without writing it to
disk first?
If you don't want to store thumbnails on disk you can create a script
to generate them on the fly and link to it:
<img src="thumbs.php?file.gif">
There're many ways to create thumbs. I've found the easier one is using
the "display" utility from ImageMagick:
exec('convert -antialias -resize 100x80 +profile "*"
'.escapeshellarg($original).' '.escapeshellarg($thumb));
The above code writes thumbs on disk, it can't be difficult to redirect
output to stardard output.
I could get around this problem by creating smaller images in the
windows app (non web) but I cannot find anything to do this. If you
know of a dll or ocx etc that I could use, please let me know!
You have tons of standalone apps but I don't know about libraries...
Have you checked XNview or IrfanView?
--
--
-- Álvaro G. Vicario - Burgos, Spain
--