给定一个图像比率,例如1.5001489425082,如何计算始终是int而不是float的最小可能宽度,并且,尊重比率,结果高度也始终是int ?
我试图在飞行中创建图像占位符,我用这个代码出来(使用kirby cms链语法,但非常不言自明):
<img src="<?= $file->resize(10,(10/$file->ratio()))->url() ?>"
…我调整$file
的大小,使用10
作为宽度,(10/$file-ratio())
作为高度。但这有时会导致浮点数,这在我们处理像素时是不行的。
因此,关于能够选择int型最小宽度的问题,这将导致高度也是int型ALWAYS。
谢谢
如果图像分别具有整数宽度和高度w和h,那么仅给出其比率的近似浮点值是不足以可靠地获得您正在寻找的最低整数宽度和高度值的信息。如果你知道w和h,它们可以在保持它们都是整数的同时,通过除以它们的最大公约数gcd(w,h)来保持相同的比例,使它们尽可能小。