Paperclip tamanho da imagem

95 views
Skip to first unread message

Casanova

unread,
Feb 10, 2012, 8:55:39 AM2/10/12
to rails-br
Bom pessoal tenho uma duvida, eu tenho o seguinte codigo no meu model

class Banner < ActiveRecord::Base
has_attached_file :image,
:styles => { :big => "1000x417#" },
:default_style => :small,
:url => "/images/
banners/:style/:basename.:extension",
:path => ":rails_root/public/images/
banners/:style/:basename.:extension",
:default_url => "/images/sem_imagem.fig",


# validates_attachment_size :image, :less_than =>
250.kilobytes, :message => "deve ser menor que 250 kb"
end

Na linha comentada eu estou limitando que a imagem para ser cadastrada
deve ter no máximo 250 kb. Tem como o o paperclip automaticamente
converter a imagem pra 250kb. Imaginem a sena o usuário vai cadastra
uma imagem de 300kb, o paperclip pegaria e salvaria essa imagem com
250kb. Tem como fazer isso??

Gianpaulo Soares

unread,
Feb 10, 2012, 8:59:21 AM2/10/12
to rail...@googlegroups.com
usei há um tempão paperclip, sei que dá pra fazer crop e resize, se não me engano ele usa o imagemagik q é basicamente um photoshop por linha de comando, então se precisar de algo mais, acho q fuçando um pouco o código fonte dos dois não deve ser difícil de implementar.

Gianpaulo Soares


2012/2/10 Casanova <tyagok...@gmail.com>

--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+u...@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7

Casanova

unread,
Feb 11, 2012, 9:05:21 AM2/11/12
to rails-br
alguem teria um exemplo disso pra ser mais facil???

On Feb 10, 11:59 am, Gianpaulo Soares <gianpaulosoa...@gmail.com>
wrote:
> usei há um tempão paperclip, sei que dá pra fazer crop e resize, se não me
> engano ele usa o imagemagik q é basicamente um photoshop por linha de
> comando, então se precisar de algo mais, acho q fuçando um pouco o código
> fonte dos dois não deve ser difícil de implementar.
>
> Gianpaulo Soares
>
> 2012/2/10 Casanova <tyagokazan...@gmail.com>
> > Visite o grupo emhttp://groups.google.com/group/rails-br?hl=pt-BR

Casanova

unread,
Feb 13, 2012, 5:31:55 AM2/13/12
to rails-br
Dei uma olhada nas video aulas do railscats mas tbm nao encontrei
nada...

Casanova

unread,
Feb 13, 2012, 6:34:38 AM2/13/12
to rails-br
tentei dessa forma

has_attached_file :image,
:url => “/upload/images/fotos/:id_:styles.:extension“,
:path => “:rails_root/public/upload/images/
fotos//:id_:styles.:extension”,
:styles => { :thumb => “75×75>”, :large => “550×408>”},
:convert_options => { :all => “-quality 75 -strip” }

usando o :convert_option, no caso ele converte a imagem numa qualidade
menor, mas ainda nao é o que eu quero. Eu quero pega a imagem do
usuario em 180 kb por exemplo e transforma a imagem em por exemplo 50
kb.

Alex Takitani

unread,
Feb 13, 2012, 6:43:52 AM2/13/12
to rail...@googlegroups.com
Vc vai ter q mexer com a qualidade, mas não tem essa de "quero em X KB". Vai variar da resolução da imagem, formato de arquivo, complexidade ...  Isso não é o tipo de coisa que se faz automaticamente. Faça uma experiência. Abra a imagem no photoshop e vá diminuindo a qualidade e o tamanho. Vc vai perceber que em alguns casos dá pra diminuir muito sem perda visual de qualidade e há casos onde vc vai perceber que uma mexidinha minima destroi a imagem.

Não tem mágica, faça o resize que já deve diminuir consideravelmente o tamanho, e depois trate individualmente as que estiverem muito grandes.

Por fim, compressão de imagem é parecido com compressão (zip,rar etc) de arquivos. Você não tem como dizer "quero que vc comprima em no máximo x tamanho", depende do conteúdo que vai ser comprimido.




Links e Opiniões sobre desenvolvimento Web
Atualizado (quase) diariamente
 






2012/2/13 Casanova <tyagok...@gmail.com>

Casanova

unread,
Feb 13, 2012, 7:16:07 AM2/13/12
to rails-br
Alex vc tem algum exemplo do resize, ou algum link que possa me
ajudar. Valeu

