【问题标题】:Stock Image Resize Calculation Ratio AlgorithmStock Image 调整大小计算比率算法
【发布时间】:2014-10-20 16:59:06
【问题描述】:
我正在为我的客户开发一个关于可下载库存照片的项目。
他们给了我一些示例网站,看看他们到底想要什么。
他们想要不止一种尺码,例如here(XXXL、XXL、XL、L、M、S):
我想知道创建不同尺寸的计算是如何工作的,我认为没有像 1.2、2、3 这样的固定比率。
- XXXL = 11252W, 3340H
- XXL = 7381W x 2191H
XXXL 和 XXL 比率
11252 / 7381 = 1.52~
他们如何进行计算以创建不同的尺寸?
【问题讨论】:
标签:
php
image
resize
imagick
【解决方案1】:
我相信 iStockPhoto 的计算基于打印尺寸。例如,如您所见,他们出售以下格式:
- S:272 x 377 像素 | 17.7 × 5.2" @ 72.0 dpi
- M: 2544 x 755 像素 | 8.5 × 2.5" @ 300.0 dpi
- 长:4070 x 1208 像素 | 13.6 × 4.0" @ 300.0 dpi
- ...
- XXXL:11252 x 3340 像素 | 37.5 × 11.1" @ 300.0 dpi
因此,他们首先获得所需的打印尺寸(例如 17.7" x 5.2"),然后指定打印分辨率(72 dpi 适合屏幕;300 dpi 适合高质量打印),最终将其转换为像素。最后一步非常简单:如果您想要 8.5 英寸,300 dpi(每英寸点数),假设 1 点 = 1 像素(例如,Retina 显示器不正确,但打印正确),那么您将得到 8.5 * 300 = 2550 像素。分辨率应为 2550x750 像素;差异可以用图像的比例不完全是 3.4:1 来解释。
无论如何,在您确定最大尺寸后,您可以调整照片的大小,直到适合为止。这是一个简单的比例:
origWidth : origHeight = targetWidth : targetHeight