控制图片大小问题 asp.net

闲游四疯 2008-04-08 09:24:20
想控制图片大小,比如大于500px就显示500px,小于500px,就显示本身大小.
但现在出现问题。问题一
CSS控制时有些图片可以控制,有些图片不能控制。。经自己找原因,可能是因为不能控制图片中包含中文的问题。想问下各位还有什么比较好的控制图片大小的方法?(js也不行)
问题二:
图片名包含中文时,另存时会另存为bmp,(不是IE缓存的问题),有办法解决没有?
做过的大虾指教一下,也可以用带中文名的图片试下~

==============================
CSS控制:
.imagery{
border:0;
margin:0;
padding:0;
max-width:200px;
width:expression(this.width>200?"200px":this.width+"px");
max-height:250px;
height:expression(this.height>250?"250px":this.height+"px");
overflow:hidden;
}
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这个办法有点不好的是先加载了图片再进行判断,页面就会出现闪动``````
ReyZhang 2008-04-08
  • 打赏
  • 举报
回复
用js可以控制 2楼的很详细

  • 打赏
  • 举报
回复
<img src="1.jpg" onload="if(this.width*250>this.height*200){this.width=200}else{this.height=250}" />
闲游四疯 2008-04-08
  • 打赏
  • 举报
回复
怎么这么复杂~~谁有简单点的方法啊?
xuyiazl 2008-04-08
  • 打赏
  • 举报
回复
这个用js比较好控制`


<script language="javascript" type="text/javascript" src="js/jquery-1.2.3.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
var el = $("#col > img");
el.css({width: 90, height: 90});
el.mouseover(function(){
$(this).css({opacity:"1"}).stop().animate({opacity:".4"},300);
});
el.mouseout(function(){
$(this).css({opacity:".4"}).stop().animate({opacity:"1"},300);
});
el.click(function(){
var url = $(this).attr("title");
view(url);
});
});
var view = function(url){
var $_ = $(this),$img = $('img', $_),$el = $("#img1"),$load = $("#load");
var $w, $h, wContainer, hContainer;
wContainer = 400;//缩放宽度设置为500
hContainer = 500;//缩放高度设置为400
$load.css({opacity:"1",top:300,left:300,position:'absolute'}).show(); //load图片
$el.attr({src:url}).css({top:300,left:300,position:'absolute'}).hide();//img
$img = new Image();
$img.onload = function(){//创建image对象 添加onload方法
$img.onload = null;
$w = $img.width;//获取图片宽度
$h = $img.height;//获取图片高度
if ($w > wContainer) {//如果图片宽度大于 缩放宽度
$h = $h * (wContainer / $w);
$w = wContainer;
if ($h > wContainer) {
$w = $w * (hContainer / $h);
$h = hContainer;
}
} else if ($h > hContainer) { //如果图片高度大于 缩放高度
$w = $w * (hContainer / $h);
$h = hContainer;
if ($w > wContainer) {
$h = $h * (wContainer / $w);
$w = wContainer;
}
}
$el.css({width:$w,height:$h, marginLeft:(wContainer-$w)*.5,marginTop:(hContainer-$h)*.5}) //img样式--缩放后的高度,缩放后的宽度
$load.fadeOut('fast',function(){$el.fadeIn();});//load隐藏,img显示
};
$img.src = url;
};
</script>
  • 打赏
  • 举报
回复
有点难,IE与FIRFORX不好通用
默默无螡 2008-04-08
  • 打赏
  • 举报
回复
js会更好一些。
wh110 2008-04-08
  • 打赏
  • 举报
回复
楼上那个JS还加了一点DIV的master效果就可以了,

62,041

社区成员

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

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

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

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