【问题标题】:How to change background color cropping image_lib Codeigniter如何更改背景颜色裁剪 image_lib Codeigniter
【发布时间】:2016-04-18 06:46:16
【问题描述】:

在codeigniter中裁剪图像时,我一直在搜索许多网站以更改背景颜色,但没有结果。

当我使用 image_lib GD2 Codeigniter 裁剪时,我有一张图像,偏移图像背景颜色是黑色,这是图片

如何改变这个? 这是我的代码:

$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();

有人可以帮助我吗?对不起,我的英语不好,谢谢你的回答。

【问题讨论】:

  • 为什么添加x-axisy-axis ..?
  • 有人回答过这个问题吗?

标签: php codeigniter gd2


【解决方案1】:

这就是我的做法:

  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;
}

有很多东西你不需要使用,但你可以用它作为基础。

希望对你有帮助。

【讨论】:

  • 这不是答案。除了一些样板文件之外,您没有做任何与 OP 不同的事情,也没有处理背景颜色。
猜你喜欢
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 2016-04-08
  • 2018-02-13
  • 2012-01-02
  • 2022-01-21
相关资源
最近更新 更多