登录注册
社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
主题 : 老大,为什么有的照片传上来就走形了?
小平 离线
级别: 论坛版主

显示用户信息 
楼主  发表于: 2007-05-30   

老大,为什么有的照片传上来就走形了?

有的就没事?
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
http://blog.sina.com.cn/xiaopingart
That I exist is a perpetual surprise which is life.
arthur 离线
级别: 军区司令员

显示用户信息 
沙发  发表于: 2007-05-31   
好像是对人不对事,我小时候的照片就走形,儿子的就没事。
垂涎三尺,非一日之馋。
伍胥之 离线
级别: 军区司令员

显示用户信息 
板凳  发表于: 2007-05-31   
这个问题在六六贴陈偶得的照片时解释过一次了。如果照片的尺寸X>800 and  Y>600,就须符合X:Y=>4:3的比例,否则就会变形。 e7;7TrB.  
k+ t(u]  
现在的照片调整是这样处理的: d9v66mpJM  
if(this.width>'800')this.width='800'; if(this.height>'600')this.height='600' [E a{);  
q"2APvsv p  
如果照片宽度>800,就调整为800 (高度自动按比例调整) IsI5c  
    ------如果照片比例符合4:3或大于4:3,则Y轴就一定小于600了,下一句不会再执行赋值,所以不会变形。 g ,JfT^  
如果照片高度大于600,则调整为600 jSE)&K4nI  
   ------如果照片宽度没有赋过值(上句未执行过赋值),则宽度按原始比例调整。 INbV6jZL  
h6D4CT  
如果宽度超过了800,则X=800,按原始比例调整后Y仍然大于600,则第二句还要执行一次height的赋值,因为img.width属于已经赋过值,所以设定img.height属性时,width属性就不会再自动调整,而是固定为800,所以图片就被强制设置为800*600,如果原始照片不符合4:3的比例,则一定会变形的。这种情况多发生在竖拍照片的情况。 2.%)OC!q&5  
ZDmL?mC  
这个inline script 如果改为下面的句子就不会有变形问题: _{k*JT2  
onload =if (this.width>800) {this.width=800;} else if (this.height>600) {this.height=600;} $ uTrM8  
MQwxQ{  
这个问题的关键是HTML 的img element的width与height属性只有其中一个被显式地赋值时,另一个才会自动调整,如果两个属性都被显式赋值,则按赋值调整,所以这两句只能执行其中之一,而不可以都执行。 QNx]8r  
zb9G&'7  
请老大百忙之中改一下,钦此!
[ 此贴被伍胥之在2007-06-01 00:13重新编辑 ]
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
地板  发表于: 2007-05-31   
试一哈。。。。。。。。。。。。。。。。。。。。。。。。。
[ 此贴被伍胥之在2007-06-01 00:05重新编辑 ]
杺栫杣杊椌柮栬,䒴蓉艿芖。
伍胥之 离线
级别: 军区司令员

显示用户信息 
地下室  发表于: 2007-05-31   
我哭!试验不成功!
因为老大允许我用HTML,却不允许我用script,所以语句里必须的.(点)变成了encode过的#46;,所以把script当成正文显示出来了。

还是看看俺从自己的地盘上做个例子吧!
http://www.swx.sdnu.edu.cn/czy/1.htm
[ 此贴被伍胥之在2007-06-01 08:26重新编辑 ]
杺栫杣杊椌柮栬,䒴蓉艿芖。
jasmine 离线
级别: 论坛版主
显示用户信息 
5楼  发表于: 2007-05-31   
1. Use MS Picture Management to open the photo. i,;JI>U  
2. Select "Edit Picture" button on the top. qa^cJ1@  
3. Select  "Resize" on the right side. qg#YQ'vWte  
4. Select "Predefined width x height" Uwkxc  
5. Select "Web - Large (640 x 480 ) from drop down list. nIg 88*6b,  
6. OK then Save.
[ 此贴被jasmine在05-31-2007 09:15重新编辑 ]
图片:help 3.JPG
很报歉, 我因为基本不用 “好友” 功能, 又不想引起误会, 所以把所有的 existing  好友都删了。 如果有事, 请短信我, 谢谢。
小平 离线
级别: 论坛版主

显示用户信息 
6楼  发表于: 2007-05-31   
回我试一试,谢了!
http://blog.sina.com.cn/xiaopingart
That I exist is a perpetual surprise which is life.
伍胥之 离线
级别: 军区司令员

显示用户信息 
7楼  发表于: 2007-05-31   
原来简洁正确的答案只有一句:自己把图片调整到小于800*600 sA?8i:]O:  
x,mt}>  
俺把一个简单问题搞得很复杂了,都是馒头惹得祸。
杺栫杣杊椌柮栬,䒴蓉艿芖。
描述
快速回复

验证问题:
3 * 6 = ? 正确答案:18
按"Ctrl+Enter"直接提交