zoukankan      html  css  js  c++  java
  • CodeIgniter 的图像处理类

      1. <?php  
      2. class Image extends Controller {  
      3.     function Image()  
      4.     {  
      5.     parent::Controller();     
      6.     $this->load->library('image_lib');     
      7.     }  
      8.      
      9.     //缩略图  
      10.     function index(){  
      11.         echo '* 调整图像大小 <br>  
      12.             * 创建缩略图 <br>  
      13.             * 图像裁剪 <br>  
      14.             * 图像旋转 <br>  
      15.             * 添加图像水印 <br>  
      16.         ';  
      17.     }  
      18.     //缩略图  
      19.     function resize(){  
      20.     /* 
      21.     注意 
      22.     当$config['create_thumb']等于FALSE并且$config['new_image']没有指定时,会调整原图的大小 
      23.     当$config['create_thumb']等于TRUE并且$config['new_image']没有指定时,生成文件名为(原图名 _thumb.扩展名) 
      24.     当$config['create_thumb']等于FALSE并且$config['new_image']指定时,生成文件名为$config['new_image']的值 
      25.     当$config['create_thumb']等于TRUE并且$config['new_image']指定时,生成文件名为(原图名 _thumb.扩展名) 
      26.     */  
      27.         $config['image_library'] = 'gd2';//(必须)设置图像库  
      28.         $config['source_image'] = 'ptjsite/upload/55002.jpg';//(必须)设置原始图像的名字/路径  
      29.         $config['dynamic_output'] = FALSE;//决定新图像的生成是要写入硬盘还是动态的存在  
      30.         $config['quality'] = '90%';//设置图像的品质。品质越高,图像文件越大  
      31.         $config['new_image'] = 'ptjsite/upload/resize004.gif';//设置图像的目标名/路径。  
      32.         $config['width'] = 575;//(必须)设置你想要得图像宽度。  
      33.         $config['height'] = 350;//(必须)设置你想要得图像高度  
      34.         $config['create_thumb'] = TRUE;//让图像处理函数产生一个预览图像(将_thumb插入文件扩展名之前)  
      35.         $config['thumb_marker'] = '_thumb';//指定预览图像的标示。它将在被插入文件扩展名之前。例如,mypic.jpg 将会变成 mypic_thumb.jpg  
      36.         $config['maintain_ratio'] = TRUE;//维持比例  
      37.         $config['master_dim'] = 'auto';//auto, width, height 指定主轴线  
      38.         $this->image_lib->initialize($config);  
      39.         if (!$this->image_lib->resize())  
      40.         {  
      41.             echo $this->image_lib->display_errors();  
      42.         }else{  
      43.             echo "成功的";  
      44.         }  
      45.     }  
      46.     //图像裁剪  
      47.     function crop(){     
      48.         $config['image_library'] = 'gd2';//设置图像库  
      49.         $config['source_image'] = 'ptjsite/upload/004.gif';//(必须)设置原始图像的名字/路径  
      50.         $config['dynamic_output'] = FALSE;//决定新图像的生成是要写入硬盘还是动态的存在  
      51.         $config['quality'] = '90%';//设置图像的品质。品质越高,图像文件越大  
      52.         $config['new_image'] = 'ptjsite/upload/crop004.gif';//(必须)设置图像的目标名/路径。  
      53.          
      54.         $config['width'] = 75;//(必须)设置你想要得图像宽度。  
      55.         $config['height'] = 50;//(必须)设置你想要得图像高度  
      56.         $config['maintain_ratio'] = TRUE;//维持比例  
      57.         $config['x_axis'] = '30';//(必须)从左边取的像素值  
      58.         $config['y_axis'] = '40';//(必须)从头部取的像素值  
      59.          
      60.         $this->image_lib->initialize($config);  
      61.          
      62.         if (!$this->image_lib->crop())  
      63.         {  
      64.             echo $this->image_lib->display_errors();  
      65.         }else{  
      66.             echo "成功的";  
      67.         }  
      68.     }  
      69.      
      70.      
      71.     //图像旋转  
      72.     function rotate(){     
      73.         $config['image_library'] = 'gd2';//(必须)设置图像库  
      74.         $config['source_image'] = 'ptjsite/upload/001.jpg';//(必须)设置原始图像的名字/路径  
      75.         $config['dynamic_output'] = FALSE;//决定新图像的生成是要写入硬盘还是动态的存在  
      76.         $config['quality'] = '90%';//设置图像的品质。品质越高,图像文件越大  
      77.         $config['new_image'] = 'ptjsite/upload/rotate001.jpg';//设置图像的目标名/路径  
      78.         $config['rotation_angle'] = 'vrt';//有5个旋转选项 逆时针90 180 270 度 vrt 竖向翻转 hor 横向翻转     
      79.         $this->image_lib->initialize($config);  
      80.          
      81.         if ( ! $this->image_lib->rotate())  
      82.         {  
      83.             echo $this->image_lib->display_errors();  
      84.         }  
      85.     }  
      86.      
      87.     //文字水印  
      88.     function watermark(){  
      89.         $config['image_library'] = 'gd2';//(必须)设置图像库  
      90.         $config['source_image'] = 'ptjsite/upload/003.jpg';//(必须)设置原图像的名字和路径. 路径必须是相对或绝对路径,但不能是URL.  
      91.         $config['dynamic_output'] = FALSE;//TRUE 动态的存在(直接向浏览器中以输出图像),FALSE 写入硬盘  
      92.         $config['quality'] = '90%';//设置图像的品质。品质越高,图像文件越大  
      93.         $config['new_image'] = 'ptjsite/upload/crop004.gif';//设置图像的目标名/路径。  
      94.          
      95.         $config['wm_type'] = 'overlay';//(必须)设置想要使用的水印处理类型(text, overlay)  
      96.         $config['wm_padding'] = '5';//图像相对位置(单位像素)  
      97.         $config['wm_vrt_alignment'] = 'middle';//竖轴位置 top, middle, bottom  
      98.         $config['wm_hor_alignment'] = 'center';//横轴位置 left, center, right  
      99.         $config['wm_vrt_offset'] = '0';//指定一个垂直偏移量(以像素为单位)  
      100.         $config['wm_hor_offset'] = '0';//指定一个横向偏移量(以像素为单位)  
      101.         /* 文字水印参数设置 */  
      102.         $config['wm_text'] = 'Copyright 2008 - John Doe';//(必须)水印的文字内容  
      103.         $config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字体名字和路径  
      104.         $config['wm_font_size'] = '16';//(必须)文字大小  
      105.         $config['wm_font_color'] = 'FF0000';//(必须)文字颜色,十六进制数  
      106.         $config['wm_shadow_color'] = 'FF0000';//投影颜色,十六进制数  
      107.         $config['wm_shadow_distance'] = '3';//字体和投影距离(单位像素)。  
      108.         /* 图像水印参数设置 */  
      109.         /* 
      110.         $config['wm_overlay_path'] = 'ptjsite/upload/overlay.png';//水印图像的名字和路径 
      111.         $config['wm_opacity'] = '50';//水印图像的透明度 
      112.         $config['wm_x_transp'] = '4';//水印图像通道 
      113.         $config['wm_y_transp'] = '4';//水印图像通道 
      114.         */  
      115.         $this->image_lib->initialize($config);  
      116.         $this->image_lib->watermark();  
      117.     }  
      118.      
      119.     //图像水印  
      120.     function watermark2(){  
      121.         $config['image_library'] = 'gd2';//(必须)设置图像库  
      122.         $config['source_image'] = 'ptjsite/upload/003.jpg';//(必须)设置原图像的名字和路径. 路径必须是相对或绝对路径,但不能是URL.  
      123.         $config['dynamic_output'] = FALSE;//TRUE 动态的存在(直接向浏览器中以输出图像),FALSE 写入硬盘  
      124.         $config['quality'] = '90%';//设置图像的品质。品质越高,图像文件越大  
      125.         $config['new_image'] = 'ptjsite/upload/crop004.gif';//设置图像的目标名/路径。  
      126.          
      127.         $config['wm_type'] = 'overlay';//(必须)设置想要使用的水印处理类型(text, overlay)  
      128.         $config['wm_padding'] = '5';//图像相对位置(单位像素)  
      129.         $config['wm_vrt_alignment'] = 'middle';//竖轴位置 top, middle, bottom  
      130.         $config['wm_hor_alignment'] = 'center';//横轴位置 left, center, right  
      131.         $config['wm_vrt_offset'] = '0';//指定一个垂直偏移量(以像素为单位)  
      132.         $config['wm_hor_offset'] = '0';//指定一个横向偏移量(以像素为单位)  
      133.         /* 文字水印参数设置 */  
      134.         /* 
      135.         $config['wm_text'] = 'Copyright 2008 - John Doe';//(必须)水印的文字内容 
      136.         $config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字体名字和路径 
      137.         $config['wm_font_size'] = '16';//(必须)文字大小 
      138.         $config['wm_font_color'] = 'FF0000';//(必须)文字颜色,十六进制数 
      139.         $config['wm_shadow_color'] = 'FF0000';//投影颜色,十六进制数 
      140.         $config['wm_shadow_distance'] = '3';//字体和投影距离(单位像素)。 
      141.         */  
      142.          
      143.         /* 图像水印参数设置 */  
      144.         $config['wm_overlay_path'] = 'ptjsite/upload/overlay.png';//水印图像的名字和路径  
      145.         $config['wm_opacity'] = '50';//水印图像的透明度  
      146.         $config['wm_x_transp'] = '4';//水印图像通道  
      147.         $config['wm_y_transp'] = '4';//水印图像通道  
      148.          
      149.         $this->image_lib->initialize($config);  
      150.         $this->image_lib->watermark();  
      151.     }  
      152. }  
      153. ?>  
  • 相关阅读:
    Python:从入门到实践--第五章--if语句--练习
    Python:从入门到实践--第四章--列表操作--练习
    Python:从入门到实践--第七章--用户输入和while循环-练习
    Python:从入门到实践--第六章--字典--练习
    Python:从入门到实践--第八章-函数-练习
    Python:从入门到实践--第九章-类--练习
    Python:从入门到实践--第十章--文件和异常--练习
    图像灰度变换
    matlab数学实验--第二章
    configparse模块和hashlib模块
  • 原文地址:https://www.cnblogs.com/xingmeng/p/2950979.html
Copyright © 2011-2022 走看看