|
本文實(shí)例講述了php實(shí)現(xiàn)的支持imagemagick及gd庫兩種處理的縮略圖生成類及其用法實(shí)例,非常具有實(shí)用價(jià)值。分享給大家供大家參考。具體如下:
一、功能:
1.按比例縮小/放大
2.填充背景色
3.按區(qū)域裁剪
4.添加水印,包括水印的位置,透明度等
使用imagemagick/GD庫實(shí)現(xiàn),imagemagick地址:www.imagemagick.org
需要安裝imagemagick,安裝方法如下:http://www.jb51.NET/article/55528.htm
二、實(shí)現(xiàn)方法:
PicThumb.class.php類文件如下:
<?php /** 縮略圖生成類,支持imagemagick及gd庫兩種處理 * Date: 2013-07-15 * Author: fdipzone * Ver: 1.2 * * Func: * public set_config: 設(shè)置參數(shù) * public create_thumb: 生成縮略圖 * private fit: 縮略圖片 * private crop: 裁剪圖片 * private gd_fit: GD庫縮略圖片 * private gd_crop: GD庫裁剪圖片 * private get_size: 獲取要轉(zhuǎn)換的size * private get_crop_offset: 獲取裁圖的偏移量 * private add_watermark: 添加水印 * private check_handler: 判斷處理程序是否已安裝 * private create_dirs: 創(chuàng)建目錄 * private exists: 判斷參數(shù)是否存在 * private to_log: 記錄log * private hex2rgb: hex顏色轉(zhuǎn)rgb顏色 * private get_file_ext: 獲取圖片類型 * * ver: 1.1 增加GD庫處理 * ver: 1.2 增加width,height錯(cuò)誤參數(shù)處理 * 增加當(dāng)圖片colorspace不為RGB時(shí)作轉(zhuǎn)RGB處理 * 修正使用crop保存為gif時(shí)出現(xiàn)透明無效區(qū)域問題,使用+repage參數(shù),刪除透明無效區(qū)域即可 * * tips:建議使用imagemagick * GD庫不支持透明度水印,如果必須使用透明水印,請(qǐng)將水印圖片做成有透明度。 * GD庫輸出gif如加透明水印,會(huì)有問題。 */ class PicThumb{ // class start private $_log = null; // log file private $_handler = null; // 進(jìn)行圖片處理的程序,imagemagick/gd庫 private $_type = 'fit'; // fit or crop private $_source = null; // 原圖路徑 private $_dest = null; // 縮略圖路徑 private $_watermark = null; // 水印圖片 private $_opacity = 75; // 水印 主站蜘蛛池模板: 柳河县| 黄平县| 建德市| 政和县| 水富县| 华阴市| 阿拉善右旗| 同德县| 荥经县| 昌吉市| 外汇| 宝山区| 宜宾市| 新乐市| 绥宁县| 石林| 锡林浩特市| 逊克县| 宁化县| 达孜县| 镇赉县| 桦南县| 凤城市| 佛山市| 应城市| 甘南县| 方正县| 高尔夫| 灵丘县| 宁强县| 嵩明县| 邻水| 英德市| 故城县| 千阳县| 苍南县| 通山县| 孝感市| 舞阳县| 鄂州市| 潞城市|