php和js对数据库图片进行等比缩放示例


Posted in Javascript onApril 28, 2014

JS 对某图片的等比缩放

代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>最新javascript自动按比例显示图片,按比例压缩图片显示</title> 
<script type="text/javascript"> 
function AutoResizeImage(maxWidth,maxHeight,objImg){ 
var img = new Image(); 
img.src = objImg.src; 
var hRatio; 
var wRatio; 
var Ratio = 1; 
var w = img.width; 
var h = img.height; 
wRatio = maxWidth / w; 
hRatio = maxHeight / h; 
if (maxWidth ==0 && maxHeight==0){ 
Ratio = 1; 
}else if (maxWidth==0){// 
if (hRatio<1) Ratio = hRatio; 
}else if (maxHeight==0){ 
if (wRatio<1) Ratio = wRatio; 
}else if (wRatio<1 || hRatio<1){ 
Ratio = (wRatio<=hRatio?wRatio:hRatio); 
} 
if (Ratio<1){ 
w = w * Ratio; 
h = h * Ratio; 
} 
objImg.height = h; 
objImg.width = w; 
} 
</script> 
</head> 
<body> 
<br /> 
原图显示(534 X 800)<br /> 
onload="AutoResizeImage(0,0,this)<br /> 
<a href="./img/IMG_20140424_200722.jpg" target="_blank"><img src="./img/IMG_20140424_200722.jpg" border="0" width="0" height="0" onload="AutoResizeImage(0,0,this)" alt="534 X 800"/></a><br/><br /> 
3.按高度250宽度250 按比例压缩<br /> 
onload="AutoResizeImage(250,250,this)"<br /> 
<a href="./img/IMG_20140424_200722.jpg" target="_blank"><img src="./img/IMG_20140424_200722.jpg" border="0" width="0" height="0" onload="AutoResizeImage(250,250,this)" alt="200 X 300"/></a><br /><br /> 
6.如果图片本来的高度和宽度小于压缩的最大高度和宽度,则不会拉大显示图片(按原图显示)<br /> 
原图444 x 207,压缩为 500 x 600,将保持原图显示<br /> 
onload="AutoResizeImage(500,600,this)"<br /> 
<a href="./img/IMG_20140424_200722.jpg" target="_blank"><img src="./img/IMG_20140424_200722.jpg" border="0" width="0" height="0" onload="AutoResizeImage(500,600,this)" alt="444 X 207"/></a><br /><br /> 
</body> 
</html>

php对数据库图片的等比缩放
<?php 
class ImgSF{ 
function make_img($img_address){ 
//图片的等比缩放 //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源 
$src=imagecreatefromjpeg($img_address); 
//取得源图片的宽度和高度 
$size_src=getimagesize($img_address); 
$w=$size_src['0']; 
$h=$size_src['1']; 
//指定缩放出来的最大的宽度(也有可能是高度) 
$max=300; 
//根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度 
if($w > $h){ 
$w=$max; 
$h=$h*($max/$size_src['0']); 
}else{ 
$h=$max; 
$w=$w*($max/$size_src['1']); 
} 

//声明一个$w宽,$h高的真彩图片资源 
$image=imagecreatetruecolor($w, $h); 

//关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h) 
imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']); 
//告诉浏览器以图片形式解析 
header('content-type:image/png'); 
imagepng($image); 
//销毁资源 
imagedestroy($image); 
} 
} 
$obj=new ImgSF(); 
$obj->make_img("./img/IMG_20140424_200722.jpg");
Javascript 相关文章推荐
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
AngularJs表单验证实例详解
May 30 Javascript
教你JS中的运算符乘方、开方及变量格式转换
Aug 09 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
Nov 14 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
Mar 26 Javascript
javascript实现图片轮播代码
Jul 09 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
vue的三种图片引入方式代码实例
Nov 19 Javascript
微信小程序实现签字功能
Dec 23 Javascript
vue页面引入three.js实现3d动画场景操作
Aug 10 Javascript
JS计算网页停留时间代码
Apr 28 #Javascript
js分页代码分享
Apr 28 #Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 #Javascript
jquery禁用右键示例
Apr 28 #Javascript
jquery实现带二级菜单的导航示例
Apr 28 #Javascript
jquery实现的导航固定效果
Apr 28 #Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 #Javascript
You might like
php数组一对一替换实现代码
2012/08/31 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
可以将word转成html的js代码
2010/04/11 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python调用c++传递数组的实例
2019/02/13 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python绘制规则网络图形实例
2019/12/09 Python
python语言是免费还是收费的?
2020/06/15 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
行政部经理助理岗位职责
2014/06/15 职场文书
工程索赔意向书
2014/08/30 职场文书
2014年司法所工作总结
2014/11/22 职场文书
2015年资料员工作总结
2015/04/25 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书