程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> CodeIgniter圖像處理類的深入解析

CodeIgniter圖像處理類的深入解析

編輯:PHP綜合
image.php
復制代碼 代碼如下:
<?php
class Image extends Controller {
    function Image()
    {
    parent::Controller();  
    $this->load->library('image_lib');  
    }

    //縮略圖
    function index(){
        echo '* 調整圖像大小 <br>
            * 創建縮略圖 <br>
            * 圖像裁剪 <br>
            * 圖像旋轉 <br>
            * 添加圖像水印 <br>
        ';
    }
    //縮略圖
    function resize(){
    /*
    注意
    當$config['create_thumb']等於FALSE並且$config['new_image']沒有指定時,會調整原圖的大小
    當$config['create_thumb']等於TRUE並且$config['new_image']沒有指定時,生成文件名為(原圖名 _thumb.擴展名)
    當$config['create_thumb']等於FALSE並且$config['new_image']指定時,生成文件名為$config['new_image']的值
    當$config['create_thumb']等於TRUE並且$config['new_image']指定時,生成文件名為(原圖名 _thumb.擴展名)
    */
        $config['image_library'] = 'gd2';//(必須)設置圖像庫
        $config['source_image'] = 'ptjsite/upload/55002.jpg';//(必須)設置原始圖像的名字/路徑
        $config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態的存在
        $config['quality'] = '90%';//設置圖像的品質。品質越高,圖像文件越大
        $config['new_image'] = 'ptjsite/upload/resize004.gif';//設置圖像的目標名/路徑。
        $config['width'] = 575;//(必須)設置你想要得圖像寬度。
        $config['height'] = 350;//(必須)設置你想要得圖像高度
        $config['create_thumb'] = TRUE;//讓圖像處理函數產生一個預覽圖像(將_thumb插入文件擴展名之前)
        $config['thumb_marker'] = '_thumb';//指定預覽圖像的標示。它將在被插入文件擴展名之前。例如,mypic.jpg 將會變成 mypic_thumb.jpg
        $config['maintain_ratio'] = TRUE;//維持比例
        $config['master_dim'] = 'auto';//auto, width, height 指定主軸線
        $this->image_lib->initialize($config);
        if (!$this->image_lib->resize())
        {
            echo $this->image_lib->display_errors();
        }else{
            echo "成功的";
        }
    }
    //圖像裁剪
    function crop(){  
        $config['image_library'] = 'gd2';//設置圖像庫
        $config['source_image'] = 'ptjsite/upload/004.gif';//(必須)設置原始圖像的名字/路徑
        $config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態的存在
        $config['quality'] = '90%';//設置圖像的品質。品質越高,圖像文件越大
        $config['new_image'] = 'ptjsite/upload/crop004.gif';//(必須)設置圖像的目標名/路徑。

        $config['width'] = 75;//(必須)設置你想要得圖像寬度。
        $config['height'] = 50;//(必須)設置你想要得圖像高度
        $config['maintain_ratio'] = TRUE;//維持比例
        $config['x_axis'] = '30';//(必須)從左邊取的像素值
        $config['y_axis'] = '40';//(必須)從頭部取的像素值

        $this->image_lib->initialize($config);

        if (!$this->image_lib->crop())
        {
            echo $this->image_lib->display_errors();
        }else{
            echo "成功的";
        }
    }

  
    //圖像旋轉
    function rotate(){  
        $config['image_library'] = 'gd2';//(必須)設置圖像庫
        $config['source_image'] = 'ptjsite/upload/001.jpg';//(必須)設置原始圖像的名字/路徑
        $config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態的存在
        $config['quality'] = '90%';//設置圖像的品質。品質越高,圖像文件越大
        $config['new_image'] = 'ptjsite/upload/rotate001.jpg';//設置圖像的目標名/路徑
        $config['rotation_angle'] = 'vrt';//有5個旋轉選項 逆時針90 180 270 度 vrt 豎向翻轉 hor 橫向翻轉  
        $this->image_lib->initialize($config);

        if ( ! $this->image_lib->rotate())
        {
            echo $this->image_lib->display_errors();
        }
    }

    //文字水印
    function watermark(){
        $config['image_library'] = 'gd2';//(必須)設置圖像庫
        $config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
        $config['dynamic_output'] = FALSE;//TRUE 動態的存在(直接向浏覽器中以輸出圖像),FALSE 寫入硬盤
        $config['quality'] = '90%';//設置圖像的品質。品質越高,圖像文件越大
        $config['new_image'] = 'ptjsite/upload/crop004.gif';//設置圖像的目標名/路徑。

        $config['wm_type'] = 'overlay';//(必須)設置想要使用的水印處理類型(text, overlay)
        $config['wm_padding'] = '5';//圖像相對位置(單位像素)
        $config['wm_vrt_alignment'] = 'middle';//豎軸位置 top, middle, bottom
        $config['wm_hor_alignment'] = 'center';//橫軸位置 left, center, right
        $config['wm_vrt_offset'] = '0';//指定一個垂直偏移量(以像素為單位)
        $config['wm_hor_offset'] = '0';//指定一個橫向偏移量(以像素為單位)
        /* 文字水印參數設置 */
        $config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內容
        $config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
        $config['wm_font_size'] = '16';//(必須)文字大小
        $config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進制數
        $config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進制數
        $config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
        /* 圖像水印參數設置 */
        /*
        $config['wm_overlay_path'] = 'ptjsite/upload/overlay.png';//水印圖像的名字和路徑
        $config['wm_opacity'] = '50';//水印圖像的透明度
        $config['wm_x_transp'] = '4';//水印圖像通道
        $config['wm_y_transp'] = '4';//水印圖像通道
        */
        $this->image_lib->initialize($config);
        $this->image_lib->watermark();
    }

    //圖像水印
    function watermark2(){
        $config['image_library'] = 'gd2';//(必須)設置圖像庫
        $config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
        $config['dynamic_output'] = FALSE;//TRUE 動態的存在(直接向浏覽器中以輸出圖像),FALSE 寫入硬盤
        $config['quality'] = '90%';//設置圖像的品質。品質越高,圖像文件越大
        $config['new_image'] = 'ptjsite/upload/crop004.gif';//設置圖像的目標名/路徑。

        $config['wm_type'] = 'overlay';//(必須)設置想要使用的水印處理類型(text, overlay)
        $config['wm_padding'] = '5';//圖像相對位置(單位像素)
        $config['wm_vrt_alignment'] = 'middle';//豎軸位置 top, middle, bottom
        $config['wm_hor_alignment'] = 'center';//橫軸位置 left, center, right
        $config['wm_vrt_offset'] = '0';//指定一個垂直偏移量(以像素為單位)
        $config['wm_hor_offset'] = '0';//指定一個橫向偏移量(以像素為單位)
        /* 文字水印參數設置 */
        /*
        $config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內容
        $config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
        $config['wm_font_size'] = '16';//(必須)文字大小
        $config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進制數
        $config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進制數
        $config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
        */

        /* 圖像水印參數設置 */
        $config['wm_overlay_path'] = 'ptjsite/upload/overlay.png';//水印圖像的名字和路徑
        $config['wm_opacity'] = '50';//水印圖像的透明度
        $config['wm_x_transp'] = '4';//水印圖像通道
        $config['wm_y_transp'] = '4';//水印圖像通道

        $this->image_lib->initialize($config);
        $this->image_lib->watermark();
    }
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved