您正在使用IPV4(18.205.176.39)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头       深圳小产权房      

【腾讯云】热门云产品首单特惠秒杀,2核2G云服务器45元/年      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 儿童节 15
2022年 端午节 17
2023年 元 旦 229
2023年 春 节 250
 
本类新增
本类热门文章
您现在的位置:首页 >> PHP >> 内容
PHP生成缩略图实例讲解
内容摘要: 封装的方法函数:?php/***生成缩略图*$imgSrc图片源路径*$thumbWidth缩略图宽度*$thumbHeight缩略图高度*$thumbSrc缩略图路径*$isCut是否剪切图片*/functioncreateThumbImg($imgSrc,$thumbWidth,$thumbHeight,$thumbSrc,$isCut=false){/......
封装的方法函数:

<?php

/**

*生成缩略图

*$imgSrc图片源路径

*$thumbWidth缩略图宽度

*$thumbHeight缩略图高度

*$thumbSrc缩略图路径

*$isCut是否剪切图片

*/

functioncreateThumbImg($imgSrc,$thumbWidth,$thumbHeight,$thumbSrc,$isCut=false){

//1.获取图片的类型

$type=substr(strrchr($imgSrc,"."),1);

//2.初始化图象

if($type=="jpg"||$type=="jpeg"){

//创建一块画布,并从JPEG文件或URL地址载入一副图像

$sourceImg=imagecreatefromjpeg($imgSrc);

}elseif($type=="gif"){

//创建一块画布,并从GIF文件或URL地址载入一副图像

$sourceImg=imagecreatefromgif($imgSrc);

}elseif($type=="png"){

//创建一块画布,并从PNG文件或URL地址载入一副图像

$sourceImg=imagecreatefrompng($imgSrc);

}

elseif($type=="wbmp"){

//创建一块画布,并从WBMP文件或URL地址载入一副图像

$sourceImg=imagecreatefromwbmp($imgSrc);

}

//取得图像宽度

$width=imagesx($sourceImg);

//取得图像高度

$height=imagesy($sourceImg);

//3.生成图象

//缩略图的图象比例

$scale=($thumbWidth)/($thumbHeight);

//源图片的图象比例

$ratio=($width)/($height);

if(($isCut)==1){

//高度优先

if($ratio>=$scale){

//创建真彩图像资源(imagecreatetruecolor()函数使用GDLibrary创建新的真彩色图像)

$newimg=imagecreatetruecolor($thumbWidth,$thumbHeight);

//图像处理

imagecopyresampled($newimg,$sourceImg,0,0,0,0,$thumbWidth,$thumbHeight,(($height)*$scale),$height);

//以JPEG格式将图像输出到浏览器或文件

ImageJpeg($newimg,$thumbSrc);

}

//宽度优先

if($ratio<$scale){

$newimg=imagecreatetruecolor($thumbWidth,$thumbHeight);

imagecopyresampled($newimg,$sourceImg,0,0,0,0,$thumbWidth,$thumbHeight,$width,(($width)/$scale));

ImageJpeg($newimg,$thumbSrc);

}

}else{

if($ratio>=$scale){

$newimg=imagecreatetruecolor($thumbWidth,($thumbWidth)/$ratio);

imagecopyresampled($newimg,$sourceImg,0,0,0,0,$thumbWidth,($thumbWidth)/$ratio,$width,$height);

ImageJpeg($newimg,$thumbSrc);

}

if($ratio<$scale){

$newimg=imagecreatetruecolor(($thumbHeight)*$ratio,$thumbHeight);

imagecopyresampled($newimg,$sourceImg,0,0,0,0,($thumbHeight)*$ratio,$thumbHeight,$width,$height);

ImageJpeg($newimg,$thumbSrc);

}

}

//销毁图像

ImageDestroy($sourceImg);

}

?>

调用示例:

<?php

//图片源路径

$imgSrc="D:/PHP/test/demo.jpg";

//缩略图路径

$thumbSrc="D:/PHP/test/thumb.jpg";

createThumbImg($path,100,100,$thumbSrc);

?>

上一篇:php将多个字符串替换成同一个字符的方法 下一篇:PHP随机生成18位不重复的订单号代码实
发布日期:2022/4/17
手机扫二维码直达本页
发布时间:15:20:16
点击:442
录入:齐天大圣
相关文章
Baidu

YiJiaCMS 6.2.1.220509(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022