PHP:GD文本图像脚本

时间:2012-02-07 20:17:04

标签: php gd

我有一个简单的facebook应用程序。我有index.php和image.php,当它被访问时会创建一个带有随机文本的图像(至少这是我想从脚本中获取的)。 这是image.php: http://pastebin.com/B4JhHcfj

脚本不完整,因为我不知道如何在生成的图像上获取文本。 示例:我访问image.php,我得到一个带有随机文本的图像。如果我再次访问该链接,将显示相同图像及其上的随机文本。谢谢

3 个答案:

答案 0 :(得分:1)

好的,您可以使用GD为水印添加水印,这是完整的水印脚本:

<?php  

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

$watermark = imagecreatefrompng('watermark.png');  
$watermark_width = imagesx($watermark);  
$watermark_height = imagesy($watermark);  
$image = imagecreatetruecolor($watermark_width, $watermark_height);  
$image = imagecreatefromjpeg($_GET['src']);  
$size = getimagesize($_GET['src']);  
$dest_x = $size[0] - $watermark_width - 5;  
$dest_y = $size[1] - $watermark_height - 5;  
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100); 
imagejpeg($image);  
imagedestroy($image);  
imagedestroy($watermark);  

?>

请注意,此脚本动态创建水印,如果要保存水印图像,则必须使用imagejpeg()功能:

imagejpeg($image,'watermarked_img.jpg'); 

并且您还使用.htaccess将所有图片请求重定向到watermark.php,创建.htaccess文件并将此代码粘贴到其上:

RewriteEngine on
RewriteRule ^([^thumb].*\.[jJ].*)$ watermark.php?src=$1
祝你好运。

答案 1 :(得分:0)

我从您的问题中推测,您已经包含了GD,并且您的PHP脚本使用GD生成图形。

首先,您必须确保所需的字体安装在PHP将要查找的文件夹中。

然后,您应该看看以下函数ImageTTFText:

http://php.net/manual/en/function.imagettftext.php

答案 2 :(得分:0)

我做了一个PHP类来简化:

http://alvarotrigo.com/blog/using-php-gd-library-to-write-text-over-images-using-truetype-fonts/#comment-1048371709

它适用于真实字体(ttf),能够以大字体大小写文字。