我想获取外部网址,转换为灰度,然后将其显示在浏览器中。
我尝试使用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 :(得分: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);
?>
修改它以满足您的需求。您还应该考虑使用regexp而不是explode(现在它只适用于最后带有&v=xyz
短语的简单URL)。