亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

CodeIgniter的Image Manipulation類允許您執(zhí)行以下操作:

  • 圖像大小調(diào)整

  • 縮略圖創(chuàng)建

  • 圖像裁剪

  • 圖像旋轉(zhuǎn)

  • 圖像水印

所有三個(gè)主要的圖像庫都支持:GD / GD2,NetPBM和ImageMagick

注意

水印只能使用GD / GD2庫。另外,即使支持其他庫,為了使腳本計(jì)算圖像屬性,GD也是必需的。但是,圖像處理將在您指定的庫中執(zhí)行。

  • 初始化類

    • 處理圖像

    • 處理方法

    • 優(yōu)先

    • 在配置文件中設(shè)置首選項(xiàng)

  • 圖像水印

    • 文本首選項(xiàng)

    • 覆蓋首選項(xiàng)

    • 兩種類型的水印

    • 為圖像加水印

    • 水印首選項(xiàng)

  • 類參考

初始化類

像CodeIgniter中的大多數(shù)其他類一樣,image類在您的控制器中使用$ this-> load-> library函數(shù)進(jìn)行初始化:

$this->load->library('image_lib');

一旦library被加載,它將準(zhǔn)備好使用。您將用來調(diào)用所有函數(shù)的圖像庫對象是:$this->image_lib

處理圖像

無論您想要執(zhí)行的處理類型(調(diào)整大小,裁剪,旋轉(zhuǎn)還是加水?。?,一般過程都是相同的。您將設(shè)置與您打算執(zhí)行的操作相對應(yīng)的某些首選項(xiàng),然后調(diào)用四種可用處理函數(shù)之一。例如,要?jiǎng)?chuàng)建圖像縮略圖,您需要執(zhí)行以下操作:

$config['image_library'] = 'gd2';$config['source_image'] = '/path/to/image/mypic.jpg';$config['create_thumb'] = TRUE;$config['maintain_ratio'] = TRUE;$config['width']         = 75;$config['height']       = 50;$this->load->library('image_lib', $config);$this->image_lib->resize();

上面的代碼告訴image_resize函數(shù)查找位于source_image文件夾中的名為mypic.jpg的圖像,然后使用GD2 image_library創(chuàng)建一個(gè)75×50像素的縮略圖。由于啟用了maintain_ratio選項(xiàng),拇指將盡可能接近目標(biāo)寬度和高度,同時(shí)保留原始高寬比。縮略圖將被稱為mypic_thumb.jpg,并位于與source_image相同的級別。

注意

為了允許圖像類進(jìn)行任何處理,包含圖像文件的文件夾必須具有寫入權(quán)限。

注意

對于某些操作,圖像處理可能需要大量的服務(wù)器內(nèi)存。如果您在處理圖像時(shí)遇到內(nèi)存不足錯(cuò)誤,則可能需要限制它們的最大尺寸,和/或調(diào)整PHP內(nèi)存限制。

處理方法

有四種可用的處理方法:

  • $這個(gè) - > image_lib->調(diào)整()

  • $這個(gè) - > image_lib->作物()

  • $這個(gè) - > image_lib->旋轉(zhuǎn)()

  • $這個(gè) - > image_lib->水?。ǎ?/p>

這些方法在成功時(shí)返回布爾值TRUE,在失敗時(shí)返回FALSE。如果失敗,您可以使用此功能檢索錯(cuò)誤消息:

echo $this->image_lib->display_errors();

一個(gè)好的做法是有條件地使用處理函數(shù),在失敗時(shí)顯示錯(cuò)誤,如下所示:

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

注意

您可以選擇指定要應(yīng)用于錯(cuò)誤的HTML格式,方法是在函數(shù)中提交開始/結(jié)束標(biāo)記,如下所示:

$this->image_lib->display_errors('<p>', '</p>');

Preferences

下面介紹的首選項(xiàng)可讓您調(diào)整圖像處理以滿足您的需求。

請注意,并非所有首選項(xiàng)都可用于每個(gè)功能。例如,x / y軸首選項(xiàng)僅適用于圖像裁剪。同樣,寬度和高度偏好對裁剪沒有影響?!翱捎眯浴绷兄甘灸男┕δ苤С纸o定的偏好。

