Как GrayScale изображение в PHP CodeIgniter

Как использовать фильтры изображений в CodeIgniter PHP, я хочу преобразовать изображение пользователя в изображение в градациях серого, я пытаюсь это сделать в PHP CodeIgniter framework, он не преобразовывает изображение в оттенки серого, ничего не отображается.

Вот мой код для контроллера:

public function grayscale(){
    $data['title'] ='Grayscale Image';
    $config['upload_path'] = './assets/images/grayscale';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '2048';
    $config['max_width'] = '2000';
    $config['max_height'] = '2000';
    $this->load->library('upload', $config);
    if(!$this->upload->do_upload()){
        $errors = array('error' => $this->upload->display_errors());
        $post_image = 'noimage.jpg';
    } else {
        $data = array('upload_data' => $this->upload->data());
        $realImages = imagecreatefrompng($_FILES['userfile']['tmp_name']);
        $data['img2']=imagefilter($realImages, IMG_FILTER_GRAYSCALE);       
        print $this->load->view('pages/result',$data,true);
    }
}  

Просмотреть код:

<form method="post" id="upload_form" enctype="multipart/form-data">
<input type='file' name="userfile" size="20" onchange="readURL(this);"/>

Результат:

<div class="invert-grid-item Result">
<img src="<?php echo $img2;?>">            
</div> 

php,codeigniter,

0

Ответов: 1


1 принят

попробуйте это, если вы не хотите сохранять изображение в другом каталоге, просто измените его $config['upload_path'].'/'.на другой путь

    public function grayscale(){
    $data['title'] ='Grayscale Image';
    $config['upload_path'] = './assets/images/grayscale';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '2048';
    $config['max_width'] = '2000';
    $config['max_height'] = '2000';
    $this->load->library('upload', $config);
    if(!$this->upload->do_upload()){
        $errors = array('error' => $this->upload->display_errors());
        $post_image = 'noimage.jpg';
    } else {
        $data = array('upload_data' => $this->upload->data());
        $realImages = imagecreatefrompng($_FILES['userfile']['tmp_name']);

        $data['img2']=$config['upload_path'].'/'.$_FILES['userfile']['name'];

        imagefilter($realImages, IMG_FILTER_GRAYSCALE);       
        imagepng($realImages, $data['img2']);

        print $this->load->view('pages/result',$data,true);
    }
}  
php, codeigniter,
Похожие вопросы