cmsx/image

CMSx 图片组件

dev-master 2013-06-20 11:34 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:50:20 UTC


README

一切从将原始图像加载到 Image 对象开始。构造函数需要传递文件名或 GD 资源。

通过连续指定修饰符进行转换

  • addResize($width, $height) - 按比例压缩图片到指定尺寸;
  • addCrop($width, $height, $x, $y) - 将图片裁剪到指定尺寸;
  • addWatermark($file, $x, $y) - 添加水印;

此时,变量 $x$y 允许指定动作的位置(裁剪和水印的位置)。例如,可以裁剪一个 150x150 的正方形

  • addCrop(150, 150, 10, 5) - 从左10像素和上5像素开始,向右下方裁剪。
  • addCrop(150, 150, -10, -5) - 从右10像素和下5像素开始,向左上方裁剪。
  • addCrop(150, 150, 'left', 'top') - 从图像的左上方开始。
  • addCrop(150, 150, 'center', 'center') - 从中心开始。
  • addCrop(150, 150, 'right', 'bottom') - 从右下方开始。
  • 类似地,这种定位也可以应用于水印,或者根据需要进行组合。

修饰符的顺序组合可以灵活地配置处理过程

Image::Me('test.jpg')
  ->addResize(400, 300)
  ->addCrop(300, 300)
  ->save('test_cropped.png')
  • Image::Me('test.jpg') - 类构造函数的简短调用。加载 test.jpg 文件
  • addResize(400, 300) - 将图像压缩到 400x300
  • addCrop(300, 300) - 裁剪成正方形(默认从中心裁剪)
  • save('test_cropped.png') - 这里没有文件扩展名错误,原始的 JPG 可以通过指定文件扩展名保存为 PNG(gif, jpg, png)。

如果愿意,可以通过 show() 方法直接将新文件输出到 STDOUT。