可定制的PHP缩略图生成程式(需要GD库支持)

经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节 使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试

经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节

使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试

代码如下:

<?

$FILENAME="image_name";

// 生成图片的宽度 
$RESIZEWIDTH=400;

// 生成图片的高度 
$RESIZEHEIGHT=400;

//生成图片的路径 
$uploaddir="c:/winnt/temp";

function ResizeImage($im,$maxwidth,$maxheight,$name){ 
global $uploaddir; 
$width = imagesx($im); 
$height = imagesy($im); 
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){ 
if($maxwidth && $width > $maxwidth){ 
$widthratio = $maxwidth/$width; 
$RESIZEWIDTH=true; 

if($maxheight && $height > $maxheight){ 
$heightratio = $maxheight/$height; 
$RESIZEHEIGHT=true; 

if($RESIZEWIDTH && $RESIZEHEIGHT){ 
if($widthratio < $heightratio){ 
$ratio = $widthratio; 
}else{ 
$ratio = $heightratio; 

}elseif($RESIZEWIDTH){ 
$ratio = $widthratio; 
}elseif($RESIZEHEIGHT){ 
$ratio = $heightratio; 

$newwidth = $width * $ratio; 
$newheight = $height * $ratio; 
if(function_exists("imagecopyresampled")){ 
$newim = imagecreatetruecolor($newwidth, $newheight); 
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 
}else{ 
$newim = imagecreate($newwidth, $newheight); 
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 

ImageJpeg ($newim,$uploaddir.$name . ".jpg"); 
ImageDestroy ($newim); 
}else{ 
ImageJpeg ($im,$uploaddir.$name . ".jpg"); 

}

if($_FILES['image']['size']){ 
if($_FILES['image']['type'] == "image/pjpeg"){ 
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']); 
}elseif($_FILES['image']['type'] == "image/x-png"){ 
$im = imagecreatefrompng($_FILES['image']['tmp_name']); 
}elseif($_FILES['image']['type'] == "image/gif"){ 
$im = imagecreatefromgif($_FILES['image']['tmp_name']); 

if($im){ 
if(file_exists("$FILENAME.jpg")){ 
unlink("$FILENAME.jpg"); 

ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME); 
ImageDestroy ($im); 


?>

<img src="<? echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>"><br><br>

<form enctype="multipart/form-data" method="post"> 
<br> 
<input type="file" name="image" size="50" value="浏览"><p> 
<input type="submit" value="上传图片"> 
</form>

</body> 
</html>

(0)

相关推荐

  • php中使用gd库实现下载网页中所有图片

    在前期的php教程就讲了php gd库可以实现远程图片的下载,但是那只是下载了一张图片,原理是一样的,要想下载一个网页的所有图片只要使用正则表达式进行判断,找出所有的图片url就可以进行循环下载了,我特地参照网络资源编写了gd库图片下载类! php代码如下: <?php header("Content-type:text/html ; charset=utf-8"); if (!empty($_POST['submit'])){ $url = $_POST['url']; //为

  • PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)

    还是老规矩,直接上代码 <?php /** * 缩略图生成类,使用示例: */ $newimage=new ImageResize(); $newimage->resize("tu.jpg","tu_lit.jpg",1000,1000); echo $newimage->GetLastError(); class ImageResize{ private $localimage;//原图路径 private $remoteimage;//缩略图保

  • php利用GD库生成缩略图示例

    php利用GD库生成缩略图. 复制代码 代码如下: <form method="post" action="suo_do.php" enctype="multipart/form-data"> <input type="file" name="pic" /> <input type="submit" value="上传1" /> &

  • 使用gd库实现php服务端图片裁剪和生成缩略图功能分享

    裁剪示例: 最终裁剪成的图片: 其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片.代码如下: 复制代码 代码如下: $src_path = '1.jpg';//创建源图的实例$src = imagecreatefromstring(file_get_contents($src_path)); //裁剪开区域左上角的点的坐标$x = 100;$y = 12;//裁剪区域的宽和高$width = 200;$height = 200;//最终保存成图片的宽和高,和源要等比例,否则会变形$fi

  • PHP用GD库生成高质量的缩略图片

    以下是PHP源代码(ResizeImage.php). 复制代码 代码如下: <?php $FILENAME="image.thumb"; // 生成图片的宽度 $RESIZEWIDTH=400; // 生成图片的高度 $RESIZEHEIGHT=400; function ResizeImage($im,$maxwidth,$maxheight,$name){ $width = imagesx($im); $height = imagesy($im); if(($maxwidt

  • PHP基于GD库的图像处理方法小结

    本文实例讲述了PHP基于GD库的图像处理方法.分享给大家供大家参考,具体如下: gd图像处理技术 extension=php_gd2.dll 创建画布 画布,一种资源型数据,可操作的图像资源 创建画布(新建) imageCreate(width,height) //创建基于调色板的画布 imageCreateTrueColor(width,height) //创建真彩色的画布 基于图片创建画布(打开) imageCreateFromJPEG( url) imageCreateFromPNG(ur

  • PHP5中GD库生成图形验证码(有汉字)

    利用PHP5中GD库生成图形验证码 类似于下面这样 1.利用GD库函数生成图片,并在图片上写指定字符 imagecreatetruecolor 新建一个真彩色图像 imagecolorallocate 为一幅图像分配颜色(调色板) imagestring 绘制字符 imageline 绘制线条 imagesetpixel 打像素点 2.输出图片 imagejpeg($img); PHP实现过程,代码中注释详细,这里不做过多解释 verify.php 复制代码 代码如下: <?php //1.qi

  • PHP GD库生成图像的几个函数总结

    使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像保存起来.在PHP中,可以将动态绘制完成的画布,直接生成GIF.JPEG.PNG和WBMP四种图像格式.可以通过调用下面四个函数生成这些格式的图像: 复制代码 代码如下: bool imagegif(resource $image[,string $filename])                              //以GIF格式将图像输出 bool imagejpeg(resource $image[,str

  • PHP中使用GD库创建圆形饼图的例子

    在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库.除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定.GD库可以在http://www.boutell.com/gd/免费下载,不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF.JPEG.PNG.WBMP.XBM等格式的图像文件,此外还支持一些如FreeType.Type 1等字体库.通过GD库中的函数,可以完成各种点.线.几何图形.文本及颜色

  • PHP中使用GD库绘制折线图 折线统计图的绘制方法

    在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库.除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定.GD库可以在http://www.boutell.com/gd/免费下载,不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF.JPEG.PNG.WBMP.XBM等格式的图像文件,此外还支持一些如FreeType.Type 1等字体库.通过GD库中的函数可以完成各种点.线.几何图形.文本及颜色的

  • php 使用GD库为页面增加水印示例代码

    复制代码 代码如下: <?php header ("Content-type: image/png"); $conn = MYSQL_connect("localhost", "root", ""); //连接数据库 $colname_rs_article = $_GET['id']; //获取参数id mysql_select_db("cms", $conn); //执行SQL $query_rs_

  • php的GD库imagettftext函数解决中文乱码问题

    本文实例讲述了php的GD库imagettftext函数解决中文乱码问题的方法.分享给大家供大家参考.具体如下: 使用imagettftext写中文时,常出现乱码问题.解决方法是将中文字符串转为utf-8格式即可.具体代码如下(文件格式为gb2312): 复制代码 代码如下: <?php $im = imagecreatefromjpeg('./1.jpg'); $w = imagesx($im); $h = imagesy($im); $green = imagecolorallocate($

  • php实现的支持imagemagick及gd库两种处理的缩略图生成类

    本文实例讲述了php实现的支持imagemagick及gd库两种处理的缩略图生成类及其用法实例,非常具有实用价值.分享给大家供大家参考.具体如下: 一.功能: 1.按比例缩小/放大 2.填充背景色 3.按区域裁剪 4.添加水印,包括水印的位置,透明度等 使用imagemagick/GD库实现,imagemagick地址:www.imagemagick.org 需要安装imagemagick,安装方法如下:http://www.jb51.net/article/55528.htm 二.实现方法:

随机推荐