Alo Rafael blz ?
Cara eu não sabia que tinha uma biblioteca no CI para tratamento de
imagem... :(
Perdi maior tempo a toa. Pelo que olhei rápido a image_lib já faz
thumbnail e redimensiona não é isso ? Só não está documentada no guia do
CI....
Vou olhar teu código e essa biblioteca para ver como eu faço e qualquer
dúvida volto aqui.
Valeu !!
Marco
Rafael V. de Oliveira escreveu:
> Opa Marcão, passei pela mesma coisa há um tempo atrás....
>
> Vou postar meu código pra ver se é isso mesmo que vc quer
>
> $dir =
> './public/repositorio/fotos/'.$this->input->post('evento').'/';
> (!is_dir($dir)) ? mkdir($dir) : '';
> $config['upload_path'] = $dir;
> $config['allowed_types'] = 'gif|jpg|png';
> $config['max_size'] = '1000';
> $config['max_width'] = '1024';
> $config['max_height'] = '1024';
> $config['encrypt_name'] = TRUE;
>
> $this->load->library('upload', $config);
>
> if ($this->upload->do_upload())
> {
> $this->load->library('image_lib');
>
> $dados = $this->upload->data();
> $foto = $dados['file_name'];
>
> //Cria o thumb
> $config['image_library'] = 'GD2';
> $config['source_image'] = $dados['full_path'];
> $config['create_thumb'] = TRUE;
> $config['maintain_ratio'] = TRUE;
> $config['width'] = 120;
> $config['height'] = 120;
> $this->image_lib->initialize($config);
> $this->image_lib->resize();
>
> //Redimensiona a imagem original
> $config['create_thumb'] = FALSE;
> $config['width'] = 500;
> $config['height'] = 500;
> $this->image_lib->initialize($config);
> $this->image_lib->resize();
>
> //Pega qual eh o nome do thumb
> $thumb = explode('.', $foto);
> $extensao = (count($thumb)) - 1;
> $extensao = '.'.$thumb[$extensao];
> $thumb = $thumb[0].'_thumb'.$extensao;
>
> Com isto, eu tenho duas imagens. A original, porém redimensionada para
> 500x500 e um thumb, de 120x120. Como usei criptografia para salvar o
> nome da foto, nem me preocupei com o nome dela. Porém preciso do
> último bloco para pegar o nome da thumb. Eu salvo a foto e o thumb
> ($foto e $thumb).
>
> Abraços
>
> Marco Telles escreveu:
>> Prezados,
>>
>> estou usando a biblioteca upload e uma classe própria para redimensionar
>> imagem e ao subir uma imagem eu gostaria de:
>> 1. pegar a imagem tmp e redimensionar antes de salvar;
>> 2. pegar a imagem gravada e criar um thumbnail (ou seja, redimensionar
>> também a original).
>>
>> O thumbnail eu já resolvi, após gravar usando $this->upload->do_upload()
>> eu pego os dados e envio como parametro para a classe que redimensiona e
>> grava o thumbnail.
>> Uma opção seria eu pegar os dados em $_FILES e fazer na mão, mas se tem
>> uma library já pronta, seria melhor né ?
>> Alguém poderia dar uma idéia ?
>>
>> Hoje eu faço como indica no guia do CI:
>> 1. configuro:
>> $config['upload_path'] = './images/prod/';
>> $config['allowed_types'] = 'gif|jpg|png';
>> $config['max_size'] = '1000';
>> $config['max_width'] = '1024';
>> $config['max_height'] = '768';
>>
>> 2. carrego:
>> $this->load->library('upload', $config);
>>
>> 3. executo:
>> if ( ! $this->upload->do_upload() ) {
>> $error = array('error' =>
>> $this->upload->display_errors());
>> echo $error['error'];
>> }else {
>> // preparo dados para gravar no banco de dados
>> $aFotoNew = $this->upload->data();
>> (...)
>> }
>>
>> Abs
>>
>>
>
> --
> Rafael Vieira de Oliveira
> Faculdade de Direito de SBC - Autarquia Municipal
> Setor de Automação, Telefonia e Informação
> (11)4123-0222 Ramal: 208
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br