简体   繁体   中英

How to change background color cropping image_lib Codeigniter

I've been searching many of site to change background color when cropping image in codeigniter but there's no result.

I have an image when I crop using image_lib GD2 Codeigniter the offset image background color is black here's the pic

在此输入图像描述

how to change this? Here's my code:

$config['image_library']    = 'gd2';
$config['source_image']     = './uploads/thumb/thumb_'.$fileName;
$config['width']            = 200;
$config['height']           = 250;
$config['maintain_ratio']   = FALSE;
$config['x_axis']           = '20';
$config['y_axis']           = '0';

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

anyone can help me? Sorry my English is bad, thanks for answer.

This is the way I do it:

  public function saveImage($web_id, $user_id, $photo, $index = -1, $path=false, $crop = true, $crop_x = 0, $crop_y = 0, $width = 0, $height = 0)
{
    /* Image upload */
$this->ci->load->helper("string");
$this->ci->load->library('upload');
if(!$path)
      $path = getcwd().'/assets/img/locations/'.$user_id."/".$web_id;
else
  $path = getcwd().$path;

$config['upload_path'] = $path;
$config['allowed_types'] = 'gif|jpg|png|jpeg';
    $config['file_name'] = random_string('alpha', 39);
    $config['overwrite'] = true;


    $this->ci->upload->initialize($config);
    if (!$this->ci->upload->do_upload($photo, $index))
{
  /*echo "<br>path: ".$config['upload_path']."<br>";
  echo "user_id: ".$user_id." web_id: ".$web_id." error: ". $this->ci->upload->display_errors();
  die;*/

  $photo = '';
}
    else{

        $image_data = $this->ci->upload->data();
        $photo = $image_data['file_name'];
  if($crop)
  {
    $this->ci->load->library('image_lib');
    $config = array(
      'image_library'   => 'gd',
      'source_image'    => $image_data['full_path'],
      'new_image'       => $path,
      'x_axis'          => $crop_x,
      'y_axis'          => $crop_y,
      'width'           => $width,
      'height'          => $height,
      'overwrite'       => true,
      'maintain_ratio'  => false
    );
    $this->ci->image_lib->initialize($config);
    if ( ! $this->ci->image_lib->crop())
    {
      echo $this->ci->image_lib->display_errors();
      die;
    }
  }
  }
    return $photo;
}

There are many things you don´t need to use, but you can use it as a base.

I hope it helps you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM