updatemi / imagex
一个简单的图像服务,支持带有焦点点的裁剪
Requires
- php: >=5.3.0
- ext-imagick: 3.*
This package is not auto-updated.
Last update: 2023-05-13 09:59:34 UTC
README
要求
- PHP >= 5.5
- PHP-Extension Imagick
安装
- 将所有包含的文件复制到您选择的服务器目标位置
- 创建以下文件夹,并确保您的Web服务器有对这些文件夹的写入权限 -- cache/source -- cache/thumbs
- 设置以下命令作为cron作业,定期清理本地缓存目录:-- find ./cache -mtime +30 -type f -delete
可选的Apache配置以实现干净URL
如果您在Apache服务器上安装了mod_rewrite,您可以使用以下重写规则来为imagex服务启用干净URL
RewriteRule (crop|resize)\/([0-9]*)\/([0-9]*)(\/([-+]?[0-1]+\.?[0-9]*)\/([-+]?[0-1]+\.?[0-9]*))?\/([A-Za-z0-9+/=]+)(:(nocache))?$ %{ENV:BASE}/imagex.php?mode=$1&width=$2&height=$3&x=$5&y=$6&url=$7&cache=$9 [NE,L]
在重启Apache后,您也可以使用像以下这样的URL使用imagex
http://my.domain.com/crop/400/280/0.18/0.25/http://upload.wikimedia.org/wikipedia/commons/e/e9/Official_portrait_of_Barack_Obama.jpg
使用方法
http://my.domain.com/imagex.php?url=http://upload.wikimedia.org/wikipedia/commons/e/e9/Official_portrait_of_Barack_Obama.jpg&mode=crop&width=400&height=280&x=0.18&y=0.25
参数
当前有6个参数可用
url (必需)
您想要调整大小/裁剪/代理的图像的URL。 如果您愿意,也可以对url参数进行base64编码。
mode
目前有三种模式可用:"resize"、"crop"和"proxy"。默认是"resize"。
width
结果的图像宽度。如果没有指定宽度,宽度将按请求的高度成比例缩放。如果没有指定宽度和高度,则图像将直接代理。
height
结果的图像高度。如果没有指定高度,宽度将按请求的宽度成比例缩放。如果没有指定宽度和高度,则图像将直接代理。
x
裁剪图像时使用的焦点点的X坐标。值必须在-1和1之间。默认是0 - 轴的中间。有关焦点点功能的更多信息,请参见下文。
y
裁剪图像时使用的焦点点的Y坐标。值必须在-1和1之间。默认是0 - 轴的中间。有关焦点点功能的更多信息,请参见下文。
关于焦点点的更多详细信息
这基本上与[jquery-focuspoint](https://github.com/jonom/jquery-focuspoint)插件的实现方式相同。
图像的焦点由 x(水平)和 y(垂直)坐标组成。坐标的值可以是介于 -1 和 +1 之间的带有小数的数字,其中 0 是中心。x:-1 表示图像的左侧边缘,x:1 表示右侧边缘。对于 y 轴,y:1 表示顶部边缘,y:-1 表示底部边缘。
感到困惑?别担心,有一个方便的脚本可以帮助您通过单击即可找到图像的焦点坐标。查看 辅助工具 (得益于 @auginator 的改进)。