PDA

View Full Version : problem generating thumbnail


xiaodao
04-28-2005, 03:32 AM
<?
function thumb($srcFile) {
$picdata = GetImageSize($srcFile,&$info);
switch ($picdata[2]) {
case 1:
$im = @ImageCreateFromGIF($srcFile);
break;
case 2:
$im = @imageCreateFromJpeg($srcFile);
break;
case 3:
$im = @ImageCreateFromPNG($srcFile);
break;
case 6:
$im = @ImageCreateFromWbmp($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$dstX=0;
$dstY=0;
$dstW=150;
$dstH=150;
if ($srcW*$dstH>$srcH*$dstW) { $fdstH=round($srcH*$dstW/$srcW); $dstY=floor(($dstH-$fdstH)/2); $fdstW=$dstW; }
else { $fdstW=round($srcW*$dstH/$srcH); $dstX=floor(($dstW-$fdstW)/2); $fdstH=$dstH; }
$ni=ImageCreate($dstW,$dstH);
$dstX=($dstX<0)?0:$dstX;
$dstY=($dstX<0)?0:$dstY;
$dstX=($dstX>($dstW/2))?floor($dstW/2):$dstX;
$dstY=($dstY>($dstH/2))?floor($dstH/s):$dstY;
$gray = ImageColorAllocate($ni,132,130,132);
$black = ImageColorAllocate($ni, 0,0,0);
$white = ImageColorAllocate($ni, 255,255,255);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$white);
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH);
ImagePNG($ni);
imagedestroy($im);
imagedestroy($ni);
}
?>

however, when i do the following, it outputs strange codes, how to solve
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td><?
thumb("1.jpg");
?></td>
<td><?
thumb("2.jpg");
?></tD>
</tr>
</table>

amir
04-28-2005, 12:21 PM
<?
function createthumb($IMAGE_SOURCE,$THUMB_X,$THUMB_Y,$OUTPUT_FILE)
{
$BACKUP_FILE = $OUTPUT_FILE . "_backup.jpg";
copy($IMAGE_SOURCE,$BACKUP_FILE);
$IMAGE_PROPERTIES = GetImageSize($BACKUP_FILE);
if (!$IMAGE_PROPERTIES[2] == 2)
{
return(0);
}
else
{
$SRC_IMAGE = ImageCreateFromJPEG($BACKUP_FILE);
$SRC_X = ImageSX($SRC_IMAGE);
$SRC_Y = ImageSY($SRC_IMAGE);
if (($THUMB_Y == "0") AND ($THUMB_X == "0"))
{
return(0);
}
elseif ($THUMB_Y == "0")
{
$SCALEX = $THUMB_X/($SRC_X-1);
$THUMB_Y = $SRC_Y*$SCALEX;
}
elseif ($THUMB_X == "0")
{
$SCALEY = $THUMB_Y/($SRC_Y-1);
$THUMB_X = $SRC_X*$SCALEY;
}
$THUMB_X = (int)($THUMB_X);
$THUMB_Y = (int)($THUMB_Y);
$DEST_IMAGE = imagecreatetruecolor($THUMB_X,$THUMB_Y);
unlink($BACKUP_FILE);
if (!imagecopyresampled($DEST_IMAGE, $SRC_IMAGE, 0, 0, 0, 0, $THUMB_X, $THUMB_Y, $SRC_X, $SRC_Y))
{
imagedestroy($SRC_IMAGE);
imagedestroy($DEST_IMAGE);
return(0);
}
else
{
imagedestroy($SRC_IMAGE);
if (ImageJPEG($DEST_IMAGE,$OUTPUT_FILE))
{
imagedestroy($DEST_IMAGE);
return(1);
}
imagedestroy($DEST_IMAGE);
}
return(0);
}
} # end createthumb

function countpages($resultofquery,$recordsinpage)
{
$totalrows=count($resultofquery);
$totalpages=$totalrows/$recordsinpage;
return $totalpages;
}//counts # of pages for the result

function showallrecords($resultofquery,$pageno,$recordsinpage)
{
// $resultofquery=$dblink->getTableFromDB("select * from products order by name");
$totalpages=countpages($resultofquery,$recordsinpage);
echo("
<table class='tb5' title='All Products' align='center'>
<tr>
<td>
page #".($pageno+1).
"</td>
</tr>
");

$i=$pageno * $recordsinpage;
$end=$i + $recordsinpage;

while( $resultofquery[$i] && $i<$end )
{
echo("
<tr>
<td>
<a href='editproductform.php?productid=".
$resultofquery[$i]['productid'].
"'>".
$resultofquery[$i]['name'].
"</a>
</td>
<td></td><td></td><td></td>
<td>
<a href='deleteproduct.php?productid=".$resultofquery[$i]['productid']."'>delete</a>".
"</td>
</tr>"
);
$i++;
}
echo("</table>");
}

?>

Regards,
Aamir. :thumbsup: