现在的位置: 首页学习笔记>正文
PHP图像水印处理和缩放.
发表于6年前 学习笔记 评论数 3

额,继续学习PHP.

这次我先学的是启用系统提供的字体.

C:\Windows\Fonts 这个文件夹是存放系统字体的。

我们将上次学的打水印的代码复制过来.

  1. <?php   
  2.   
  3.     
  4. header('Content-Type:image/jpg');   
  5.   
  6.   
  7. $img=imagecreatefromjpeg('qiang.jpg');   
  8. $ys=imagecolorallocate($img,255,255,255);   
  9.   
  10.   
  11. //采用系统提供的字体.   
  12. //$font='C:\Windows\Fonts\mingliu.ttc';   
  13. //imagettftext($img,20,20,30,100,$ys,$font,'hello');   
  14. //参数二是字体大小,参数三是旋转角度,参数四是X坐标,参数五是Y坐标   
  15. //参数六是字体,参数七是字体.   
  16. //这样打印英文可以,打印中文就不行了.   
  17. //效果图会在文章下面放出.   
  18.   
  19. //现在再来解决中文问题.   
  20. //iconv函数 iconv("ISO-8859-1", "UTF-8", "This is a test.");   
  21. //第一个参数是输入第二个是输出 第三个是文字内容.   
  22. //我们这里用的是GBK.   
  23. //这里还有一点要注意,我们所选的字体要支持中文,不然也会有乱码.   
  24. $text=iconv("gbk","utf-8","独家记忆");   
  25. $font='C:\Windows\Fonts\mingliu.ttc';   
  26. imagettftext($img,20,20,30,100,$ys,$font,$text);   
  27.   
  28. //imagestring($img,5,210,10,"www.mechao.cn",$ys);这个不用了.   
  29. imagejpeg($img);   
  30. imagedestroy($img);     
  31.   
  32.   
  33.   
  34.   
  35. //微缩图   
  36. //如果我们想把我们想要的这个图片微缩起来.   
  37. //应该怎么办,有HTML基础的肯定会这么想   
  38. //<img src="demo.jpg"  width="120" height="140"/>   
  39. //这样图片存起来还是原来那么大.   
  40. //而且会失幀.   
  41. //所以不可取   
  42.   
  43.   
  44. ?>  

 

独家记忆

  1. <?php   
  2.             
  3.                header('content-type:image/jpg');   
  4.                define('_DIR_',dirname(__FILE__).'\\');   
  5.                list($whidth,$height)=getimagesize(_DIR_.'demo.jpg');   
  6. //               echo $whidth;   
  7. //               echo $height;   
  8.                //我们先获取原来图片的长度和高度.   
  9.                //480 和  320    
  10.                //然后我们来讲原图缩放原来的百分之四十   
  11.                $_whidth=$whidth * 0.4;   
  12.                $_height=$height * 0.4;   
  13.                //创建一个新图.   
  14.                $img=imagecreatetruecolor($_whidth,$_height);   
  15.                   
  16.                //然后我们还要载入原图,将原图载到新图上去.   
  17.                $img_1=imagecreatefromjpeg(_DIR_.'demo.jpg');   
  18.                //将原图拷贝到新图,最后按0.4比例输出.   
  19.                //imagecopyresized -- 拷贝部分图像并调整大小   
  20.                imagecopyresampled($img,$img_1,0,0,0,0,$_whidth,$_height,$whidth,$height);   
  21.                //bool 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 )   
  22.                //这是参数.   
  23.                //第一个是新图,第二个是原图.第三个新图坐标X第四个新图坐标Y,第五个原图坐标X第六个原图坐标Y   
  24.                //第七个,新图宽,第八个,新图高,第九个原图宽,第十个,原图高.      
  25.                //然后把我们这个也销毁一下。   
  26.                   
  27.                   
  28.             //将新图输出.   
  29.             imagejpeg($img);   
  30.             imagedestroy($img);   
  31.             imagedestroy($img_1);   
  32.  ?>   

效果图如下

第一个是上次的效果,其余的是今天做的效果.

独家记忆

独家记忆

独家记忆

PHP学习笔记

独家记忆

 

独家记忆

×
腾讯微博