高手赐教:同一问题第二贴-控制图片显示大小!
我想做到如果图片的高大于200,则高显示为200,宽度大于200,则显示为200;
否则,显示为原图!
图片存在某个文件夹里面,名称存在数据库里面;
应该怎么写程序?
我写了很多,一直报错!!
其中一:
if (((Image)FormView1.FindControl( "imgType ")).Width > 200)
{
((Image)FormView1.FindControl( "imgType ")).Width = 200;
}
if (((Image)FormView1.FindControl( "imgType ")).Height > 200)
{
((Image)FormView1.FindControl( "imgType ")).Height = 200;
}
错误在于(((Image)FormView1.FindControl( "imgType ")).Width 的类型不是整型,convert也不成啊,郁闷!
-----------------------
其中二:
System.Drawing.Bitmap tu = new System.Drawing.Bitmap( "../Commodity/Img/ " + path);
if (tu.Width > 200)
{
((Image)FormView1.FindControl( "imgType ")).Width = 200;
}
if (tu.Height > 200)
{
((Image)FormView1.FindControl( "imgType ")).Width = 200;
}
错误是参数无效
----------
大家帮帮忙吧!!
急死了!
[解决办法]
给你一个js代码,保存成js文件,在要用到的页面里
<script language= "JavaScript " src= "js/image_func.js " type= "text/javascript "> </script>
// 图片相关函数 (image_func.js)
// 作 者: 苏州 dolfen@163.com
// 新建日期: 2006-06
// 修改日期: 2006-11-28
//自动调整图片大小,超过限制则自动按比例缩小。
//例子:
// <IMG onload= "imgAutoSize(this,50,50) "> 限定显示 宽度 和 高度。
// <IMG onload= "imgAutoSize(this,50,-1) "> 限定显示 宽度,不限 高度。
// <IMG onload= "imgAutoSize(this,50,50,2) "> 限制 宽度 和 高度,当图片尺寸大于限定显示尺寸时,自动添加超链接。
function imgAutoSize(ImgObject,MaxWidth,MaxHeight)
{
// 获取第4个参数(可选参数),0:[默认]不添加链接,2:当图片有缩小时自动添加超链接。
var ShowLink= arguments.length> 3 ? arguments[3] : 0;
var obj;
if(typeof(ImgObject)== "string ")
{
if(ImgObject.Indexof( ". ") <0) obj=document.getElementById(ImgObject);
else obj=eval(ImgObject);
}
else if(typeof(ImgObject)== "object ")
{
obj=ImgObject;
}
else return;
var img=new Image();
img.src=obj.src;
var rate;
if (img.width> MaxWidth && MaxWidth> =0)
{
rate=MaxWidth/img.width;
obj.height=img.height*rate;
obj.width=MaxWidth;
ShowLink++;
}
if (img.height> MaxHeight && MaxHeight> =0)
{
rate=MaxHeight/img.height;
obj.width=img.width*rate;
obj.height=MaxHeight;
ShowLink++;
}
if(ShowLink> 2)
{
var oNewNode = document.createElement( "a ");
oNewNode.href=obj.src;
oNewNode.target= "_blank ";
oNewNode.title= "图片已缩小,点击查看原图 ";
obj.applyElement(oNewNode);
}
}
//在指定ImgObject显示图片,并且自动调整图片大小
// ImgObject: 显示对象 或者 对象ID
//例子:
// <a id= "lnk01 " href= "# "> <IMG id= "img01 " alt= " " src= " " align=right> </a>
// <INPUT type= "file " id= "UploadFile1 " runat= "server "
// onpropertychange= "if(event.propertyName== 'value '){imgShow(img01,100,100,this.value);} ">
// <INPUT type= "file " id= "UploadFile2 " runat= "server "
// onpropertychange= "if(event.propertyName== 'value '){imgShow( 'img01 ',100,100,this.value);} ">
// <INPUT type= "file " id= "UploadFile3 " runat= "server "
// onpropertychange= "if(event.propertyName== 'value '){imgShow( 'lnk01.childNodes[0] ',100,100,this.value);} ">
function imgShow(ImgObject,MaxWidth,MaxHeight,ImgSrc)
{
var o;
if(typeof(ImgObject)== "string ")
{
if(ImgObject.indexOf( ". ") <0) o=document.getElementById(ImgObject);
else o=eval(ImgObject);
}
else if(typeof(ImgObject)== "object ")
{
o=ImgObject;
}
else return;
o.src=ImgSrc;
var img=new Image();
img.src=ImgSrc;
var rate;
if (img.width> MaxWidth)
{
rate=MaxWidth/img.width;
o.height=img.height*rate;
o.width=MaxWidth;
}
if (img.height> MaxHeight)
{
rate=MaxHeight/img.height;
o.width=img.width*rate;
o.height=MaxHeight;
}
}