簡體   English   中英

PHP即時裁剪和調整圖像大小

[英]PHP crop and resize image on the fly

我有一個網頁,顯示我不知道他們的大小提前的圖像。 我試圖使用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; ?>" />

我不需要任何緩存。 我怎樣才能做到這一點 ?

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

你需要使用第一種風格。 因為這將發生在服務器端,您無法檢查CSS以獲得所需的大小。

您只需要使用GD函數打開相應的文件,使用imagecopyresampled()調整大小,然后使用imagejpeg輸出到緩沖區。 不要忘記設置正確的標題:

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

您正在尋找TimThumb演示 | 源代碼 ):

只需將源代碼復制到名為“timthumb.php”的新文檔中,將其放在站點上的文件夾中(例如:/ scripts /),然后調用如下圖像:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM