CodeIgniter圖像處理類的深入解析
更新時間:2013年06月17日 15:51:20 作者:
本篇文章是對CodeIgniter的圖像處理類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
image.php
<?php
class Image extends Controller {
function Image()
{
parent::Controller();
$this->load->library('image_lib');
}
//縮略圖
function index(){
echo '* 調(diào)整圖像大小 <br>
* 創(chuàng)建縮略圖 <br>
* 圖像裁剪 <br>
* 圖像旋轉(zhuǎn) <br>
* 添加圖像水印 <br>
';
}
//縮略圖
function resize(){
/*
注意
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']沒有指定時,會調(diào)整原圖的大小
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']沒有指定時,生成文件名為(原圖名 _thumb.擴(kuò)展名)
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']指定時,生成文件名為$config['new_image']的值
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']指定時,生成文件名為(原圖名 _thumb.擴(kuò)展名)
*/
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/55002.jpg';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/resize004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['width'] = 575;//(必須)設(shè)置你想要得圖像寬度。
$config['height'] = 350;//(必須)設(shè)置你想要得圖像高度
$config['create_thumb'] = TRUE;//讓圖像處理函數(shù)產(chǎn)生一個預(yù)覽圖像(將_thumb插入文件擴(kuò)展名之前)
$config['thumb_marker'] = '_thumb';//指定預(yù)覽圖像的標(biāo)示。它將在被插入文件擴(kuò)展名之前。例如,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';//設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/004.gif';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//(必須)設(shè)置圖像的目標(biāo)名/路徑。
$config['width'] = 75;//(必須)設(shè)置你想要得圖像寬度。
$config['height'] = 50;//(必須)設(shè)置你想要得圖像高度
$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 "成功的";
}
}
//圖像旋轉(zhuǎn)
function rotate(){
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/001.jpg';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/rotate001.jpg';//設(shè)置圖像的目標(biāo)名/路徑
$config['rotation_angle'] = 'vrt';//有5個旋轉(zhuǎn)選項(xiàng) 逆時針90 180 270 度 vrt 豎向翻轉(zhuǎn) hor 橫向翻轉(zhuǎn)
$this->image_lib->initialize($config);
if ( ! $this->image_lib->rotate())
{
echo $this->image_lib->display_errors();
}
}
//文字水印
function watermark(){
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設(shè)置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
$config['dynamic_output'] = FALSE;//TRUE 動態(tài)的存在(直接向?yàn)g覽器中以輸出圖像),FALSE 寫入硬盤
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['wm_type'] = 'overlay';//(必須)設(shè)置想要使用的水印處理類型(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';//指定一個橫向偏移量(以像素為單位)
/* 文字水印參數(shù)設(shè)置 */
$config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內(nèi)容
$config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
$config['wm_font_size'] = '16';//(必須)文字大小
$config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進(jìn)制數(shù)
$config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進(jìn)制數(shù)
$config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
/* 圖像水印參數(shù)設(shè)置 */
/*
$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';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設(shè)置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
$config['dynamic_output'] = FALSE;//TRUE 動態(tài)的存在(直接向?yàn)g覽器中以輸出圖像),FALSE 寫入硬盤
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['wm_type'] = 'overlay';//(必須)設(shè)置想要使用的水印處理類型(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';//指定一個橫向偏移量(以像素為單位)
/* 文字水印參數(shù)設(shè)置 */
/*
$config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內(nèi)容
$config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
$config['wm_font_size'] = '16';//(必須)文字大小
$config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進(jìn)制數(shù)
$config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進(jìn)制數(shù)
$config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
*/
/* 圖像水印參數(shù)設(shè)置 */
$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();
}
}
?>
復(fù)制代碼 代碼如下:
<?php
class Image extends Controller {
function Image()
{
parent::Controller();
$this->load->library('image_lib');
}
//縮略圖
function index(){
echo '* 調(diào)整圖像大小 <br>
* 創(chuàng)建縮略圖 <br>
* 圖像裁剪 <br>
* 圖像旋轉(zhuǎn) <br>
* 添加圖像水印 <br>
';
}
//縮略圖
function resize(){
/*
注意
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']沒有指定時,會調(diào)整原圖的大小
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']沒有指定時,生成文件名為(原圖名 _thumb.擴(kuò)展名)
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']指定時,生成文件名為$config['new_image']的值
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']指定時,生成文件名為(原圖名 _thumb.擴(kuò)展名)
*/
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/55002.jpg';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/resize004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['width'] = 575;//(必須)設(shè)置你想要得圖像寬度。
$config['height'] = 350;//(必須)設(shè)置你想要得圖像高度
$config['create_thumb'] = TRUE;//讓圖像處理函數(shù)產(chǎn)生一個預(yù)覽圖像(將_thumb插入文件擴(kuò)展名之前)
$config['thumb_marker'] = '_thumb';//指定預(yù)覽圖像的標(biāo)示。它將在被插入文件擴(kuò)展名之前。例如,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';//設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/004.gif';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//(必須)設(shè)置圖像的目標(biāo)名/路徑。
$config['width'] = 75;//(必須)設(shè)置你想要得圖像寬度。
$config['height'] = 50;//(必須)設(shè)置你想要得圖像高度
$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 "成功的";
}
}
//圖像旋轉(zhuǎn)
function rotate(){
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/001.jpg';//(必須)設(shè)置原始圖像的名字/路徑
$config['dynamic_output'] = FALSE;//決定新圖像的生成是要寫入硬盤還是動態(tài)的存在
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/rotate001.jpg';//設(shè)置圖像的目標(biāo)名/路徑
$config['rotation_angle'] = 'vrt';//有5個旋轉(zhuǎn)選項(xiàng) 逆時針90 180 270 度 vrt 豎向翻轉(zhuǎn) hor 橫向翻轉(zhuǎn)
$this->image_lib->initialize($config);
if ( ! $this->image_lib->rotate())
{
echo $this->image_lib->display_errors();
}
}
//文字水印
function watermark(){
$config['image_library'] = 'gd2';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設(shè)置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
$config['dynamic_output'] = FALSE;//TRUE 動態(tài)的存在(直接向?yàn)g覽器中以輸出圖像),FALSE 寫入硬盤
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['wm_type'] = 'overlay';//(必須)設(shè)置想要使用的水印處理類型(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';//指定一個橫向偏移量(以像素為單位)
/* 文字水印參數(shù)設(shè)置 */
$config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內(nèi)容
$config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
$config['wm_font_size'] = '16';//(必須)文字大小
$config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進(jìn)制數(shù)
$config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進(jìn)制數(shù)
$config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
/* 圖像水印參數(shù)設(shè)置 */
/*
$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';//(必須)設(shè)置圖像庫
$config['source_image'] = 'ptjsite/upload/003.jpg';//(必須)設(shè)置原圖像的名字和路徑. 路徑必須是相對或絕對路徑,但不能是URL.
$config['dynamic_output'] = FALSE;//TRUE 動態(tài)的存在(直接向?yàn)g覽器中以輸出圖像),FALSE 寫入硬盤
$config['quality'] = '90%';//設(shè)置圖像的品質(zhì)。品質(zhì)越高,圖像文件越大
$config['new_image'] = 'ptjsite/upload/crop004.gif';//設(shè)置圖像的目標(biāo)名/路徑。
$config['wm_type'] = 'overlay';//(必須)設(shè)置想要使用的水印處理類型(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';//指定一個橫向偏移量(以像素為單位)
/* 文字水印參數(shù)設(shè)置 */
/*
$config['wm_text'] = 'Copyright 2008 - John Doe';//(必須)水印的文字內(nèi)容
$config['wm_font_path'] = 'ptj_system/fonts/type-ra.ttf';//字體名字和路徑
$config['wm_font_size'] = '16';//(必須)文字大小
$config['wm_font_color'] = 'FF0000';//(必須)文字顏色,十六進(jìn)制數(shù)
$config['wm_shadow_color'] = 'FF0000';//投影顏色,十六進(jìn)制數(shù)
$config['wm_shadow_distance'] = '3';//字體和投影距離(單位像素)。
*/
/* 圖像水印參數(shù)設(shè)置 */
$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();
}
}
?>
您可能感興趣的文章:
- CI(CodeIgniter)模型用法實(shí)例分析
- CodeIgniter輔助之第三方類庫third_party用法分析
- CodeIgniter分頁類pagination使用方法示例
- codeigniter中測試通過的分頁類示例
- 使用CodeIgniter的類庫做圖片上傳
- Codeigniter整合Tank Auth權(quán)限類庫詳解
- CodeIgniter基于Email類發(fā)郵件的方法
- CodeIgniter擴(kuò)展核心類實(shí)例詳解
- php實(shí)現(xiàn)仿寫CodeIgniter的購物車類
- CI(Codeigniter)的Setting增強(qiáng)配置類實(shí)例
- Codeigniter的dom類用法實(shí)例
- CI框架(CodeIgniter)公共模型類定義與用法示例
相關(guān)文章
PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之一 重新組織你的函數(shù)
我把我比較喜歡的和比較關(guān)注的地方寫下來和大家分享。上次我寫了篇《php 跟老大的對話》。還是有很多疑問,這書幫了我不少的忙2012-04-04PHP+MySQL實(shí)現(xiàn)消息隊(duì)列的方法分析
這篇文章主要介紹了PHP+MySQL實(shí)現(xiàn)消息隊(duì)列的方法,結(jié)合實(shí)例形式分析了php+mysql構(gòu)建消息隊(duì)列并使用定時器間歇發(fā)送信息相關(guān)操作技巧,需要的朋友可以參考下2018-05-05PHP引擎php.ini參數(shù)優(yōu)化深入講解
這篇文章主要介紹了PHP引擎php.ini參數(shù)優(yōu)化深入講解,php.ini設(shè)置可以提高php的響應(yīng)速度,有感興趣的同學(xué)可以學(xué)習(xí)下2021-03-03PHP strtok()函數(shù)的優(yōu)點(diǎn)分析
相對于explode()來說,strtok()函數(shù)可以控制節(jié)奏。按需切割字串。2010-03-03windows中PHP5.2.14以及apache2.2.16安裝配置方法
windows中PHP5.2.14以及apache2.2.16安裝配置,需要配置php運(yùn)行環(huán)境的朋友可以參考下。2010-09-09PHP計(jì)算2點(diǎn)經(jīng)緯度之間的距離代碼
以下是對PHP計(jì)算2點(diǎn)經(jīng)緯度之間的距離代碼進(jìn)行了分析介紹,需要的朋友可以過來參考下2013-08-08