可用性圖例:

  • R  - 圖像大小調(diào)整

  • C  - 圖像裁剪

  • X  - 圖像旋轉(zhuǎn)

  • W  - 圖像水印

偏愛

默認(rèn)值

選項(xiàng)

描述

可用性

image_library

GD2

GD,GD2,ImageMagick,NetPBM

設(shè)置要使用的圖像庫。

R,C,X,W

LIBRARY_PATH

沒有

沒有

將服務(wù)器路徑設(shè)置為ImageMagick或NetPBM庫。如果您使用這些庫中的任何一個(gè),則必須提供路徑。

R,C,XR,C,S,W

source_image

沒有

沒有

設(shè)置源圖像名稱/路徑。路徑必須是相對或絕對的服務(wù)器路徑,而不是URL。


dynamic_output

TRUE / FALSE(布爾)

確定新圖像文件是寫入磁盤還是動(dòng)態(tài)生成。注意:如果您選擇動(dòng)態(tài)設(shè)置,則一次只能顯示一個(gè)圖像,并且無法將其定位到頁面上。它只是將原始圖像動(dòng)態(tài)地輸出到瀏覽器以及圖像標(biāo)題。

R,C,X,W

file_permissions

0644

(整數(shù))

將文件系統(tǒng)權(quán)限應(yīng)用于生成的映像文件,并將其寫入磁盤。警告:使用八進(jìn)制整數(shù)表示法!

R,C,X,W

質(zhì)量

90%

1 - 100%

設(shè)置圖像的質(zhì)量。質(zhì)量越高,文件大小越大。

R,C,X,W

新圖片

沒有

沒有

設(shè)置目標(biāo)圖像名稱/路徑。創(chuàng)建圖像副本時(shí),您將使用此首選項(xiàng)。路徑必須是相對或絕對的服務(wù)器路徑,而不是URL。

R,C,X,W

寬度

沒有

沒有

設(shè)置您希望將圖像設(shè)置為的寬度。

R,C

高度

沒有

沒有

設(shè)置您希望將圖像設(shè)置為的高度。

R,C

create_thumb

TRUE / FALSE(布爾)

告訴圖像處理功能創(chuàng)建一個(gè)拇指。

