首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比例剖面图

问比例剖面图
EN

Stack Overflow用户
提问于 2011-11-07 09:05:11
回答 3查看 275关注 0票数 0

facebook是如何按比例显示你的头像的?他们使用某种算法吗?我注意到个人资料图片div的最大宽度是180像素,高度与原始高度成正比。

EN

回答 3

Stack Overflow用户

发布于 2011-11-07 09:13:08

这很简单。在服务器端,您获得原始纵横比,然后根据该值计算高度。

例如,您有一张比例为3/4 (1,333)的照片。如果最大宽度为180px,则只需将此值除以纵横比即可。最终的高度应该在135px左右。

代码语言:javascript
复制
180px ----- 4px
Hpx   ----- 3px

180 * 3 = 4H
4H = 540
H = 540/4 = 135px

就是这样:D

票数 3
EN

Stack Overflow用户

发布于 2011-11-07 09:07:27

如果您只在img标记中指定一种大小,它将缩放另一种大小(高/宽)以匹配。

例如:

代码语言:javascript
复制
    <img src='test.jpg' width'150'>

如果源图像在300x400时为3:4,这将使高度自动为200

票数 1
EN

Stack Overflow用户

发布于 2012-01-22 20:08:02

我在php中做了一些缩放成比例的东西,它使用给定的宽度,高度,以及你想要的最大宽度/高度(取决于给定的宽度和高度)。

代码语言:javascript
复制
   function scaleProportional($img_w,$img_h,$max=50)
   {
       $w = 0;
       $h = 0;

       $img_w > $img_h ? $w = $img_w / $img_h : $w = 1;
       $img_h > $img_w ? $h = $img_h / $img_w : $h = 1;

       $ws = $w > $h ? $ws = ($w / $w) * $max : $ws = (1 / $h) * $max;
       $hs = $h > $w ? $hs = ($h / $h) * $max : $hs = (1 / $w) * $max;

       return array(
           'width'=>$ws,
           'height'=>$hs
       );
   }

用法:

代码语言:javascript
复制
            $getScale = scaleProportional(600,200,500);
            $targ_w = $getScale['width']; //will return 500
            $targ_h = $getScale['height']; //will return 166.666666667
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8031738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档