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 EasyUI的formatter格式化函数代码
Jan 12 Javascript
使用javascript获取flash加载的百分比的实现代码
May 25 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
Aug 23 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
vue.js element-ui tree树形控件改iview的方法
Mar 29 Javascript
JavaScript创建对象的常用方式总结
Aug 10 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 Javascript
小谈angular ng deploy的实现
Apr 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
php去除二维数组的重复项方法
2015/11/03 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
Python 性能优化技巧总结
2016/11/01 Python
微信跳一跳游戏python脚本
2020/04/01 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
python实现飞机大战微信小游戏
2020/03/21 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
毕业生在校学习的自我评价分享
2013/10/08 职场文书
公司前台辞职报告
2014/01/19 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
创建文明城市标语
2014/06/16 职场文书
2014年外联部工作总结
2014/11/17 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL