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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
Extjs学习笔记之六 面版
Jan 08 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
15个常用的jquery代码片段
Dec 19 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
vue自定义指令directive的使用方法
Apr 07 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
对layer弹出框中icon数字参数的说明介绍
Sep 04 Javascript
浅谈javascript如何获取文件后缀名
Aug 07 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
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
学校三八妇女节活动情况总结
2014/03/09 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
golang语言指针操作
2022/04/14 Golang