2013-04-22 46 views
0

我想要獲取外部URL,轉換爲灰度,然後將其顯示給瀏覽器。來自外部URL的灰度圖像

我嘗試使用GD與下面的代碼:

$youtube_id = explode('&v=', $video['youtube_link'])[1]; 
           $image_colour = "http://img.youtube.com/vi/$youtube_id/0.jpg"; 
           $im = imagecreatefromjpeg($image_colour); 
           $image_gray = imagefilter($im, IMG_FILTER_GRAYSCALE); 
           imagejpeg($im, $youtube_id); 

這似乎並不奏效。

有沒有什麼好的解決方案?

+0

究竟是不是工作,請描述結果/ error-msg? – michi 2013-04-22 22:33:36

+0

沒有錯誤信息。只是不顯示圖像 – 2013-04-22 22:41:52

回答

0

如果要顯示圖像,則需要設置正確的標題。

我編輯你的代碼了一下,在這裏你有一個工作示例:

<?php 
$video = "https://www.youtube.com/watch?v=0aFkZET3A8A"; 
$url_parts = explode('v=', $video); 
$youtube_id = $url_parts[1]; 
$image_colour = "http://img.youtube.com/vi/$youtube_id/0.jpg"; 
$im = imagecreatefromjpeg($image_colour); 
$image_gray = imagefilter($im, IMG_FILTER_GRAYSCALE); 
header('Content-Type: image/jpeg'); 
imagejpeg($im); 
?> 

修改它,所以它適合您的需要。你也應該考慮使用正則表達式而不是爆炸(現在它只適用於最後帶有&v=xyz短語的簡單網址)。

+0

我最終使用timthumb進行此操作。無論如何感謝您的信息 – 2013-04-23 02:25:36