aspx页面 控制图片大小

zyjmib 2008-02-01 02:57:46
在一个aspx的页面上有一个图片.要求宽度大于365px时设置宽度为365px;小于365px时图片原尺寸显示.
我用了以下几种方法都不行
1:css样式\
<img id="imgPro" runat="server" class="imgInfo" />
.imgInfo
{
max-width:365px;
width:expression(document.body.clientWidth>365?"365px":"auto");
overflow:hidden;
}

2:CS代码控制\
this.imgPro.Attributes.Add("onload", "changeImg(this)");//有时可以控制,有时图片就原样显示,必须刷新几次才行

脚本:
<script language="javascript" type="text/javascript"> 
<!--
function changeImg(mypic){
var xw=365;

var width = mypic.width;
var height = mypic.height;
var bili = width/height;

var A=width/xw;

if(A>1)
{
mypic.width=xw;
mypic.height=xw/bili;
}
}
//-->
</script>

3:
this.imgPro.Attributes.Add("onload", "javascript:if   (this.width>365)   this.width=365;");

以上几种方法都不行.
求教,能完美控制的方法.
...全文
340 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
一品梅 2008-02-03
  • 打赏
  • 举报
回复
mark.
cat_hsfz 2008-02-03
  • 打赏
  • 举报
回复
直接在服务器端批量生成缩略图吧,小于365px的图片,缩略图就是原图,这就简单了。
我在地球 2008-02-03
  • 打赏
  • 举报
回复
img onload 事件 可以 js 实现
cybonline 2008-02-03
  • 打赏
  • 举报
回复
在Body的Onload事件里加上你的方法2的js:
<Body ... onload="changeImg(this)"..>
js改一改:
function changeImg()将参数去掉。
试试看。
ReyZhang 2008-02-03
  • 打赏
  • 举报
回复


js 是可以控制的,ls诸位的可以试试
lovehongyun 2008-02-03
  • 打赏
  • 举报
回复
生成缩略图比较好..同意12楼

否则的话.你的图片可能会变的很难看.
staryjk 2008-02-03
  • 打赏
  • 举报
回复
<script language="JavaScript">
<!--
//图片按比例缩放
var flag=false;
function DrawImage(ImgD){
var image=new Image();
var iwidth = 102; //定义允许图片宽度,当宽度大于这个值时等比例缩小
var iheight = 80; //定义允许图片高度,当宽度大于这个值时等比例缩小
image.src=ImgD.src;
if(image.width>0 && image.height>0){
flag=true;
if(image.width/image.height>= iwidth/iheight){
if(image.width>iwidth){
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}


}
else{
if(image.height>iheight){
ImgD.height=iheight;
ImgD.width=(image.width*iheight)/image.height;
}else{
ImgD.width=image.width;
ImgD.height=image.height;
}
}
}
}
//
//-->
</script>

调用:<img src="图片" onload="javascript:DrawImage(this)">
meheartfly 2008-02-03
  • 打赏
  • 举报
回复
up12
LutzMark 2008-02-03
  • 打赏
  • 举报
回复
up 12楼
jeremy 2008-02-03
  • 打赏
  • 举报
回复
贴出一段我的代码:
"<a href='ImageView.aspx?IMG=uploads/"+names[i]+"' target='_blank'><img src='uploads/"+names[i]+"'onload='javascript:if(this.width>screen.width-320)this.width=screen.width-320' border=0 alt='点击放大看原图'></a><br>";
}
LikeCode 2008-02-02
  • 打赏
  • 举报
回复
浏览器一遇上脚本时,就要解析这段脚本,这样反反复复解析脚本与CSS资源开销是很大的,就象在HTML里,脚本要尽量集中,不要分散,因为浏览器与遇到脚本就是重新解释这些脚本,很费劲的.
zyjmib 2008-02-02
  • 打赏
  • 举报
回复
To:LikeCode
为什么"建议不要在CSS里嵌入脚本,据说这样的网页运行起来效率极差。"?
是否有详细的介绍,谢谢。
octverve 2008-02-01
  • 打赏
  • 举报
回复
http://hi.baidu.com/injava/blog/item/2735c743b9430c1173f05dcf.html
希望对你有帮助~
LikeCode 2008-02-01
  • 打赏
  • 举报
回复
建议不要在CSS里嵌入脚本,据说这样的网页运行起来效率极差
LikeCode 2008-02-01
  • 打赏
  • 举报
