PHP即时裁剪和调整图像大小

时间:2010-01-27 03:53:28

标签: php html css

我有一个网页,显示我事先不知道尺寸的图像。我试图使用GD功能使脚本调整大小并裁剪来自我的图像“就在它们显示之前......我不需要缓存”但我失败了。 我需要一个我可以像这样调用的脚本

<img src="display.php?src=blablabla&height=100&width=200" ?>

或者甚至通过计算css的宽度和高度来保持比例并使图像从内部触及盒子

<img src="blabla.jpg" style="height:<?php echo $height; ?>; width:<?php echo width; ?>" />

我不需要任何缓存。我怎么能这样做?

4 个答案:

答案 0 :(得分:7)

WideImage rlz! :)

调整大小是这样的:

header('Content-type: image/jpeg');

echo WideImage::load('image.jpg')->resize(200, 100)->asString('jpg', 80);
// image.jpg resized at 200x100 with 80% of quality

答案 1 :(得分:3)

您需要使用第一种风格。因为这将发生在服务器端,所以无法检查CSS以获得所需的大小。

您只需使用GD功能打开相应的文件,使用imagecopyresampled()调整其大小,然后使用imagejpeg输出到缓冲区。不要忘记设置正确的标题:

header('Content-type: image/jpeg');

答案 2 :(得分:1)

答案 3 :(得分:-1)

您正在寻找 TimThumb Demo | Source Code):

  

只需将源代码复制到新代码中即可   文件名为'timthumb.php',地点   它位于您网站上的文件夹中(例如:   / scripts /)并调用图像   这样:

<img src="/scripts/timthumb.php?src=/images/whatever.jpg&h=150&w=150&zc=1" alt="">