Eu não uso a biblio de redimensionamento de imagem do CI. Ela é muito ruim
e não atende as minhas necessidades. Essa parte de upload eu faço usando uma
classe que eu já usava antes e coloquei ela como uma library.

Em 23/01/08, Marco Telles <[EMAIL PROTECTED]> escreveu:
>
> 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
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a