在處理網頁圖片縮圖時,很難保證圖片統一大小,直接設定圖片大小又會導致圖片展開,造成圖片模糊,本文介紹的代碼可以在圖片載入完成後自動按比例調整圖片大小。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImageAutoZoom.aspx.cs" Inherits="UI_ImageAutoZoom" %>
<!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 runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js 實現網頁圖片按比例縮放-by wangtao</title>
<script type="text/javascript" src="../Misc/Js/Core/Jquery.js"></script>
</head>
<body>
<script type="text/javascript">
function ImageAutoZoom(Img,FitWidth,FitHeight)
{
var image=new Image();
image.src=Img.src;
if(image.width>0 && image.height>0)
{
if(image.width/image.height>= FitWidth/FitHeight)
{
if(image.width>FitWidth)
{
Img.width=FitWidth;
Img.height=(image.height*FitWidth)/image.width;
}
else if(image.hight>FitHeight)
{
Img.height=FitHeight;
Img.width=(image.width*FitHeight)/image.height;
}
else
{
Img.width=FitWidth;
Img.height=FitHeight;
}
}
}
}
</script>
<form id="ImageAutoZoomform" runat="server">
<div>
<img src="../Misc/Image/Test/war3.jpg" height="200" width="200" alt="按比例縮放圖片" onload="ImageAutoZoom(this,200,200)" />
</div>
</form>
</body>
</html>
因為當圖片太大的時候,頁面會造成一種拉動,所以最好設一下height,width這樣可以減少拉動的範圍。雖然這個沒有很大的技術含量,但是很實用,大部分網站用到圖片的地方,多多少少都會涉及到的。