图片变形了···

seven4634 2011-10-27 10:20:38
点击游览显示图片 图片要是大 页面就变形了
本来应该是这样的

        <div id="preview_wrapper" class="preview_wrapper">
<div id="preview_fake" runat="server" class="preview_fake">
<img id="preview_size_fake" class="preview_size_fake"/>
<img id="preview" onload="onPreviewLoad(this)" class="preview" />

</div>

</div>
这是页面代码
<style type="text/css">
.preview_wrapper
{
display: inline-block;

background-color: #CCCC;
width: 812px;
height: 231px;
text-align:left;
}
.preview_fake
{
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
width: 142px;
height: 248px;
text-align:left;
}
.preview_size_fake
{
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);
visibility: hidden;
display: inline-table;
width: 6px;
height: 194px;
text-align:left;

}
.preview
{
text-align:left;
width: 45px;
height: 87px;
}

.style3
{
width: 183px;
text-align:left;
}
.style7
{ width: 50px;
text-align: right;
}
</style>
<script type="text/javascript">
function onUploadImgChange(sender) {

if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
alert('请上传正常格式的图片');
return false;
}

var objPreview = document.getElementById('preview');
var objPreviewFake = document.getElementById('<%=preview_fake.ClientID %>');
var objPreviewSizeFake = document.getElementById('preview_size_fake');


if (sender.files && sender.files[0]) {
objPreview.style.display = 'block';
objPreview.style.width = 'auto';
objPreview.style.height = 'auto';

objPreview.src = sender.files[0].getAsDataURL();
} else if (objPreviewFake.filters) {

sender.select();
var imgSrc = document.selection.createRange().text;

objPreviewFake.filters.item(
'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
objPreviewSizeFake.filters.item(
'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;

autoSizePreview(objPreviewFake,
objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight);
objPreview.style.display = 'none';
}
document.getElementById("tu").style.display = "block";
}

function onPreviewLoad(sender) {
autoSizePreview(sender, sender.offsetWidth, sender.offsetHeight);
}

function autoSizePreview(objPre, originalWidth, originalHeight) {
var zoomParam = clacImgZoomParam(300, 300, 440, 330);
objPre.style.width = zoomParam.width + 'px';
objPre.style.height = zoomParam.height + 'px';
objPre.style.marginTop = zoomParam.top + 'px';
objPre.style.marginLeft = zoomParam.left + 'px';
}

function clacImgZoomParam(maxWidth, maxHeight, width, height) {
var param = { width: width, height: height, top: 0, left: 0 };

if (width > maxWidth || height > maxHeight) {
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;

if (rateWidth > rateHeight) {
param.width = maxWidth;
param.height = height / rateWidth;
} else {
param.width = width / rateHeight;
param.height = maxHeight;
}
}

param.left = (maxWidth - param.width) / 2;
param.top = (maxHeight - param.height) / 2;

return param;
}
function loadImg() {
var path = document.getElementById("<%=HiddenField1.ClientID %>").value;
var imgc = document.getElementById("preview");
imgc.src = path;
}
window.onload = loadImg;

function enlargeImage1() {
preview.height = "300"
}
function dropImage1() {
preview.height = "150"
}

</script>
帮帮忙吧·
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
seven4634 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangting_lisa 的回复:]
分辨率问题,lz要压缩一下图片
[/Quote]
恩 你看我那代码 设置成固定了 可是真不知道哪不对啊·
seven4634 2011-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangting_lisa 的回复:]
分辨率问题,lz要压缩一下图片
[/Quote]
额 怎么压缩啊 不是分辨率吧 我换分辨率 不对啊
小笨熊 2011-10-27
  • 打赏
  • 举报
回复
分辨率问题,lz要压缩一下图片
ZhangNan20100811 2011-10-27
  • 打赏
  • 举报
回复
应该把浏览上传的图片的宽度和高度固定设置.
零-点 2011-10-27
  • 打赏
  • 举报
回复
是不是浏览器兼容问题 或者你的屏幕分辨率问题

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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