imagecreatefrom* 图片载入函数
imagecreatefromgif
imagecreatefromjpeg
imagecreatefrompng
imagecreatefromwbmp
imagecreatefromstring
如:imagecreatefromgif('php100.gif');
imagecopy 图片合并函数
imagecopy ( Dimg, Simg, int x, int y, int src_x, int src_y, int src_w, int src_h )
参数:原始图,水印图,水印图对齐到原始图中的x坐标,y坐标,复制水印图片起始x坐标,y坐标,复制水印图宽度,高度
imagecopyresized图片剪切函数
imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
参数:新图片,原始图,原始图对齐新图片x坐标,y坐标,复制原始图起始x坐标,y坐标,新图片宽度,高度,复制原始图高度,宽度
在使用剪切图之前我们需要先建立一个真彩图,也就是方便内存来存储
另外一个需要使用的函数
getimagesize();
获得图片的相关信息,如高度,宽度,图片类型,bits,channels,mime类型
$logoimage = 'logo.gif';
$logoimg = getimagesize($logoimage);
switch ($logoimg[2]) {
case 1 :
$in = @ imagecreatefromgif($logoimage);
break;
case 2 :
$in = @ imagecreatefromjpeg($logoimage);
break;
case 3 :
$in = @ imagecreatefrompng($logoimage);
break;
}
////获得颜色编码
//$color = imagecolorallocate($im, 255, 0, 0);
////更改文字编码
//$string = iconv("gbk", "UTF-8", "图片水影测试 cnpeng.org");
//在图片中写入文字
imagettftext($im, 14, 0, 2, 16, $color, 'simyou.ttf', $string);
//添加水印
imagecopy($im, $in, 20, 300, 0, 0, $logoimg[0], $logoimg[1]);
//创建300x300的空白图片
$smallimg = imagecreatetruecolor(300,300);
//缩小图片
imagecopyresized($smallimg,$im,0,0,0,0,300,300,$img[0],$img[1]);
//设置内容格式为images/jpeg
header("Content-Type: image/jpeg");
//输出jpeg图片
imagejpeg($smallimg);