elcuro / image2

此包的最新版本(1.4)没有可用的许可证信息。

维护者

详细信息

github.com/elcuro/image2

源代码

问题

安装: 141

依赖项: 1

建议者: 0

安全: 0

星标: 4

关注者: 5

分支: 2

开放问题: 0

类型:croogo-plugin

1.4 2014-02-26 20:22 UTC

This package is not auto-updated.

Last update: 2024-09-24 07:27:31 UTC


README

# Croogo Image2 插件适用于 Croogo 1.4+

此助手是 Croogo 内置的原始 Image 助手的修改版。此版本支持方法链和水印图像

需求

  • gdlib2

安装

  • 下载并将此插件复制到 app/Plugin/Image2
  • 在管理控制台中激活插件:扩展 -> 插件
  • 创建用于调整大小的图像的文件夹,默认为 app/webroot/uploads/resized。您可以在插件 bootstrap.php 中更改它
  • 文件夹必须有写权限

示例用法

调整大小

经典“硬”调整大小

   $this->Image2->source('img/screenshot.png')
          ->resizeit(50, 50, false)
          ->imagePath();  // return /uploads/resized/0_0_50_50_resize_screenshot.png

按比例调整大小

   $this->Image2->source('img/screenshot.png')
          ->resizeit(50, 50, true)
          ->imagePath();  // return /uploads/resized/0_0_50_38_resize_screenshot.png

裁剪

直接从原始图像裁剪

   $this->Image2->source('img/screenshot.png')
          ->crop(200, 100, false)
          ->imagePath(); // return /uploads/resized/150_200_200_200_crop_screenshot.png

调整图像到较长的一边然后裁剪

   $this->Image2->source('img/screenshot.png')
          ->crop(200, 100)
          ->imagePath(); // return /uploads/resized/0_38_200_200_crop_screenshot.png

水印

以 PNG 格式水印图像,支持 alpha 通道。

   $this-Image2->watermark($watermark_image, $position, $watermark_absolute_path)
  • $watermark_image = 水印图像的路径

  • $position = 水印的位置

  • $watermark_absolute_path = 如果 $watermark_image 是绝对路径则设置为 true

    $this->Image2->source('img/screenshot.png', 'center')
           ->resizeit(500, 500, false)
           ->watermark('img/croogo.png', 'center', false)
           ->imagePath() // return /uploads/resized/croogo_png_center_0_0_500_500_resize_screenshot.png
    

位置

  • center - 图像中心,长边为原始图像长边的 70%
  • overlay - 水印图像调整大小以与原始图像大小相同
  • pattern - 水印裁剪到与原始图像相同的大小,假设大图案水印
  • left bottom - 尚未实现
  • right bottom - 尚未实现
  • left top - 尚未实现
  • right top - 尚未实现

内联图像

Base64 编码的内联图像

   $this->Image2->source('img/screenshot.png')
          ->crop(200, 100, false)
          ->inlineImage();  // return 'data:image/png;base64,i3fs.....'

向后兼容性

支持之前版本中的“resize”方法

   $this->Image2->resize($path, $width, $height, $method = 'resizeRatio', $htmlAttributes = array(), $return = false, $server_path = false);