On Feb 13, 9:43 am, Alex Takitani <atpi...@gmail.com> wrote:
> Vc vai ter q mexer com a qualidade, mas não tem essa de "quero em X KB".
> Vai variar da resolução da imagem, formato de arquivo, complexidade ...
>  Isso não é o tipo de coisa que se faz automaticamente. Faça uma
> experiência. Abra a imagem no photoshop e vá diminuindo a qualidade e o
> tamanho. Vc vai perceber que em alguns casos dá pra diminuir muito sem
> perda visual de qualidade e há casos onde vc vai perceber que uma mexidinha
> minima destroi a imagem.
>
> Não tem mágica, faça o resize que já deve diminuir consideravelmente o
> tamanho, e depois trate individualmente as que estiverem muito grandes.
>
> Por fim, compressão de imagem é parecido com compressão (zip,rar etc) de
> arquivos. Você não tem como dizer "quero que vc comprima em no máximo x
> tamanho", depende do conteúdo que vai ser comprimido.
>
>  RailsFor.me <http://railsfor.me/>
>  Links e Opiniões sobre desenvolvimento Web
>  Atualizado (quase) diariamente
>
> 2012/2/13 Casanova <tyagokazan...@gmail.com>

Alex Takitani

unread,
Feb 13, 2012, 7:21:16 AM2/13/12
to rail...@googlegroups.com
Vc já está fazendo resize

:styles => { :thumb => “75×75>”, :large => “550×408>”}


Links e Opiniões sobre desenvolvimento Web
Atualizado (quase) diariamente
 


2012/2/13 Casanova <tyagok...@gmail.com>

Casanova

unread,
Feb 13, 2012, 7:27:52 AM2/13/12
to rails-br
hum, mas se eu quisesse fazer a conversão da imagem em x.kb, mesmo
fodendo com a imagem em algumas ocasiões, tem como???

On 13 fev, 10:21, Alex Takitani <atpi...@gmail.com> wrote:
> Vc já está fazendo resize
>
> :styles => { :thumb => “75×75>”, :large => “550×408>”}
>

Alex Takitani

unread,
Feb 13, 2012, 8:01:10 AM2/13/12
to rail...@googlegroups.com
Vc tb já está fazendo isso


:convert_options => { :all => “-quality 75 -strip” } 


vai diminuindo a qualidade que o tamanho diminuirá tb.


Links e Opiniões sobre desenvolvimento Web
Atualizado (quase) diariamente
 

2012/2/13 Casanova <tyagok...@gmail.com>

Casanova

unread,
Feb 13, 2012, 9:11:03 AM2/13/12
to rails-br
Bom pessoal surgio outra idéia, o paperclip cria um diretorio em
public banner/original e banner/big por exemplo gostaria de muda o
tamanho da imagem original tipo igual a do big

has_attached_file :image,
:styles => { :big => "1000x417#" },
:default_style => :small,
:url => "/images/
banners/:style/:basename.:extension",
:path => ":rails_root/public/images/
banners/:style/:basename.:extension",
:default_url => "/images/sem_imagem.fig"


On 13 fev, 11:01, Alex Takitani <atpi...@gmail.com> wrote:
> Vc tb já está fazendo isso
>
> :convert_options => { :all => “-quality 75 -strip” }
>
> vai diminuindo a qualidade que o tamanho diminuirá tb.
>

Casanova

unread,
Feb 13, 2012, 9:14:54 AM2/13/12
to rails-br
Consegui é só passar tipo :styles => { :big =>
"1000x417#", :original=> "1000x417#" }, acho que por defaul ele cria
a original, mas vc pode setar o tamanho

Rogerio Medeiros

unread,
Feb 13, 2012, 9:17:42 AM2/13/12
to rail...@googlegroups.com
http://mfischer.com/wordpress/2009/02/02/multiple-image-upload-and-crop-with-rails/comment-page-1/

faz isso fica + facil
att,

Rogerio

A complicação se descomplica na mesma proporção que fazemos os nós se desatarem ao tecer o conhecimento do saber.

Leandro Andrade

unread,
Feb 15, 2012, 10:19:03 AM2/15/12
to rail...@googlegroups.com
Oi,

Acho que encontrei o que você queria.


validates_attachment_size :photo, :less_than => 5.megabytes


Abraço,
Reply all
Reply to author
Forward
0 new messages