[R

thumb_marker

_拇指

沒有

指定縮略圖指示器。它將被插入文件擴(kuò)展名之前,所以mypic.jpg會成為mypic_thumb.jpg

[R

maintain_ratio

真正

TRUE / FALSE(布爾)

指定在調(diào)整大小或使用硬值時(shí)是否保持原始寬高比。

R,C

master_dim

汽車

自動(dòng),寬度,高度

指定調(diào)整大小或創(chuàng)建縮略圖時(shí)要用作主軸的內(nèi)容。例如,假設(shè)您要將圖像大小調(diào)整為100 X 75像素。如果源圖像尺寸不允許對這些尺寸進(jìn)行完美調(diào)整大小,則此設(shè)置將確定應(yīng)將哪個(gè)軸用作硬值?!白詣?dòng)”根據(jù)圖像是否高于寬度自動(dòng)設(shè)置軸,反之亦然。

[R

rotation_angle

沒有

90,180,270,花園,hor

指定旋轉(zhuǎn)圖像時(shí)的旋轉(zhuǎn)角度。請注意,PHP逆時(shí)針旋轉(zhuǎn),因此向右旋轉(zhuǎn)90度必須指定為270。

X

X_AXIS

沒有

沒有

設(shè)置圖像裁剪的X坐標(biāo)(以像素為單位)。例如,設(shè)置為30將從左側(cè)裁剪30像素的圖像。

C

Y_AXIS

沒有

沒有

設(shè)置圖像裁剪的Y坐標(biāo)(以像素為單位)。例如,設(shè)置為30會從頂部裁剪一個(gè)30像素的圖像。

C

在配置文件中設(shè)置首選項(xiàng)

如果您不想使用上述方法設(shè)置首選項(xiàng),則可以將它們放入配置文件中。只需創(chuàng)建一個(gè)名為image_lib.php的新文件,在該文件中添加$ config數(shù)組。然后將該文件保存在config / image_lib.php中,并自動(dòng)使用它。如果將$this->image_lib->initialize()首選項(xiàng)保存在配置文件中,則不需要使用該方法。

圖像水印

水印功能需要GD / GD2庫。

兩種類型的水印

您可以使用兩種類型的水?。?/p>

  • 文本:將使用文本生成水印消息,或者使用您指定的True Type字體,或使用GD庫支持的原生文本輸出。如果使用True Type版本,則必須使用True Type支持編譯GD安裝(大部分是,但不是全部)。

  • 重疊:水印消息將通過在源圖像上疊加包含水印的圖像(通常是透明的PNG或GIF)來生成。

為圖像加水印

與其他方法(調(diào)整大小,裁剪和旋轉(zhuǎn))一樣,水印的一般處理過程包括設(shè)置與您打算執(zhí)行的操作相對應(yīng)的首選項(xiàng),然后調(diào)用水印功能。這里是一個(gè)例子:

$config['source_image'] = '/path/to/image/mypic.jpg';$config['wm_text'] = 'Copyright 2006 - John Doe';$config['wm_type'] = 'text';$config['wm_font_path'] = './system/fonts/texb.ttf';$config['wm_font_size'] = '16';$config['wm_font_color'] = 'ffffff';$config['wm_vrt_alignment'] = 'bottom';$config['wm_hor_alignment'] = 'center';$config['wm_padding'] = '20';$this->image_lib->initialize($config);$this->image_lib->watermark();

上面的例子將使用一個(gè)16像素的True Type字體來創(chuàng)建文本“Copyright 2006  -  John Doe”。水印將位于圖像的底部/中心,距離圖像底部20個(gè)像素。

注意

為了允許圖像類進(jìn)行任何處理,圖像文件必須具有“寫入”文件權(quán)限。例如,777。

水印首選項(xiàng)

此表顯示可用于這兩種類型的水?。ㄎ谋净蚋采w)

偏愛

默認(rèn)值

選項(xiàng)

描述

wm_type

文本

文本,覆蓋

設(shè)置應(yīng)該使用的水印類型。

source_image

沒有

沒有

設(shè)置源圖像名稱/路徑。路徑必須是相對或絕對的服務(wù)器路徑,而不是URL。

dynamic_output

TRUE / FALSE(布爾)

確定新圖像文件是寫入磁盤還是動(dòng)態(tài)生成。注意:如果您選擇動(dòng)態(tài)設(shè)置,則一次只能顯示一個(gè)圖像,并且無法將其定位到頁面上。它只是將原始圖像動(dòng)態(tài)地輸出到瀏覽器以及圖像標(biāo)題。

質(zhì)量

90%

1 - 100%

設(shè)置圖像的質(zhì)量。質(zhì)量越高,文件大小越大。

wm_padding

沒有

一個(gè)號碼

填充量(以像素為單位),將應(yīng)用于水印以將其設(shè)置為遠(yuǎn)離圖像邊緣。

wm_vrt_alignment

底部

頂部,中部,底部

設(shè)置水印圖像的垂直對齊。

wm_hor_alignment

中央

左,中,右

設(shè)置水印圖像的水平對齊。

wm_hor_offset

沒有

沒有

您可以指定應(yīng)用于水印位置的水平偏移量(以像素為單位)。偏移通常會將水印移動(dòng)到右側(cè),除非您將對齊設(shè)置為“右側(cè)”,則偏移值會將水印朝向圖像的左側(cè)移動(dòng)。

wm_vrt_offset

沒有

沒有

您可以指定應(yīng)用于水印位置的垂直偏移量(以像素為單位)。偏移通常會將水印向下移動(dòng),除非您將對齊設(shè)置為“底部”,則偏移值會將水印朝向圖像頂部移動(dòng)。

文本首選項(xiàng)

此表顯示了可用于文本類型水印的首選項(xiàng)。

偏愛

默認(rèn)值

選項(xiàng)

描述

wm_text

沒有

沒有

您希望顯示為水印的文字。通常這將是版權(quán)聲明。

wm_font_path

沒有

沒有

您希望使用的True Type字體的服務(wù)器路徑。如果您不使用此選項(xiàng),則將使用原生GD字體。

wm_font_size

16

沒有

文本的大小。注意:如果您沒有使用上面的True Type選項(xiàng),則數(shù)字的設(shè)置范圍為1  -  5.否則,您可以使用任何有效的像素大小來顯示所用的字體。

wm_font_color

FFFFFF

沒有

字體顏色,以十六進(jìn)制指定。支持完整的6長度(即993300)和短三字縮寫版本(即fff)。

wm_shadow_color

沒有

沒有

投影的顏色,以十六進(jìn)制指定。如果將此留空,則不會使用投影。支持完整的6長度(即993300)和短三字縮寫版本(即fff)。

wm_shadow_distance

3

沒有

投影陰影應(yīng)顯示的字體的距離(以像素為單位)。

覆蓋首選項(xiàng)

此表顯示了可用于覆蓋類型水印的首選項(xiàng)。

偏愛

默認(rèn)值

選項(xiàng)

描述

wm_overlay_path

沒有

沒有

您希望用作水印的圖像的服務(wù)器路徑。僅當(dāng)您使用覆蓋方法時(shí)才需要。

wm_opacity

50

1 - 100

圖像不透明。您可以指定水印圖像的不透明度(即透明度)。這使得水印變得微弱,并且不能完全遮掩背后的原始圖像的細(xì)節(jié)。50%的不透明度是典型的。

wm_x_transp

4

一個(gè)號碼

如果您的水印圖像是PNG或GIF圖像,您可以在圖像上指定一種顏色為“透明”。此設(shè)置(以及下一個(gè))將允許您指定該顏色。這可以通過指定圖像中的“X”和“Y”坐標(biāo)像素(從左上角開始測量)來進(jìn)行,該像素對應(yīng)于表示要透明的顏色的像素。

wm_y_transp

4

一個(gè)號碼

與以前的設(shè)置一起,這允許您指定代表想要透明顏色的像素的坐標(biāo)。

類參考

class CI_Image_libinitialize([$props = array()])

參數(shù):

$ props(array) - 圖像處理首選項(xiàng)

返回:

成功為TRUE,在無效設(shè)置的情況下為FALSE

返回類型:

布爾

  • $ propsarray) - 圖像處理首選項(xiàng)

