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实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
Aug 29 Javascript
JavaScript中的undefined学习总结
Nov 30 Javascript
Vue.js每天必学之计算属性computed与$watch
Sep 05 Javascript
Sortable.js拖拽排序使用方法解析
Nov 04 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
分析javascript原型及原型链
Mar 18 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
Jun 24 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
vue-父子组件和ref实例详解
Nov 10 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
Sep 12 Javascript
JavaScript实现轮播图效果
Oct 30 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警告错误信息的解决方法
2013/06/03 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
关于JS中的闭包浅谈
2013/08/23 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
python开发之thread实现布朗运动的方法
2015/11/11 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
python写入已存在的excel数据实例
2018/05/03 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python多线程使用方法实例详解
2019/12/30 Python
如何给Python代码进行加密
2020/01/10 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
售后专员岗位职责
2013/12/08 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
追悼会主持词
2014/03/20 职场文书
感恩之星事迹材料
2014/05/03 职场文书
机关作风建设心得体会
2014/10/22 职场文书
监察建议书
2015/02/04 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
海弦WR-800F
2022/04/05 无线电