核心流程在于:
1、$im = imagecreatefromjpeg(string jpeg_path) //jpeg图像resource
2、$ox = imagesx(resource $im),$oy = imagesy(resource $im) //获取当前图片width和height
3、等比例计算新图的width和height
$nx = 100;
$ny = $oy * (100 / $ox);
4、imagecreatetruecolor(int $nx,int $ny); //建立新图像resource
5、旧到新拷贝 imagecopyresized($nm,$im,0,0,0,0,$nx,$ny,$ox,$oy);
6、保存 imagejpeg($nm,string jpeg_thumbnail_path);
demo code:
//load picture files
$pic_path = "pics/";
$thumb_path = "thumbs/";
$static_page= "gallery.html";
$dir = opendir($pic_path);
$pics = array();
while($file = readdir($dir)){
if(preg_match(‘/.+\.jpg/i’,$file)){
$pics[] = $file;
}
}
closedir($dir);
//thumbnais generate
foreach($pics as $file){
$im = imagecreatefromjpeg($pic_path.$file);
$ox = imagesx($im);
$oy = imagesy($im);
$nx = 100;
$ny = $oy * (100 / $ox);
$nm = imagecreatetruecolor($nx,$ny);
imagecopyresized($nm,$im,0,0,0,0,$nx,$ny,$ox,$oy);
imagejpeg($nm,$thumb_path.$file);
}
//static page generate
ob_start()
?>
<html>
<head>
<title>god girl</title>
</head>
<body>
<div id=’wapper’>
<?php
foreach($pics as $file){
printf("\t<div id=’image’><a href=’%s’><img border=’0′ src=’%s’ /></a></div>",$pic_path.$file,$thumb_path.$file);
}
?>
</div>
<a href="thumb.php">generate thumbnails</a>
</body>
</html>
<?php
$html = ob_get_clean();
$fh = fopen($static_page,"w");
fwrite($fh,$html);
fclose($fh);
header("location: gallery.html");
?>
Comments