使用php的水印youtube缩略图

时间:2015-01-26 11:58:17

标签: php

我尝试使用php GD在youtube缩略图上叠加一些文字,但这似乎不起作用。 我试过的代码是:

<?php
$im = file_get_contents('http://i.ytimg.com/vi/6E9wBFl5o-c/mqdefault.jpg'); 
$image = imagecreatefromjpeg($im);
$font_size = 14;

$color = imagecolorallocate($image, 255,255,255);

$black = imagecolorallocate($image, 0,0,0);

// and now we do the overlay - the layers of text start top to bottom, so
// the drop shadow comes first

// $image - the base image file we specified above
// $font_size - Well duh. Its the size of the font
// 0 - the angle of the text - we don't want an angle, so we leave it at 0
// 56 - pixels to the right from the leftmost part of the image
// 36 - pixels down from the top of the image
// $black - the color we defined above

// "Test Text" - the text we're overlaying - you can also use a variable here
ImageTTFText ($image, $font_size, 0, 56, 36, $black, "font.ttf","Test Text");

// Now add the actual white text "on top"
ImageTTFText ($image, $font_size, 0, 55, 35, $color, "font.ttf","Test Text");
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);

那么如何通过写在上面的文字返回图像。

2 个答案:

答案 0 :(得分:1)

imagecreatefromjpeg需要一个文件名作为参数,请参阅http://php.net/manual/function.imagecreatefromjpeg.php

这应该有效:

$image = imagecreatefromjpeg('http://i.ytimg.com/vi/6E9wBFl5o-c/mqdefault.jpg');

答案 1 :(得分:1)

要调试脚本,您可以在浏览器中访问该URL。任何警告或错误消息都是可读的。

一个简单的错误是你在标题中声明了一个JPG文件,但是返回了一个PNG文件。

header("Content-type: image/jpg");
imagepng($image);

还要确保可以从PHP文件中真正访问字体文件。