我需要按照区域和图像的最大尺寸大小按比例缩放比例。
我有区域大小:$ Ax $ B
我有图像尺寸:$ ax $ b
我需要按比例缩放而没有裁剪图片(功能($ A,$ B,$ a,$ b))这将返回给我(WidthXHeight)新图像。
看看这个例子:
http://file.qip.ru/photo/Dryu3yhl/two_towers.html?
更新:
图像必须按最大图像宽度/高度调整大小(但不超出范围父容器AxB大小)。
该规模算法使用的是简单的Windows图片浏览器。
如果imagesize< containerize比imagesize =原生图像大小。 if imagesize>按宽度容器化按宽度缩放, if imagesize>按宽度容器化,按高度缩放,但不超出范围的自有容器。
非常感谢您的回答!
答案 0 :(得分:0)
你的意思是这样的:
function new_size($area_width, $area_height, $pic_width, $pic_height) {
if ($pic_width <= $area_width && $pic_height <= $area_height) return Array('w'=>$pic_width, 'h'=>$pic_height);
if ($pic_width <= $area_width && $pic_height > $area_height) return Array('w'=>$pic_width*($area_height/$pic_height), 'h'=>$area_height);
if ($pic_width > $area_width && $pic_height <= $area_height) return Array('w'=>$area_width, 'h'=>$pic_height*($area_width/$pic_width));
if ($pic_width == $pic_height) {
if ($area_width > $area_height) return Array('w'=>$pic_width*($area_height/$pic_height), 'h'=>$area_height);
if ($area_width <= $area_height) return Array('w'=>$area_width, 'h'=>$pic_height*($area_width/$pic_width));
}
}