2011-01-27 39 views
3

我有一个区域,如果我有一个400x423的图像如何可以计算一个新的宽度显示有240×180如何计算比例大小与不特定图像超过

一个最大尺寸的图像和最适合我的240x180盒子的图像高度? (在这种情况下,它将是170x180)

+0

可能重复的[图像调整大小算法](http://stackoverflow.com/questions/3332237/image-resizing-algorithm) – GWW 2011-01-27 19:28:47

+1

可能重复的小学作业 – 2011-01-27 19:41:42

回答

5

可能有一些图像库做得很好,但数学很简单。

ratio = orig_x * 1.0/orig_y; 

x_oversized = (orig_x > MAX_X); 
y_oversized = (orig_y > MAX_Y); 

if (x_oversized OR y_oversized) 
{ 
     new_x = min(MAX_X, ratio * MAX_Y); 
     new_y = min(MAX_Y, MAX_X/ratio); 
} 
1

是这样的吗?

$ newheight = 180; $ newwidth = $ width * $ newheight/$ height;