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 相关文章推荐
基于JQuery模仿苹果桌面的Dock效果(初级版)
Oct 15 Javascript
在JavaScript中typeof的用途介绍
Apr 11 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
jQuery中的一些常见方法小结(推荐)
Jun 13 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
微信小程序 页面跳转事件绑定的实例详解
Sep 20 Javascript
React组件refs的使用详解
Feb 09 Javascript
Vue核心概念Action的总结
Jan 18 Javascript
Vue渲染过程浅析
Mar 14 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
May 10 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 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数据缓存技术
2007/02/14 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
phpinfo的知识点总结
2019/10/10 PHP
Javascript笔记一 js以及json基础使用说明
2010/05/22 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2019/01/10 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
求职自荐信
2013/12/14 职场文书
实用的简历自我评价
2014/03/06 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
森林病虫害防治方案
2014/06/02 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2015大学生实训报告
2014/11/05 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
Python 语言实现六大查找算法
2021/06/30 Python