为了向图像添加文字我正在使用网站下面的代码
<?php
//Set the Content Type
header('Content-type: image/jpeg');
// Create Image From Existing File
$jpg_image = imagecreatefromjpeg('sunset.jpg');
// Allocate A Color For The Text
$white = imagecolorallocate($jpg_image, 255, 255, 255);
// Set Path to Font File
$font_path = 'font.TTF';
// Set Text to Be Printed On Image
$text = "This is a sunset!";
// Print Text On Image
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
// Send Image to Browser
imagejpeg($jpg_image);
// Clear Memory
imagedestroy($jpg_image);
?>
它运行良好,但我无法保存在图片中保存文本文件我正在使用它 功能
function write($post,$myFile){
$fh = fopen($myFile, 'a+') or die("can't open file");
fwrite($fh, $post);
fclose($fh);
}
有什么方法可以在jpg中保存图像吗?
答案 0 :(得分:2)
这是我自己的代码并且运行良好!只需将 name.jpg 的名称更改为您想要的文件名:
<?php
header('Content-type: image/jpeg');
// Create Image From Existing File
$jpg_image = imagecreatefromjpeg('sunset.jpg');
//$jpg_image=imagecreatetruecolor(100,100);
// Allocate A Color For The Text
$white = imagecolorallocate($jpg_image, 255, 255, 255);
// Set Path to Font File
$font_path = 'font1.TTF';
// Set Text to Be Printed On Image
$text = "This is a sunset!";
// Print Text On Image
$x=20;
for($i=0;$i<=strlen($text);$i++){
$print_text=substr($text,$i,1);
$x+=20;
imagettftext($jpg_image, 30, 0, $x, 200, $white, $font_path, $print_text);
}
// Send Image to Browser
imagejpeg($jpg_image,'name.jpg');
// Clear Memory
imagedestroy($jpg_image);
?>
我的代码与你的代码有点不同,其中一个不同的是你没有改变指针的位置,你要把你的角色放在哪里我的意思是$ x :
imagettftext($jpg_image, 30, 0, $x, 200, $white, $font_path, $print_text);
另一个不同的是角色,你把字符串(不是字符)给了 imagettftext 函数,但我给了一个字符。我认为角色比字符串更好特别是创建验证码。
答案 1 :(得分:0)
要将图片保存在文件中而不是输出图片,只需将行imagejpeg($jpg_image);
更改为imagejpeg($jpg_image, 'yourfile.jpg');
(在这种情况下您也可以删除header('Content-type: image/jpeg');
)。
答案 2 :(得分:0)
检查此代码。它与您的代码相同,唯一的区别是
imagejpeg($jpg_image,"imagefolderpath/image.jpg");
而不是imagejpeg($jpg_image);
也许它对你有帮助。
<?php
header('Content-type: image/jpeg');
$jpg_image = imagecreatefromjpeg('sunset.jpg');
$white = imagecolorallocate($jpg_image, 255, 255, 255);
$font_path = 'font.TTF';
$text = "This is a sunset!";
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
imagejpeg($jpg_image,"imagefolderpath/image.jpg");
imagedestroy($jpg_image);
?>