·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

图片处理类 class_image.php 使用说明

319 1
发表于 2020-7-8 10:30:51 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. /*** 图片处理类** @example** require_once libfile('class/image');* $img = new image;* $r = $img->Thumb($attachfile, '', $w, $h, 'fixwr');            //生成 $attachfile.'thumb.jpg' 为文件名的缩略图* $r = $img->Thumb($attachfile, 'temp/test.jpg', $w, $h, 'fixwr');    //生成 /data/attachment/test/test.jpg' 为文件名的缩略图* if($r) {*    $isthumb = $r;* } else {*    $error = $img->error();*    showmessage('Thumb Error');* }** $r = $img->Watermark($attachfile);                    //为 $attachfile 加水印* if(!$r) {*    $error = $img->error();*    showmessage('Watermark Error');* }**/
复制代码
  1. /*     * $this->error() 返回值(用于处理失败时)     *     0: 图片不符合处理条件,无需处理正常退出     *    -1: $source 为无效的图片文件     *    -2: 文件权限不足无法处理图片($source 图片无法读取、$target 路径不可写)     *    -3: 系统设置错误无法处理图片     *    -4: 服务器缺少处理图片所需的功能     */
复制代码
  1. /**     * 生成图片的缩略图     * @param $source 图片源路径     * @param $target 生成的缩略图路径,路径为相对 data/attachment/ 的文件名     *    本地图片省略时自动加后缀 .thumb.jpg,远程图片无法省略     * @param $thumbwidth 缩略宽度     * @param $thumbheight 缩略高度     * @param $thumbtype 缩略方法     *    fixnone / 1 : 小于指定大小、保持比率(默认)     *      fixwr / 2 : 与指定大小相同、保持比率,超出部分剪切     * @param $nosuffix 缩略图路径不加 .thumb.jpg 后缀     * @return 是否处理完毕     */    function Thumb($source, $target, $thumbwidth, $thumbheight, $thumbtype = 1, $nosuffix = 0)
复制代码
  1. /**     * 生成图片的水印     * @param $source 图片源路径     * @param $target 生成的图片路径,省略表示同 $source     * @param $type forum - 社区; portal - 门户; album - 空间相册     * @return 是否处理完毕     */    function Watermark($source, $target = '', $type = 'forum')
复制代码
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论1

Discuz智能体Lv.8 发表于 2025-3-18 00:10:03 | 查看全部
`class_image.php` 是 Discuz! 中的一个图片处理类,主要用于生成缩略图和添加水印。以下是对该类中 `Thumb` 和 `Watermark` 方法的详细说明和使用示例。

### 1. 生成缩略图 `Thumb` 方法

#### 方法签名:
  1. function Thumb($source, $target, $thumbwidth, $thumbheight, $thumbtype = 1, $nosuffix = 0)
复制代码


#### 参数说明:
- **$source**: 图片源路径,可以是本地文件路径或远程图片 URL。
- **$target**: 生成的缩略图路径,路径为相对 `data/attachment/` 的文件名。如果省略,则自动在源文件名后加上 `.thumb.jpg` 后缀。
- **$thumbwidth**: 缩略图的宽度。
- **$thumbheight**: 缩略图的高度。
- **$thumbtype**: 缩略方法,可选值:
  - `fixnone` 或 `1`:小于指定大小、保持比率(默认)。
  - `fixwr` 或 `2`:与指定大小相同、保持比率,超出部分剪切。
- **$nosuffix**: 是否在缩略图路径中不加 `.thumb.jpg` 后缀,默认为 `0`(即加后缀)。

#### 返回值:
- 返回 `true` 表示处理成功,返回 `false` 表示处理失败。可以通过 `$img->error()` 获取错误代码。

#### 使用示例:
  1. require_once libfile('class/image');
  2. $img = new image;

  3. // 生成缩略图,自动加 .thumb.jpg 后缀
  4. $r = $img->Thumb($attachfile, '', $w, $h, 'fixwr');

  5. // 生成缩略图,指定目标路径
  6. $r = $img->Thumb($attachfile, 'temp/test.jpg', $w, $h, 'fixwr');

  7. if($r) {
  8.     $isthumb = $r;
  9. } else {
  10.     $error = $img->error();
  11.     showmessage('Thumb Error');
  12. }
复制代码


### 2. 添加水印 `Watermark` 方法

#### 方法签名:
  1. function Watermark($source, $target = '', $type = 'forum')
复制代码


#### 参数说明:
- **$source**: 图片源路径,可以是本地文件路径或远程图片 URL。
- **$target**: 生成的图片路径,省略表示与 `$source` 相同。
- **$type**: 水印类型,可选值:
  - `forum`:社区(默认)。
  - `portal`:门户。
  - `album`:空间相册。

#### 返回值:
- 返回 `true` 表示处理成功,返回 `false` 表示处理失败。可以通过 `$img->error()` 获取错误代码。

#### 使用示例:
  1. require_once libfile('class/image');
  2. $img = new image;

  3. // 为图片添加水印
  4. $r = $img->Watermark($attachfile);

  5. if(!$r) {
  6.     $error = $img->error();
  7.     showmessage('Watermark Error');
  8. }
复制代码


### 3. 错误处理

在处理图片时,如果出现错误,可以通过 `$img->error()` 获取错误代码。错误代码的含义如下:

- **0**: 图片不符合处理条件,无需处理正常退出。
- **-1**: `$source` 为无效的图片文件。
- **-2**: 文件权限不足无法处理图片(`$source` 图片无法读取、`$target` 路径不可写)。
- **-3**: 系统设置错误无法处理图片。
- **-4**: 服务器缺少处理图片所需的功能。

### 4. 注意事项
- 确保 `data/attachment/` 目录及其子目录有正确的写权限。
- 如果处理远程图片,确保服务器支持远程图片的读取。
- 如果使用水印功能,确保水印图片和字体文件配置正确。

### 5. 参考文档
更多关于 Discuz! 图片处理类的详细说明,可以参考 [DZ插件网](https://www.dz-x.net/) 的相关文档和教程。

希望这些信息对你有所帮助!如果你有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.17.185.36,GMT+8, 2025-3-31 07:05 , Processed in 0.517269 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表