php - 在 Codeigniter 中将缩略图裁剪为正方形

标签 php css image codeigniter

我正在将一些图像上传到我的网页,并希望它们的缩略图是从中心裁剪的正方形。我正在使用 Codeigniter 和 gd2。

这是迄今为止我的代码:

$config['image_library'] = 'gd2';
                    $config['source_image'] = $this->userlibrary->picturesdir . $newfilename;
$config['new_image'] = $this->userlibrary->thumbsdir;
$config['create_thumb'] = TRUE;
$config['maintain_ratio'] = TRUE;
$config['width']= 150;
$config['height']= 150;

图像缩放得很好,但它们保持了纵横比,并且只有它们的宽度或高度设置为 150,它们不会被裁剪。 设置 maintain_ratio 仍然不会裁剪图像,而是会倾斜图像。

我怎样才能做到这一点?

最佳答案

回复 super 晚,但我在寻找同样的东西时发现了这篇文章。我想我会与其他正在寻找相同解决方案的人分享我所使用的解决方案。

        $config['source_image'] = 'path/to/image';

        //Find smallest dimension
        $imageSize = $this->image_lib->get_image_properties($config['source_image'], TRUE);
        $newSize = min($imageSize);

        $config['image_library'] = 'gd2';
        $config['width'] = $newSize;
        $config['height'] = $newSize;
        $config['y_axis'] = ($imageSize['height'] - $newSize) / 2;
        $config['x_axis'] = ($imageSize['width'] - $newSize) / 2;

        $this->image_lib->initialize($config);

        if(!$this->image_lib->crop())
        {
            echo $this->image_lib->display_errors();
        }

关于php - 在 Codeigniter 中将缩略图裁剪为正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41417493/

相关文章:

php - 如何将$_POST数据发送到另一台服务器?

php - jQuery - 根据视口(viewport)中的部分显示按钮

HTML自定义列表图片中心文字

php - Zend Framework 巨大的 mysql 表

PHP - 无法连接到远程 MySQL 数据库

html - 如何让文本围绕 div 上方和下方流动?

javascript - 向 WordPress 添加自定义 JavaScript、CSS 和 HTML

php - 使用php获取字符串中的第一张图片

python - 如何使用 openCV-python 识别白色背景上的多张照片?

mysql - 图像未使用codeigniter插入mysql