Na rotina que deve ser executada para aplicar as modificações na imagem eu estou usando as próprias funcões GD2 do PHP. Não uso as do CI pq além do redimensionamento, tb é escrito um texto na imagem e ela é mesclada com um PNG. Eu ja tenho essa rotina feita há algum tempo, e ainda não vi necessidade de reescreve-la utilizando a ImageLib do CI, já que está funcionando mto bem.
Mas a questão não é em como fazer pra redimensionar, mas sim em como fazer essa rotina ser executada logo após o arquivo for enviado. O Edinho me mostrou uma maneira que talvez possa funcionar... Muita sorte pra nós! ;-) []'s Felipe Diesel escreveu: > Mas por que tu naõ usa a Imga_lib do próprio CI? > > Eu montei uma função que faz o serviço em cima da Image_lib, mas não > tô usando o rapyd. > > Dá uma olhada: > http://felipediesel.net/blog/cortando-e-redimensionando-imagens-com-o-codeigniter/ > > 2008/4/10 Mike Maciel <[EMAIL PROTECTED]>: > >> O problema não está em como criar o thumb, mas sim redimensionar a >> imagem original. >> O gerador de thumbs do rapyd até que seria uma boa solução, porém eu >> ficaria com duas imagens no servidor: uma enorme e outra no formato que >> eu preciso, sendo que a primeira seria desnecessária. >> >> Vou dar uma olhada nesse lance que o Edinho comentou. Pode ser que >> consigamos algo... uma extensão, talvez. >> >> []'s >> >> Reginaldo Sousa escreveu: >> >> >>> O Rapyd já cria o thumb, >>> >> > >> > <?php >> > >> > $edit->img = new uploadField("Foto destaque", "foto_destaque"); >> > $edit->img->upload_path = UPLOAD_PATH . "paginas/"; >> > $edit->img->allowed_types = "jpg|gif|png"; >> > $edit->img->thumb = array (340, 255); // tamanho do thumb >> > $edit->img->max_width = 1024; >> > $edit->img->max_height = 768; >> > ?> >> > >> > Não vivo mais sem ele :P >> > >> > 2008/4/10 Edinho Almeida <[EMAIL PROTECTED] >> > <mailto:[EMAIL PROTECTED]>>: >> >> >> > Oi Mike, >> > Parece que na hora 'H' o rapyd utiliza a library upload do CI para >> > afetivar o upload. >> > A solucão para você então seria extender a library Upload >> > >> > Sem mexer no core do ci e nem do radyd >> > >> > Abs >> > Edinho >> > >> > 2008/4/10 Mike Maciel <[EMAIL PROTECTED] >> > <mailto:[EMAIL PROTECTED]>>: >> >> >>> > Eu concordo com o Felipe... e a opinião dele reflete bem o que >>> >> > eu estou >> > > passando. >> > > >> > > Agora estou a fuçar os fontes do rapyd pra ver se descubro >> > alguma coisa. >> > > O rapyd é uma ótima pedida para quem precisa se rápido na >> > simplicidade. >> > > Mas se vc precisar fazer algo mais complexo, vc corre o risco >> > de passar >> > > sérios apuros como eu. >> > > >> > > []'s >> > > >> > > >> > > Felipe Diesel escreveu: >> > > >> > > >> > > > Eu testei o rapyd, mas não me adaptei, justamente por ele >> > facilitar as >> > > > coisas de mais. A coisa é muito automática e não se tem o >> > controle >> > > > sobre o código. >> > > > >> > > > Claro que se está sendo feito um site com form de contato ou >> > mesmo um >> > > > pequeno sistema que não precisa de muito javascript e ajax >> > ele é uma >> > > > mão na roda, mas para mim ele não serviu! >> > > > >> > > > Abraços >> > > > >> > > > 2008/4/10 Mike Maciel <[EMAIL PROTECTED] >> > <mailto:[EMAIL PROTECTED]>>: >> >> >>> > > >>> >> > > >> Marco, >> > > >> >> > > >> Realmente o Rapyd facilita mto a nossa vida. No sie oficial >> > > >> (www.rapyd.com <http://www.rapyd.com>) vc encontra mtas >> >> >>> informações. A documentação é boa, pena >>> >> > > >> que o fórum oficial seja (muito) parado. >> > > >> >> > > >> Atualmente, eles estão lançando um novo Rapyd (o Rapyd SA) >> > que é >> > > >> compatível com outros frameworks além do CI, e pode tb ser >> > utilizado >> > > >> como um si >> > > >> Eu te aconselho usar uma versão do rapyd que já vem >> > integrada ao CI. >> > > >> Pena que a versão utilizada ainda seja a 1.5.4. >> > <http://1.5.4.> Mas se vc usa a versão >> >> >> >>> > >> mais atual, pode baixar e instalar o SA. Os dois funcionam >>> >> > da mesma >> > > >> maneira, a diferença é que o SA pode se integrar mais >> > facilmente com >> > > >> outros frameworks, e até msm ser utilizada como um simples >> > script. >> > > >> >> > > >> Em http://test.rapyd.com/sa/demo/ vc pode encontrar vários >> > exemplos >> > > >> funcionais do rapyd. >> > > >> >> > > >> Como vc diz: Muia sorte pra nós! >> > > >> >> > > >> []'s >> > > >> >> > > >> >> > > >> Marco Telles escreveu: >> > > >> >> > > >> >> > > >> >> > > >>> A recíproca é verdadeira, Mike. >> > > >>> >> > > >> > Como não estava entendendo a complexidade da situação, já >> > que se fez o >> > > >> > upload, ele vai estar em algum canto. Se ele está em >> > algum canto, basta >> > > >> > tratar/manipular ele. Tratado e manipulado, é só >> > introduzir o dito cujo >> > > >> > no ponto g ou x.. Bem mais isso é outra história.. :) >> > > >> > >> > > >> > Agora voltando aos frangos e patos, fiz uma leitura >> > (olhada) dinâmica (e >> > > >> > como) no tal rapidão, e me interessou o lance do "Rapyd >> > Language Class". >> > > >> > Tenho um site em construção que vai precisar trabalhar >> > com br/en tanto >> > > >> > no layout como no conteúdo, fato que já até postei e >> > recebi várias dicas >> > > >> > aqui. Vc já usou ? Sabe dizer algo ? >> > > >> > >> > > >> > Abs >> > > >> > >> > > >> > >> > > >> > >> > > >> > Mike Maciel escreveu: >> > > >> > >> > > >> >> Cara! Vc mirou no pato e acertou o frango! :-P >> > > >> >> >> > > >> >> Em outras palavras, vc tentou me ajudar com um problema >> > mas acabou me >> > > >> >> ajudando a matar um outro problema! rsrs >> > > >> >> >> > > >> >> Ainda tenho aquela dificuldade do outro email, mas esse >> > lance do >> > > >> >> maintain_ratio me deu um verdadeiro farol pra resolver >> > outro problema aqui. >> > > >> >> >> > > >> >> Vlw! >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> >> Marco Telles escreveu: >> > > >> >> >> > > >> >> >> > > >> >>> Esqueci um detalhe. Se precisar da imagem no tamanho >> > exato de 340 x 255 >> > > >> >>> e se a imagem original tiver vários tamanhos, então é >> > melhor colocar >> > > >> >>> $config['maintain_ratio'] = FALSE; conforme o guia: >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>>> Since the maintain_ratio option is enabled, the thumb >> > will be as close >> > > >> >>>> to the target width and height as possible while >> > preserving the >> > > >> >>>> original aspect ratio >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>> Marco Telles escreveu: >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>>> Mike essa eu não capitchei não :) >> > > >> >>>> >> > > >> >>>> Nunca usei rapyd e nem sei como funciona e para que >> > serve, então nesse >> > > >> >>>> ponto não tenho como ajudar muito, porém, levando em >> > consideração seu >> > > >> >>>> relato: >> > > >> >>>> >> > > >> >>>> 1. >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>>> o principal deles é as dimensões da imagem >> > > >> >>>>> que devem ser exatamente 340x255. >> > > >> >>>>> Eu precisava executar uma ação após o upload que >> > verificasse se a imagem >> > > >> >>>>> enviada atende a esses padrões. >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>> Isso resolve com php, nem precisa CI => list($w, $h) = >> > getimagesize( >> > > >> >>>> $imagemEnviada ); >> > > >> >>>> >> > > >> >>>> 2. >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>>> A dificuldade começa agora: Caso a >> > > >> >>>>> imagem enviada seja em outra proporção (640x480, por >> > exemplo), ela seria >> > > >> >>>>> redimensionada para 340x255. >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>> Nesse caso o CI é mais prático => >> > > >> >>>> $this->load->library('image_lib'); >> > > >> >>>> //Configura o thumb >> > > >> >>>> $config['image_library'] = 'GD2'; >> > > >> >>>> $config['source_image'] = $imagemEnviada; >> > > >> >>>> $config['create_thumb'] = TRUE; >> > > >> >>>> $config['maintain_ratio'] = TRUE; >> > > >> >>>> $config['width'] = 340; >> > > >> >>>> $config['height'] = 255; >> > > >> >>>> $this->image_lib->initialize($config); >> > > >> >>>> $this->image_lib->resize(); >> > > >> >>>> >> > > >> >>>> Espero ter ajudado, senão delete-me :) >> > > >> >>>> >> > > >> >>>> Valeu e abs. >> > > >> >>>> >> > > >> >>>> Muita sorte para nós! >> > > >> >>>> >> > > >> >>>> Marco Telles >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> Mike Maciel escreveu: >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>>> Já verifiquei... acho que não consegui passar meu >> > problema com claridade. >> > > >> >>>>> Com relação à manipulação da imagem, está td beleza. >> > O meu problema é >> > > >> >>>>> como executar a manipulação em um uploadField. Este >> > seria um evento que >> > > >> >>>>> deve ocorrer somente após o upload, e naquele >> > determinado arquivo... >> > > >> >>>>> algo como "onUploadSucess", ou "afterUpload", sei lá... >> > > >> >>>>> >> > > >> >>>>> Capitche? >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> Marco Telles escreveu: >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>>> Dá uma olhada no guia do CI, especificamente a >> > classe de imagens que vc >> > > >> >>>>>> vai ter uma luz :) >> > > >> >>>>>> >> > > >> >>>>>> Muita sorte para nós! >> > > >> >>>>>> >> > > >> >>>>>> Marco Telles >> > > >> >>>>>> >> > > >> >>>>>> ############# >> > > >> >>>>>> # Pier de Ipanema ( http://www.pierdeipanema.com.br/ ) >> > > >> >>>>>> # Pier de Ipanema no Orkut ( >> > http://www.orkut.com/Community.aspx?cmm=2923344 ) >> > > >> >>>>>> # CodeIgniter PHP framework ( >> > http://www.codeigniter.com.br/ ) >> > > >> >>>>>> # Ubuntu The power of free software ( >> > http://www.ubuntu-br.org/ ) >> > > >> >>>>>> # Python Programming Language ( >> > http://www.pythonbrasil.com.br/ ) >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> Mike Maciel escreveu: >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>>> Salve, salve! >> > > >> >>>>>>> >> > > >> >>>>>>> Estou utilizando CodeIgniter+Rapyd (combinação >> > explosiva! ;-) ) em uma >> > > >> >>>>>>> aplicação que faz upload de arquivos jpeg. Porém >> > este arquivo precisa >> > > >> >>>>>>> obdecer a alguns critérios, e o principal deles é >> > as dimensões da imagem >> > > >> >>>>>>> que devem ser exatamente 340x255. >> > > >> >>>>>>> Eu precisava executar uma ação após o upload que >> > verificasse se a imagem >> > > >> >>>>>>> enviada atende a esses padrões. A dificuldade >> > começa agora: Caso a >> > > >> >>>>>>> imagem enviada seja em outra proporção (640x480, >> > por exemplo), ela seria >> > > >> >>>>>>> redimensionada para 340x255. >> > > >> >>>>>>> >> > > >> >>>>>>> Alguém já encarou situação semelhante ou sabe o >> > caminho das pedras? >> > > >> >>>>>>> >> > > >> >>>>>>> Abraços a todos! >> > > >> >>>>>>> >> > > >> >>>>>>> Mike >> > > >> >>>>>>> >> > > >> >>>>>>> _______________________________________________ >> > > >> >>>>>>> Lista mailing list >> > > >> >>>>>>> [email protected] >> > <mailto:[email protected]> >> >> >>> > >> >>>>>>> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>>> >> > > >> >>>>>> _______________________________________________ >> > > >> >>>>>> Lista mailing list >> > > >> >>>>>> [email protected] >> > <mailto:[email protected]> >> >> >>> > >> >>>>>> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >>>>>> >> > > >> >>>>>> __________ Information from ESET Smart Security, >> > version of virus signature database 2835 (20080130) __________ >> > > >> >>>>>> >> > > >> >>>>>> The message was checked by ESET Smart Security. >> > > >> >>>>>> >> > > >> >>>>>> http://www.eset.com >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>>> >> > > >> >>>>> _______________________________________________ >> > > >> >>>>> Lista mailing list >> > > >> >>>>> [email protected] >> > <mailto:[email protected]> >> >> >>> > >> >>>>> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>>> >> > > >> >>>> _______________________________________________ >> > > >> >>>> Lista mailing list >> > > >> >>>> [email protected] <mailto:[email protected]> >> >> >>> > >> >>>> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>>> >> > > >> >>> _______________________________________________ >> > > >> >>> Lista mailing list >> > > >> >>> [email protected] <mailto:[email protected]> >> >> >>> > >> >>> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >>> >> > > >> >>> __________ Information from ESET Smart Security, >> > version of virus signature database 2835 (20080130) __________ >> > > >> >>> >> > > >> >>> The message was checked by ESET Smart Security. >> > > >> >>> >> > > >> >>> http://www.eset.com >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >>> >> > > >> >> _______________________________________________ >> > > >> >> Lista mailing list >> > > >> >> [email protected] <mailto:[email protected]> >> >> >>> > >> >> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >> >> > > >> >> >> > > >> >> >> > > >> > >> > > >> > _______________________________________________ >> > > >> > Lista mailing list >> > > >> > [email protected] <mailto:[email protected]> >> >> >>> > >> > >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> > >> > > >> > __________ Information from ESET Smart Security, version >> > of virus signature database 2835 (20080130) __________ >> > > >> > >> > > >> > The message was checked by ESET Smart Security. >> > > >> > >> > > >> > http://www.eset.com >> > > >> > >> > > >> > >> > > >> > >> > > >> > >> > > >> >> > > >> >> > > >> _______________________________________________ >> > > >> Lista mailing list >> > > >> [email protected] <mailto:[email protected]> >> >> >>> > >> >>> >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > > >> >> > > >> >> > > > >> > > > >> > > > >> > > > >> > > >> > > >> > > _______________________________________________ >> > > Lista mailing list >> > > [email protected] <mailto:[email protected]> >> >> >>> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >> > > >> > >> > >> > >> > -- >> > Abs >> > Edinho Almeida >> > 11 3711-7074 >> > 11 3564-8906 >> > >> > _______________________________________________ >> > Lista mailing list >> > [email protected] <mailto:[email protected]> >> >> >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >> > >> > >> > >> > >> > -- >> > Reginaldo Sousa | Desenvolvedor web >> > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>, >> > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >> > (21) 8728-1850 >> > ------------------------------------------------------------------------ >> >> >> >> > _______________________________________________ >> > Lista mailing list >> > [email protected] >> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> > >> > >> > >> > __________ Information from ESET Smart Security, version of virus >> signature database 2835 (20080130) __________ >> > >> > The message was checked by ESET Smart Security. >> > >> > http://www.eset.com >> > >> >> >> _______________________________________________ >> 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

