1

アップロードした画像のサムネイルを作成し、後でアップロードした画像のサイズを変更したい。これは私のコードです:

$data = array('upload_data' => $this->upload->data());
            $upload_data = $data['upload_data'];


            //Create image thumbnail
            $config['image_library'] = 'gd2';
            $config['source_image'] = $upload_data['full_path'];
            $config['create_thumb'] = TRUE;
            $config['overwrite'] = TRUE;
            $config['maintain_ratio'] = TRUE;
            $config['width'] = 150;
            $config['height'] = 150;

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

            $this->image_lib->resize();

            //Resize original image for space saving purposes
            if ($upload_data['image_width'] > 850 || $upload_data['image_height'] > 850) {

                $config['image_library'] = 'gd2';
                $config['source_image'] = $upload_data['full_path'];
                $config['maintain_ratio'] = TRUE;
                $config['create_thumb'] = FALSE;
                $config['overwrite'] = TRUE;
                $config['width'] = 850;
                $config['height'] = 850;

                $this->load->library('image_lib', $config);
                $this->image_lib->resize();
            }

サムネイルは問題なく作成されますが、元の画像のサイズ変更は機能しません。ここで何が欠けていますか?

編集:次の行を追加しようとしました:

$this->image_lib->clear();

2 つの画像操作の間。

4

1 に答える 1

2

次のように、 $config も再初期化する必要があることが判明しました。

                $this->image_lib->clear();
                $this->image_lib->initialize($config);
                $this->image_lib->resize();
于 2013-04-02T14:59:55.440 に答える