Php Image Resize图片大小调整的函数代码

复制代码 代码如下:

function my_image_resize($src_file, $dst_file, $dst_width=32, $dst_height=32) {
if($dst_width <1 $dst_height <1) {
echo "params width or height error !";
exit();
}
if(!file_exists($src_file)) {
echo $src_file . " is not exists !";
exit();
}

$type=exif_imagetype($src_file);
$support_type=array(IMAGETYPE_JPEG , IMAGETYPE_PNG , IMAGETYPE_GIF);

if(!in_array($type, $support_type,true)) {
echo "this type of image does not support! only support jpg , gif or png";
exit();
}

switch($type) {
case IMAGETYPE_JPEG :
$src_img=imagecreatefromjpeg($src_file);
break;
case IMAGETYPE_PNG :
$src_img=imagecreatefrompng($src_file);
break;
case IMAGETYPE_GIF :
$src_img=imagecreatefromgif($src_file);
break;
default:
echo "Load image error!";
exit();
}
$src_w=imagesx($src_img);
$src_h=imagesy($src_img);
$ratio_w=1.0 * $dst_width/$src_w;
$ratio_h=1.0 * $dst_height/$src_h;
if ($src_w<=$dst_width && $src_h<=$dst_height) {
$x = ($dst_width-$src_w)/2;
$y = ($dst_height-$src_h)/2;
$new_img=imagecreatetruecolor($dst_width,$dst_height);
imagecopy($new_img,$src_img,$x,$y,0,0,$dst_width,$dst_height);
switch($type) {
case IMAGETYPE_JPEG :
imagejpeg($new_img,$dst_file,100);
break;
case IMAGETYPE_PNG :
imagepng($new_img,$dst_file);
break;
case IMAGETYPE_GIF :
imagegif($new_img,$dst_file);
break;
default:
break;
}
} else {
$dstwh = $dst_width/$dst_height;
$srcwh = $src_w/$src_h;
if ($ratio_w <= $ratio_h) {
$zoom_w = $dst_width;
$zoom_h = $zoom_w*($src_h/$src_w);
} else {
$zoom_h = $dst_height;
$zoom_w = $zoom_h*($src_w/$src_h);
}

$zoom_img=imagecreatetruecolor($zoom_w, $zoom_h);
imagecopyresampled($zoom_img,$src_img,0,0,0,0,$zoom_w,$zoom_h,$src_w,$src_h);
$new_img=imagecreatetruecolor($dst_width,$dst_height);
$x = ($dst_width-$zoom_w)/2;
$y = ($dst_height-$zoom_h)/2+1;
imagecopy($new_img,$zoom_img,$x,$y,0,0,$dst_width,$dst_height);
switch($type) {
case IMAGETYPE_JPEG :
imagejpeg($new_img,$dst_file,100);
break;
case IMAGETYPE_PNG :
imagepng($new_img,$dst_file);
break;
case IMAGETYPE_GIF :
imagegif($new_img,$dst_file);
break;
default:
break;
}
}
}

时间: 2024-08-31 16:35:38

Php Image Resize图片大小调整的函数代码的相关文章

Php Image Resize图片大小调整的函数代码_php技巧

复制代码 代码如下: function my_image_resize($src_file, $dst_file, $dst_width=32, $dst_height=32) { if($dst_width <1 || $dst_height <1) { echo "params width or height error !"; exit(); } if(!file_exists($src_file)) { echo $src_file . " is not

基于jQuery的图片大小自动适应实现代码_jquery

关于 这个和以前弄的图片远处放大有许多相同的地方,比如图片预加载.有限容器显示无限大图片. 大小计算:内外两个比例. 复制代码 代码如下: // 容器比例和图片比例 var dr = dw/dh, ir = iw/ih; if(dr>ir){ ih = dh; iw = ih * ir; }else{ iw = dw; ih = iw / ir; } 居中显示:CSS绝对定位,负边距. 复制代码 代码如下: $img.css({width:iw,height:ih,position:'absol

picChange 图片切换特效的函数代码_javascript技巧

可扩展的封装方式,方便实现不同特效,源码中给出了淡出效果(fade函数),和移出效果(move函数)的实现方式. 一句话函数调用,实现图片切换特效. picChange("图片ul列表的id" , 切换图片的方法引用 , 图片切换时间 , 图片移动方向); 用最简单的调用方式和最简洁的html代码来实现这个常用的图片切换效果. 使用方法示例: html代码: 复制代码 代码如下: <div id="win"> <ul id="picCha

JS获取图片实际宽高及根据图片大小进行自适应_javascript技巧

JS获取图片实际宽高,以及根据图片大小进行自适应 复制代码 代码如下: <img src=https://yunqi-tech.oss-cn-hangzhou.aliyuncs.com/xxx.jpg id="imgs" onload="adapt();"/> 复制代码 代码如下: function adapt(){ var tableWidth = $("#imgTable").width(); //表格宽度 var img = n

如何在Linux中使用gThumb批量调整图片大小

如果你的工作涉及到图片编辑和处理,就一定会有同时对多张图片进行批量大小调整的经历.虽然大多数图片编辑应用都能够非常容易地批量调整多张图片,但对于新手用户来说,总是不太容易轻松找到并使用相关功能,因此本文将向大家介绍如何在 Linux 桌面系统中使用 gThumb 软件来批量调整图片大小. 注意:以下内容都基于 Ubuntu 16.04 操作系统中的 gThumb 3.4.3 版本. 由于主要步骤都以 gThumb 为中心,所以请先确保你在系统中已经安装了该应用.如果没有,可以自行在 Ubuntu

Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx

javascript|函数|显示 标题: Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx 正文: QUOTE:   发觉用 ASP 判断图片大小比数牛毛还繁复, 且判断了就判断了, 还要逻辑显示...烦. 用 Javascript 判断, 轻松搞定, 最终效果无非就是不要让大图片撑破页面. shawl.qiu2006-5-24   CODE:  <script LANGUAGE="JAVASCRIPT"> //检查图片大

Javascript 函数,检查图片大小是否大于预期大小

javascript|函数 标题: Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx 正文: QUOTE: 发觉用 ASP 判断图片大小比数牛毛还繁复, 且判断了就判断了, 还要逻辑显示...烦. 用 Javascript 判断, 轻松搞定, 最终效果无非就是不要让大图片撑破页面. CODE:  <script LANGUAGE="JAVASCRIPT"> //检查图片大小是否大于预期大小, 大于则显示为预期大小funct

Word入门动画教程66:调整图片大小

一.鼠标拖动调整图片大小 1.单击文档中要调整大小的图片,其周围将出现8个控制点.把鼠标指针放置在不同位置的控点上,其形状有所不同. 2.将指针移至图片的控制点上,按住左键拖动,会出现一个虚线框,表明图片缩放后的大小,如果达到了要求,即可释放左键. 提示:按住Ctrl键拖动图片的控制点,将以图片的中心向外垂直.水平或沿对角线缩放:按住Shift键或Alt键拖动四角的控点,图片将按原纵横比例缩放. 二.利用对话框调整图片大小 1.单击选择图片. 2.单击"图片"工具栏的"设置图

php实现在服务器端调整图片大小的方法

 本文实例讲述了php实现在服务器端调整图片大小的方法.分享给大家供大家参考.具体分析如下: 在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处. 本文介绍了PHP如何在服务器端调整图片大小. 代码包括两部分: ① imageResizer() is used to process the image ② loadimage() inserts the image url in a simpler format ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15