Returns:  TRUE on success, FALSE in case of invalid settings
Return type:  bool
Initializes the class for processing an image.

resize()

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

  • 如果只指定了新的圖像名稱,它將被放置在與原始文件相同的文件夾中

  • 如果僅指定了路徑,則新圖像將放置在與原始圖像名稱相同的目的地中。

  • 如果指定了路徑和圖像名稱,則它將放置在其自己的目的地,并給出新名稱。

調(diào)整原始圖像的大小

如果使用上面列出的兩個(gè)首選項(xiàng)(create_thumb和new_image),則調(diào)整大小方法將改為將原始圖像作為處理目標(biāo)。

crop()

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

rotate()

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

  1. 90  - 逆時(shí)針旋轉(zhuǎn)90度。

  2. 180  - 逆時(shí)針旋轉(zhuǎn)180度。

  3. 270  - 逆時(shí)針旋轉(zhuǎn)270度。

  4. hor  - 水平翻轉(zhuǎn)圖像。

  5. vrt  - 垂直翻轉(zhuǎn)圖像。

以下是顯示如何旋轉(zhuǎn)圖像的示例:

$config'image_library' = 'netpbm'; $config'library_path' = '/usr/bin/'; $config'source_image' = '/path/to/image/mypic.jpg'; $config'rotation_angle' = 'hor';  $this->image_lib->initialize($config);  if ( ! $this->image_lib->rotate()) {         echo $this->image_lib->display_errors(); }

watermark()

返回:

成功為TRUE,失敗為FALSE

返回類型:

布爾

clear()

Return type:

void

display_errors([$open = '<p>[, $close = '</p>']])

參數(shù):

$ open(string) - 錯(cuò)誤消息打開標(biāo)記$ close(string) - 錯(cuò)誤消息關(guān)閉標(biāo)記

返回:

錯(cuò)誤消息

返回類型:

  • $ openstring) - 錯(cuò)誤信息開啟標(biāo)簽

  • $ closestring) - 錯(cuò)誤信息關(guān)閉標(biāo)簽

Returns:  Error messages
Return type:  string
Returns all detected errors formatted as a string.

echo $this->image_lib->display_errors();

Previous article: Next article: