php和js對數據庫圖片進行等比縮放示例
更新時間:2014年04月28日 17:08:34 作者:
這篇文章主要介紹了php和js如何對數據庫圖片進行等比縮放,需要的朋友可以參考下
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只能對資源進行操作,所以要對需要進行縮放的圖片進行拷貝,創(chuàng)建為新的資源
$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");
代碼
復制代碼 代碼如下:
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只能對資源進行操作,所以要對需要進行縮放的圖片進行拷貝,創(chuàng)建為新的資源
$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中三個等號和兩個等號的區(qū)別(== 和 ===)淺析
javascript中比較運算符'=='與'==='可能大家用的比較多,但是大家對他的區(qū)別不是很清楚,接下來小編給大家介紹下js中三個等號和兩個等號的區(qū)別(== 和 ===),感興趣的朋友可以參考下2016-09-09webix+springmvc session超時跳轉登錄頁面
這篇文章主要介紹了webix+springmvc session超時跳轉登錄頁面的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-10-10bootstrap-Treeview實現(xiàn)級聯(lián)勾選
這篇文章主要為大家詳細介紹了bootstrap-Treeview實現(xiàn)級聯(lián)勾選,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11基于邏輯運算的簡單權限系統(tǒng)(實現(xiàn)) JS 版
基于邏輯運算的簡單權限系統(tǒng)(實現(xiàn)) JS 版...2007-03-03