php和js对数据库图片进行等比缩放示例
php和js对数据库图片进行等比缩放示例
发布时间:2016-12-30 来源:查字典编辑
摘要:JS对某图片的等比缩放代码复制代码代码如下:CodehighlightingproducedbyActiproCodeHighlighter...

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教程学习
编程开发子分类