Posts Tagged ‘resize’

Ruby on Rails Paperclip como definir uma imagem padrão quando o usuário não fez upload da imagem

Postado em 23 jun 2009
Categoria(s) Ruby on Rails

Para definir uma imagem padrão de exibição, quando o usuário não fizer o upload de uma imagem, você deve usar a opção :default_url do Paperclip.

Por exemplo, digamos que você deseja exibir a imagem abaixo, quando o usuário não definiu uma foto no seu profile.

No Picture

Exemplo de configuração do Paperclip:

1
2
3
4
5
has_attached_file :picture,
                    :styles => {:thumb => '50x50#'},
                    :path => ":rails_root/public/images/pictures/:id/:style_:basename.:extension",
                    :url => "/images/pictures/:id/:style_:basename.:extension",
                    :default_url => "/images/no_pictures/:style/missing.png"

A linha abaixo, diz para o Paperclip procurar uma imagem padrão no diretório /images/no_pictures/:style/missing.png, onde :style é o tamanho do resize da imagem, nesse exemplo thumb:

...
:default_url => "/images/no_pictures/:style/missing.png"
...

Desta forma você precisa criar o diretório /images/no_pictures/thumb/ e colocar a imagem missing.png lá.

Quando você usar:

1
<%= image_tag(user.picture.url(:thumb), :alt => user.full_name) %>

Caso a imagem não exista o Paperclip usará a imagem padrão de exibição /images/no_pictures/thumb/missing.png

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Lab Go2Images resize e crop de imagens no formato gif, png ou jpg

Postado em 19 mai 2009
Categoria(s) Lab, PHP

Frequentemente em muitos projetos PHP é necessário trabalhar com o upload de imagens, geralmente nos formatos gif, png ou jpg.

Em muitas aplicações sempre é necessário fazer o resize e o crop das imagens, para obter um melhor resultado na visualização das imagens juntamente com o conteúdo.

Pensando nisso recentemente eu criei um projeto, chamado Go2Images, no meu laboratório, com o objetivo de realizar as funcionalidades acima.

Go2Images

O código fonte está disponível no github: http://github.com/patrickespake/go2images/tree/master e você pode testar no endereço: http://lab.patrickespake.com/go2images/.

O Go2Images foi desenvolvido usando a linguagem de programação PHP e o padrão de projeto MVC, que foi implementado do zero. Além disso ele usa a biblioteca GD para realizar as operações de resize e crop.

Você pode definir os tamanhos que as imagens devem ser redimensionadas, cadastrando a largura e altura, os sistema verifica todos os tipos de tamanhos cadastrados e usa essas informações para efetuar o resize e crop da imagens, conforme: http://lab.patrickespake.com/go2images/?controller=imageType&action=list e imagem abaixo:

Go2Images Image Type

Desta forma é possível inserir novas dimensões facilmente.

Com as dimensões de redimensionamento definidas, é possível efetuar o upload de uma imagem em: http://lab.patrickespake.com/go2images/index.php?controller=image&action=new.

Go2Images Nova Imagem

Automaticamente o sistema irá fazer o resize e crop das imagens, baseado nas informações de tamanho cadastradas http://lab.patrickespake.com/go2images/index.php?controller=image&action=show&id=1.

Go2Images Detalhes da Imagem

Primeiro o sistema efetua o resize da imagem tentando chegar o mais perto das dimensões desejadas e depois efetua o crop para deixar a imagem exatamente no tamanho informado.

No diretório public/images/system são armazenadas as imagens, é criado um diretório para cada imagem cadastrada, e dentro de cada diretório os tamanhos das imagens, sempre é armazenada a imagem original para futuros redimensionamentos.

Esse projeto é apenas um protótipo, sinta-se livre para usar, copiar e modificar.

  • Share/Bookmark