php图片缩放代码-按比例缩放或截取指定大小的缩略图非常好用的一个方法_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php图片缩放代码-按比例缩放或截取指定大小的缩略图非常好用的一个方法_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3609字,纯文字阅读大概需要6分钟。
内容图文
![php图片缩放代码-按比例缩放或截取指定大小的缩略图非常好用的一个方法_PHP教程](/upload/InfoBanner/zyjiaocheng/176/2e7682c924f54cbab6fd253faf104622.jpg)
* function resize:
*
* = creates a resized image based on the max width
* specified as well as generates a thumbnail from
* a rectangle cut from the middle of the image.
*
* @dir = directory image is stored in
* @newdir = directory new image will be stored in
* @img = the image name
* @newimg = the image new name
* @max_w = the max width of the resized image
* @max_h = the max height of the resized image
* @th_x = The starting point of the x-coordinate
* @th_y = The starting point of the y-coordinate
* @th_w = the width of the thumbnail
* @th_h = the height of the thumbnail
* @cut = Whether to need cut out
* @center = whether cut from the middle of the image
*
**********************************************************/
function resize($dir, $newdir, $img, $newimg, $max_w, $max_h, $th_x = '', $th_y = '', $th_w = '', $th_h = '',$cut = FALSE,$center = FALSE)
{
// set destination directory
if (!$newdir) $newdir = $dir;
if (!$newimg) $newimg = $img;
// get original images width and height
list($or_w, $or_h, $or_t) = getimagesize($dir.$img);
switch($or_t){
// original image
case 1:
$or_image = imagecreatefromgif($dir.$img);
break;
case 2:
$or_image = imagecreatefromjpeg($dir.$img);
break;
case 3:
$or_image = imagecreatefrompng($dir.$img);
break;
default:
return '不支持的图像格式'; www.2cto.com
break;
}
// make sure image is a jpeg
// if ($or_t == 2) {
// obtain the image's ratio
// $ratio = ($or_h / $or_w);
$ratio = ($max_h / $max_w);
// original image
// $or_image = imagecreatefromjpeg($dir.$img);
// resize image?
if ($or_w > $max_w || $or_h > $max_h) {
// resize by height, then width (height dominant)
if ($max_h < $max_w) {
$rs_h = $max_h;
$rs_w = $rs_h / $ratio;
}
// resize by width, then height (width dominant)
else {
$rs_w = $max_w;
$rs_h = $ratio * $rs_w;
}
// copy old image to new image
$rs_image = imagecreatetruecolor($rs_w, $rs_h);
imagecopyresampled($rs_image, $or_image, 0, 0, 0, 0, $rs_w, $rs_h, $or_w, $or_h);
}
// image requires no resizing
else {
$rs_w = $or_w;
$rs_h = $or_h;
$rs_image = $or_image;
}
// generate resized image
DrawImage($rs_image, $newdir.$newimg,$or_t,100);
//裁剪生成指定的大小start-------------------
if ($cut){
$th_image = imagecreatetruecolor($th_w, $th_h);
// cut out a rectangle from the resized image and store in thumbnail
if ($center){
$new_w = (($rs_w / 2) - ($th_w / 2));
$new_h = (($rs_h / 2) - ($th_h / 2));
}else {
$new_w = $th_x;
$new_h = $th_y;
}
imagecopyresampled($th_image, $rs_image, 0, 0, $new_w, $new_h, $rs_w, $rs_h, $rs_w, $rs_h);
// generate thumbnail
DrawImage($th_image, $newdir.'th_'.$newimg,$or_t,100);
@ImageDestroy($th_image);
}
//生成指定的大小end-------------------
// return true;
//}
// Image type was not jpeg!
/* else {
return false;
} */
@ImageDestroy($rs_image);
}
/**
* @resource image
* @filename
* @quality
* @type
**/
function DrawImage($resource,$filename,$type,$quality){
switch($type){
// original image
case 1:
$or_image = imagegif($resource,$filename);
break;
case 2:
$or_image = imagejpeg($resource,$filename,$quality);
break;
case 3:
$or_image = imagepng($resource,$filename);
break;
}
}
摘自 aa705123123的专栏
http://www.bkjia.com/PHPjc/478491.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478491.htmlTechArticle/********************************************************** * function resize: * * = creates a resized image based on the max width * specified as well as generates a thumbnail fro...
内容总结
以上是互联网集市为您收集整理的php图片缩放代码-按比例缩放或截取指定大小的缩略图非常好用的一个方法_PHP教程全部内容,希望文章能够帮你解决php图片缩放代码-按比例缩放或截取指定大小的缩略图非常好用的一个方法_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。