【原创】PHP图片等比缩放原理详解

blogdaren 2015-11-05 抢沙发 2790人次

理论知识:

图片的等比缩放原理可以用一个恒成立的等比缩放公式表达:

     新图宽度 / 原图宽度 = 新图高度 / 原图高度

由此我们可以计算出新图高度或新图宽度。

原理详解

(1) 如果原图的宽度大于我们限定的容器宽度,那么已知的就是新图的宽度,得公式:

     新图高度 = 原图高度 * 新图宽度 / 原图宽度

(2) 如果原图的高度大于我们限定的容器高度,那么已知的就是新图的高度,得公式

     新图宽度 = 原图宽度 * 新图高度 / 原图高度

(3) 如果高度和宽度同时都超过限定容器的高度和宽度,我们就根据宽高比例值做比较,然后再根据比例小的

     值做优先缩放,最后套用上面的公式即可。

总结:

其实原理详解部分可以用一个统一的公式来表达,那就是:

(1) 新图宽度 / 原图宽度  >  新图高度 / 原图高度   => 【比例的小的优先缩放】此时我们会得知新图高度

(2) 新图宽度 / 原图宽度  <  新图高度 / 原图高度   => 比例的小的优先缩放】此时我们会得知新图宽度

(3) 原图的物理宽高肯定是死的, 新图的高或宽是变数,所以我们最终一定求解的是新图的高或宽,宽比例值小,那此时得知新图的宽度,宽比例值小,那此时得知新图的高度。切记一定是以比例小的那个因子进行优先缩放

推荐缩略图类库PHPthumb

(1)  https://github.com/masterexploder/PHPThumb

(2)  http://phpthumb.gxdlabs.com

#等比缩放原理#

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】PHP图片等比缩放原理详解

发表评论:

您的昵称:
电子邮件:
个人主页:

Free Web Hosting