ThinkPHP Image 库实现缩放 + 裁切图片的简单方法

最近写一个微信小程序发现 ThinkPHP 自带的 Image 库并没有缩放功能。

只有 Crop(裁切)和 Thumb(缩略图),网上搜了搜,发现实现起来巨复杂。

于是和朋友咒骂了半天 ThinkPHP 垃圾,最后发现是自己 Too Young。

原来只需要在 Crop 方法参数里的 Height 和 Width 进行一下处理就可以了。

涉事相关代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
# 照片裁切上传
public function upload_pic($p_x = 0, $p_y = 0, $p_width, $p_height, $p_scale)
{
# 事先处理比例
$p_x = -$p_x * (1 / $p_scale);
$p_y = -$p_y * (1 / $p_scale);
$p_width = $p_width * (1 / $p_scale);
$p_height = $p_height * (1 / $p_scale);

# 上裁切
$image->crop($p_width, $p_height, $p_x, $p_y);
}

所以结论就是:不是 ThinkPHP 不提供缩放,而是用 Crop 就能实现缩放,所以就没有单独提供。

蛋疼。

Sunbelife wechat