CodeIgniter圖像處理類的深入解析
更新時(shí)間: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']沒有指定時(shí),會調(diào)整原圖的大小
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']沒有指定時(shí),生成文件名為(原圖名 _thumb.擴(kuò)展名)
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']指定時(shí),生成文件名為$config['new_image']的值
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']指定時(shí),生成文件名為(原圖名 _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) 逆時(shí)針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']沒有指定時(shí),會調(diào)整原圖的大小
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']沒有指定時(shí),生成文件名為(原圖名 _thumb.擴(kuò)展名)
當(dāng)$config['create_thumb']等于FALSE并且$config['new_image']指定時(shí),生成文件名為$config['new_image']的值
當(dāng)$config['create_thumb']等于TRUE并且$config['new_image']指定時(shí),生成文件名為(原圖名 _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) 逆時(shí)針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排序算法之歸并排序(Merging Sort)實(shí)例詳解
這篇文章主要介紹了PHP排序算法之歸并排序(Merging Sort),結(jié)合實(shí)例形式詳細(xì)分析了php歸并排序的原理、定義、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-04-04
php中操作memcached緩存進(jìn)行增刪改查數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了php中操作memcached緩存進(jìn)行增刪改查數(shù)據(jù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-08-08
使用PHP接收POST數(shù)據(jù),解析json數(shù)據(jù)
本篇文章是對使用PHP接收POST數(shù)據(jù)以及json數(shù)據(jù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

