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 相关文章推荐
使两个iframe的高度与内容自适应,且相等
Nov 20 Javascript
SWFObject Flash js调用类
Jul 08 Javascript
Jquery Ajax.ashx 高效分页实现代码
Oct 20 Javascript
关于eval 与new Function 到底该选哪个?
Apr 17 Javascript
Bootstrap免费字体和图标网站(值得收藏)
Mar 16 Javascript
vuejs 单文件组件.vue 文件的使用
Jul 28 Javascript
10个在JavaScript开发中常遇到的BUG
Dec 18 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
Vue前后端不同端口的实现方法
Sep 19 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
JS中this的4种绑定规则详解
Feb 04 Javascript
vue使用canvas实现移动端手写签名
Sep 22 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 echo 输出字符串函数详解
2010/05/13 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
js form action动态修改方法
2008/11/04 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
jQuery Mobile中的button按钮组件基础使用教程
2016/05/23 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
实例浅析js的this
2016/12/11 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
js实现随机点名小功能
2017/08/17 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
Python验证企业工商注册码
2015/10/25 Python
python获取服务器响应cookie的实例
2018/12/28 Python
python基于递归解决背包问题详解
2019/07/03 Python
python找出因数与质因数的方法
2019/07/25 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
教师个人的自我评价分享
2014/01/02 职场文书
小学家长会邀请函
2014/01/23 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
总经理检讨书
2014/09/15 职场文书
关于安全的广播稿
2014/10/23 职场文书
出生公证书
2015/01/23 职场文书
军训结束新闻稿
2015/07/17 职场文书
React如何创建组件
2021/06/27 Javascript