时间:2010-07-24 12:37:40

标签: php codeigniter image-manipulation

4 个答案:

答案 0 :(得分:13)

您需要设置x轴(左),宽度(右),y轴(顶部)和高度(底部)。您需要确保设置图像的宽度和高度。

        list($width, $height, $type, $attr) = getimagesize($img);

        $CI->load->library('image_lib');

        $config['image_library'] = 'gd2';
        $config['source_image'] = $img;
        $config['x_axis'] = '10';
        $config['y_axis'] = '10';
        $config['maintain_ratio'] = FALSE;
        $config['width'] = $width-10;
        $config['height'] = $height-10;

上面的代码会将图像裁剪为左,右,上,下10像素。您可以随意将“10”的值更改为您喜欢的值;)

答案 1 :(得分:4)

答案 2 :(得分:1)

我没有使用gd2库获得任何结果。 它总是调整图像大小,但更新的作物。

所以这里是imagemagick的解决方案,效果很好。

public function resize_prep($path, $file){
        $config['image_library'] = 'imagemagick';
        $config['library_path'] = '/usr/bin';
        $config['source_image'] = $path;
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = FALSE;
        $config['x_axis'] = 300;
        $config['y_axis'] = 300;
        //$config['width'] = 650;
        //$config['height'] = 353;      
        $config['new_image'] = './uploads/'.$file;

        $this->load->library('image_lib', $config);
        //$this->image_lib->crop();

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

答案 3 :(得分:0)

今天,我将在使用带有ajax的jQuery裁剪器上传之前显示裁剪图像。在上传到Codeigniter中的数据库之前,我将显示裁剪和调整大小的图像。

在本教程中,我们将学习PHP中的裁剪图像。本教程使用jQuery在Codeigniter 4项目中使用Ajax上传图像。图像显示裁剪的预览并调整图像大小,然后再使用Ajax保存到数据库中。并且无需刷新和重新加载您的CodeIgniter项目的网页。我们将在Codeigniter中学习裁剪图像。

创建控制器

现在,转到app / Controllers并创建一个控制器名称CropImageUpload.php。在此控制器中,我们将创建一些方法/函数:[Crop and Save] Image using jQuery Coppie in Codeigniter- Step by Step

<?php namespace App\Controllers;
 
use CodeIgniter\Controller;
 
class CropImageUpload extends Controller
{
    public function index()
    {    
         return view('crop-image-upload-form');
    }
 
    public function store()
    {  
           helper(['form', 'url']);
         
           $db    = \Config\Database::connect();
         $builder = $db->table('crop_images');
 
 
         $data = $_POST["image"];
 
         $image_array_1 = explode(";", $data);
 
         $image_array_2 = explode(",", $image_array_1[1]);
 
         $data = base64_decode($image_array_2[1]);
 
         $imageName = time() . '.png';
 
         file_put_contents($imageName, $data);
 
         $image_file = addslashes(file_get_contents($imageName));
 
         $save = $builder->insert(['title' =>  $image_file]);
 
         $response = [
          'success' => true,
          'data' => $save,
          'msg' => "Crop Image has been uploaded successfully in codeigniter"
         ];
     
 
       return $this->response->setJSON($response);
 
    }
}

[Crop and Save] Image using jQuery Coppie in Codeigniter- Step by Step