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学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 Javascript
EasyUI中datagrid在ie下reload失败解决方案
Mar 09 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
jquery树形菜单效果的简单实例
Jun 06 Javascript
Vue from-validate 表单验证的示例代码
Sep 26 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
javascript获取元素的计算样式
May 24 Javascript
js实现图片跟随鼠标移动效果
Oct 16 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
Feb 16 Javascript
原生js实现表格循环滚动
Nov 24 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
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适配器模式介绍
2012/08/14 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
Display SQL Server Login Mode
2007/06/21 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
vue实现购物车加减
2020/05/30 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
Python实现登录接口的示例代码
2017/07/21 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
String这个类型的class为何定义成final?
2012/11/13 面试题
2014客服代表实习自我鉴定
2014/09/18 职场文书
骨干教师事迹材料
2014/12/17 职场文书
同学聚会通知书
2015/04/20 职场文书
婚宴父母致辞
2015/07/27 职场文书