回复
<img src="1.jpg" onload="if(this.width>356)this.width=365" alt="#" />
Go 旅城通票 2008-02-01
  • 打赏
  • 举报
回复
function ImgW(ImgID,Width){
var obj = document.getElementById(ImgID);
if(obj != null)
{
var w = obj.width;
var h = obj.height;

if (w > Width){
obj.width = Width;
obj.height = h*Width/w;
}
}
};
window.onload=function()
{
ImgW("图片的id" ,"365");
}
zhuanshen712 2008-02-01
  • 打赏
  • 举报
回复
如果是服务器段控件,最好是用:
var mypic = document.getElementById(" <%=mypic.ClientID% >");
wdzr_826 2008-02-01
  • 打赏
  • 举报
回复
在onload写试试看
showrock 2008-02-01
  • 打赏
  • 举报
回复
对的,是应该在body 的onload里写改变图片大小的方法

<Body onload="changeImg(imgPro)">
zhuanshen712 2008-02-01
  • 打赏
  • 举报
回复
错了,onload="changeImg()"
js:
function changeImg()
{
var xw=365;
var mypic=document.getelenmentbyid("图片id");
var width = mypic.width;
var height = mypic.height;
...
加载更多回复(1)
兼容目前的浏览器 里面包含FCKeditor编辑器和控件 一、集成方法 FCKeditor应用在ASP.NET上,需要两组文件,一组是FCKeditor本身,另一个是用于ASP.NET的FCKeditor控件(分为1.1和2.0两个版本,这里使用2.0版本)。 1. 将FCKeditor加入到项目中 解压FCKeditor编辑器,得到文件夹fckeditor,复制此文件夹到Web应用的项目下(也可以是子孙目录下)。 解压FCKeditor控件,在其子目录bin/Release/2.0下有一个程序集。在Web应用的项目中引用该程序集。 2. 在页面中使用FCKeditor 有两种方式。 (1)手工编码 在页面中加入ASP.NET指令: 然后在需要的地方加入FCKeditor控件: (2)集成到Visual Studio工具箱 打开一ASP.NET页面,展开Toolbox,打开右键菜单,选择“Choose Items ...”,在出现的“Choose Toolbox Items”会话框的“.NET Framework Components”选项卡中选择“Browse”,找到并选中FCKeditor程序集,打开后回到“Choose Toolbox Items”窗口,点击“OK”,完成控件导入。 这时,在Toolbox的General分类下出现了一个名为FCKeditor的控件,可以像使用Visual Studio内置控件一样使用它。 3. 配置FCKeditor编辑器路径 在页面中,使用的是FCKeditor控件,该控件需要知道FCKeditor编辑器文件组的路径。有两种配置方法。 (1)配置web.config 在appSettings配置节中加入 使用这种配置方法后,对于项目中任何一个页面中用到的FCKeditor控件,都不用再配置其BasePath属性。 (2)直接对用到的FCKeditor控件进行配置 在页面代码中设置FCKeditor的属性BasePath为FCKeditor编辑器文件组的路径,或者在Page_Init事件处理器中设置其BasePath的值。 4. 配置FCKeditor编辑器文件上传路径 在web.config的appSettings配置节中加入 这样,就完成了FCKeditor向ASP.NET页面的集成工作。 二、配置FCKeditor 按照FCKeditor的默认配置,可以完成一些常用的HTML可视化编辑工作,但在实际应用中,还需要对其做进一步的配置。FCKeditor控件的可配置属性不多,且配置后只能作用于一个单一实例。实际上,需要对FCKeditor编辑器文件组中的通用配置文件/fckconfig.js和ASP.NET专用文件上传管理代码文件/editor/filemanager/connectors/aspx/config.ascx进行配置。 1. 配置控件语言 FCKeditor是自动探测浏览器所使用的语言编码的,其默认语言是英文。修改配置行"FCKConfig.DefaultLanguage = 'en';"为'zh-cn',采用中文为默认语言。 2. 配置控件应用技术 FCKeditor默认是用于php技术的。修改配置行"var _FileBrowserLanguage = 'php';"和"var _QuickUploadLanguage = 'php';"为'aspx',采用ASP.NET技术。 3. 配置Tab键 默认Tab键在FCKeditor中不可用,可以修改配置行"FCKConfig.TabSpaces = 0;"为1,启用Tab键。 4. 定制FCKe

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