如图
<?php /*打开图片*/ $src="imgs/wuhuan.jpg"; $info=getimagesize($src); // echo "<pre>"; // print_r($info);获取图片信息 $type=image_type_to_extension($info[2],false); //echo $type;获取图片的类型 $fun="imagecreatefrom{$type}";//$fur=imagecreatefromjpeg;$fur=imagecreatefrompng;因为这个函数有很多个。 $image=$fun($src); //imagecreatefromjepg($src);imagecreatefrompng($src) /*操作图片*/ $font="imgs/HYH3GJM0.TTF"; $content="你好,sb"; $col=imagecolorallocatealpha($image,255,255,255, 63); imagettftext($image,20,0,20,20,$col,$font,$content); /*输出图片*/ header("Content-type:".$info['mime']); //imagejpeg($image);imagepng($image); $fnc="image{$type}"; $func($image); imagejpeg($image); /*销毁图片*/ ?>
建议你把调试工具打开,看看浏览器上未显示的图片的url,看看是不是和你本地保存的一样。多借用调试工具,找不出错误的时候,代码一段一段的进行排错查看。
$fun="imagecreatefrom".$type;
//把图片复制到内存中
$image=$fun($src);
我的也是这样,怎么搞的
你的解决了吗,我也出现这个问题
<?php
/* 打开图片 */
//1.配置图片路径
$src="..\watermark\images/holowen.jpg";
//2.获取图片信息( 通过GD库提供的方法,得到你想要处理的图片的基本信息)
$info = getimagesize($src);
//print_r ($info);
//3.通过图像的编号来获取图像的类型
$type=image_type_to_extension($info[2],false);
//4在内存中创建一个和我们图像类型一样的图片
$fun="imagecreatefrom{$type}";//$fun=imagecreatefromjpeg/png/gif;
//5.把图片复制到我们的内存
$image=$fun($src);//$image=imagecreatefromjpeg/png/gif($src);
/* 操作图片*/
$font="simhei.ttf";
$content="hello! 你好";
$color=imagecolorallocatealpha($image,255,255,255,50);
imagettftext($image,30,mt_rand(-20,34),20,40,$color,$font,$content);
/* 输出图片*/
//浏览器输出
header("Content-type:".$info['mime']);
$func= "image($type)";//imagejpeg imagepng
$func($image);
//保存图片
$func($image,'newimage.'.$type);
/* 销毁图片*/
?>
可能是你的nodepad++保存格式不对,我的是保存为UTF-8格式的