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 相关文章推荐
非阻塞动态加载javascript广告实现代码
Nov 17 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
Nov 25 Javascript
js 输出内容到新窗口具体实现代码
May 31 Javascript
jquery日历控件实现方法分享
Mar 07 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
JavaScript无操作后屏保功能的实现方法
Jul 04 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
Vue中通过属性绑定为元素绑定style行内样式的实例代码
Apr 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php模板引擎技术简单实现
2016/03/15 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
js停止输出代码
2008/07/20 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
ajax请求data遇到的问题分析
2018/01/18 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
详解django中自定义标签和过滤器
2017/07/03 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
JAVA程序员面试题
2012/10/03 面试题
大三学生学年自我鉴定
2014/09/12 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
单位更名证明
2015/06/18 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers