# Gestione immagini

**URL:** <https://www.ruby-forum.com/t/gestione-immagini/105926>\
**Category:** IT\
**Created:** [June 4, 2007, 7:11pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926 "2007-06-04T19:11:03Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 4, 2007, 7:11pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/1 "2007-06-04T19:11:03Z")

</div>

Voglio provare rails e per farlo ho deciso di fare una copia del mio  
sito (attualmente in python)

Il sito ha due pagine, una Ã¨ la home e qua nulla di difficile, la  
seconda Ã¨ dinamica e gestisce una galleria di immagini. Qualcuno sa  
darmi delle dritte o indirizzarmi su qualche tutorial per la gestione  
delle immagini (con creazione di anteprime) in ruby con un occhio di  
riguardo a rails?

Grazie Michele.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 4, 2007, 7:34pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/2 "2007-06-04T19:34:18Z")

</div>

Acts\_as\_attachment ti permette di fare l’upload di immagini e ti fa le  
thumbnail automagicamente, anche se io preferisco usare Rmagck  
(acts\_as\_attachment fa uso di questa libreria)

Per visualizzare le immagini viva viva lightbox 2.0 (anche se non  
è strettamente correlato a rails 😉 )

Bella

jek

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 12:33am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/3 "2007-06-05T00:33:37Z")

</div>

Se non ho capito male, Acts\_as\_attachment si appoggia su un db. In  
realtaÃ le immagini sono giÃ presenti sul disco. Non voglio memorizzare  
immagini su un campo BLOB.

Attualmente mi sono organizzato cosi.  
Tutte le immagini sono salvate su hard disk. Ho uno script python che  
crea le thumbnail e le salva in un’altra directory (mantenendo la  
struttura delle directory delle immagini originale) e scrivendo sul db  
le infomrazioni dell’immagini (\*dimensioni per scalare l’immagine, il  
tipo di immagine e come chiave il percorso della stessa).  
Le gallerie sono le directory in cui sono presenti le immagini. Quando  
un utente entra in una galleria io gli mostro le thumbnail giÃ salvate  
sul disco, cosi evito di dover creare dinamicamente ad ogni accesso le  
thumbnail (anche di un’ottantina di immagini a galleria).  
Se clicca su un’anteprima gli mostro l’immagine alla dimensione  
migliore, cioÃ¨ non quella originale, che raramente Ã¨ inferiore al  
monitor, ma quella che puÃ² visualizzare sullo schermo senza dover  
scrollare su e giÃ¹ (per visualizzare le immagini utilizzo jQuery ed una  
sua estensione che ha preso spunto da Lightbox 2 ;o) ).  
Quindi dovrei utilizzare qualche libreriea (probabilmente RMagick) per  
creare le anteprime da salvare su disco e la stessa per visualizzare  
l’immagine all’utente.

\*Nel creare l’anteprima dell’immagine calcolo le possibili dimensioni  
che posso ottenere scalando l’immagine senza deformarla.

P.S. se potessi darti l’indirizzo del sito… Ã¨ piÃ¹ facile a dirsi che a  
farsi.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 1:34am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/4 "2007-06-05T01:34:20Z")

</div>

Michele C. ha scritto:

> Se non ho capito male, Acts\_as\_attachment si appoggia su un db.  
> Puoi anche usare il file system come storage. E scegliere quante  
> thumbnail di che dimensioni avere. Queste vengono generate quando  
> carichi l’immagine la prima volta sul server.  
> scrollare su e giÃ¹ (per visualizzare le immagini utilizzo jQuery ed una  
> sua estensione che ha preso spunto da Lightbox 2 ;o) ).

Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado  
sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 10:00am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/5 "2007-06-05T10:00:36Z")

</div>

Il 05/06/07, Giovanni I. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?  
> sinceramente non capisco perchè sia stato scelto prototype.  
> è un framework vecchio, incompatibile con il resto del mondo.  
> pieno di bachi negli effetti. (effetto blind per esempio)  
> x marketing? è + famoso e allora… non so proprio.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 10:20am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/6 "2007-06-05T10:20:38Z")

</div>

Massimiliano Balestrieri ha scritto:

> > Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado  
> > sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?  
> > sinceramente non capisco perchè sia stato scelto prototype.  
> > è un framework vecchio, incompatibile con il resto del mondo.  
> > pieno di bachi negli effetti. (effetto blind per esempio)  
> > x marketing? è + famoso e allora… non so proprio.  
> > E’ stato scelto perché è stato scritto da uno che fa parte del core team  
> > di rails 🙂  
> > Cmq il baco nell’effetto blind, se è quello che penso io, lo correggi  
> > racchiudendo il contenuto che vuoi blindare in un
> > 
> > .
> > 
> > Io prego ogni giorno che sostituiscano prototype con jquery ma la vedo  
> > improbabile come cosa 🙂

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 10:36am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/7 "2007-06-05T10:36:39Z")

</div>

Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con  
python (mod\_Python/Apach 2.2, per il template Cheetah e come db  
Postgresql).  
Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole  
sapere di funzionare ne su Linux (so che utilizzo sul server, distro  
Debian etch) ne su Windows xp (sul quale ho provato per mera curiositÃ ).  
Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il  
funzionamento di Ruby, anche le base, ad esempio come faccio ad  
includere una libreria (ad esempio ActiveRecord)?

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 10:55am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/8 "2007-06-05T10:55:56Z")

</div>

Il 05/06/07, Giovanni I. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Cmq il baco nell’effetto blind, se è quello che penso io, lo correggi  
> racchiudendo il contenuto che vuoi blindare in un
> 
> .

ho dovuto creare un menu su questa base:  
[http://www.blazenewmedia.com/articles/creating-a-dynamic-navigation-menu](http://www.blazenewmedia.com/articles/creating-a-dynamic-navigation-menu)

esempio:  
[http://www.cssdev.com/articles/menu/final/](http://www.cssdev.com/articles/menu/final/)

apri e chiudi 15 volte europe. vedrai che l’effetto si mangia man mano  
l’altezza del div.

se fosse un problema di div fammelo sapere… ma non penso.

la soluzione è stata passare a jquery.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 10:43am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/9 "2007-06-05T10:43:55Z")

</div>

On 6/5/07, Giovanni I. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Massimiliano Balestrieri ha scritto:
> 
> > > Amo jQuery, ma non amo mischiare le tecnologie, quindi su Rails vado  
> > > sempre di prototype + scriptaculous. Come ti trovi con jQuery on Rails?  
> > > sinceramente non capisco perchè sia stato scelto prototype.  
> > > Io prego ogni giorno che sostituiscano prototype con jquery ma la vedo  
> > > improbabile come cosa 🙂

perchè non pensate di fare un contributo a rails? di certo non è sotto le  
vostre  
capacità.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 1:41pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/10 "2007-06-05T13:41:40Z")

</div>

Grazie David W…

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 12:39pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/11 "2007-06-05T12:39:10Z")

</div>

On 6/5/07, Michele C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con  
> python (mod\_Python/Apach 2.2, per il template Cheetah e come db  
> Postgresql).

Se ti trovi bene con Python, magari ti conviene Django. Ho sentito  
cose molto positive a proposito.

> Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole  
> sapere di funzionare ne su Linux (so che utilizzo sul server, distro  
> Debian etch) ne su Windows xp (sul quale ho provato per mera curiosità).  
> Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il  
> funzionamento di Ruby, anche le base, ad esempio come faccio ad  
> includere una libreria (ad esempio ActiveRecord)?

irb(main):001:0\> require ‘rubygems’  
=\> true  
irb(main):002:0\> require ‘active\_record’  
=\> true

Necessario ‘rubygems’ per le librerie installate come gem.

–  
David N. Welton

- [David N. Welton](http://www.dedasys.com/davidw/)

Linux, Open Source Consulting

- [http://www.dedasys.com/](http://www.dedasys.com/)

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 5, 2007, 3:43pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/12 "2007-06-05T15:43:50Z")

</div>

Django l’ho provato e m’Ã¨ pure piaciuto. Ho provato anche cherrypy anche  
questo m’Ã¨ piaciuto, forse anche di piÃ¹ perchÃ© lascia piÃ¹ spazio al  
programmatore. C’Ã¨ anche TurboGears (mai provato ma ne cantano le lodi).  
In Python ci sono molti framework di buon livello. Il fatto Ã¨ che Rails  
sta spopolando e m’ha incuriosito. Lo stesso ruby m’ha incuriosito,  
cosi, visto che volevo provare qualcosa di nuovo…  
Ancora non so se adotterÃ² Rails o un qualunque altro framework, mi trovo  
bene a scrivermi le istruzioni una per una (sono all’antica?).  
Per il sito mi sono creato due classi, una accede alla base dati e  
l’altra serve a creare le pagine html. Non Ã¨ un vero MVC ma mi sono  
fatto tutte le funzioni necessarie per la gestione del sito.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 6, 2007, 7:27am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/13 "2007-06-06T07:27:05Z")

</div>

On 6/5/07, Michele C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Se non ho capito male, Acts\_as\_attachment si appoggia su un db. In  
> realtaà le immagini sono già presenti sul disco. Non voglio memorizzare  
> immagini su un campo BLOB.

Se non ti serve che l’utente possa fare l’upload delle immagini,  
allora secondo me non ti serve usare un plugin. Altrimenti, invece di  
usare act\_as\_attachment prova il plugin “file\_column”. Io l’ho usato  
per un mio sito e, con qualche colpo di martello qua e là  
([Extreme Enthusiasm](http://matteo.vaccari.name/blog/?p=42)), funziona bene, e salva i file  
nel file system. Ti fa anche le thumbnail in automatico.

M

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 6, 2007, 7:41am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/14 "2007-06-06T07:41:07Z")

</div>

On 6/5/07, Michele C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Non uso ancora Rails (se non per fare i tutorial). jQuery l’ho usato con  
> python (mod\_Python/Apach 2.2, per il template Cheetah e come db  
> Postgresql).  
> Mi sa che non sono all’altezza di Ruby on Rails. RMagick non ne vuole  
> sapere di funzionare ne su Linux (so che utilizzo sul server, distro  
> Debian etch) ne su Windows xp (sul quale ho provato per mera curiosità).

Come mai? Su Linux non ho mai avuto problemi a fare funzionare  
ImageMagick. Perché non ci spieghi in che maniera fallisce di  
preciso? Hai verificato che a monte dell’installazione di RMagick ci  
sia un’installazione funzionante di ImageMagick? Tipo, hai provato il  
comando convert per vedere se funziona bene? per esempio

convert -geometry 100x100 foo.png thumb.png

M

> Sto seriamente perdendo colpi. Faccio veramente fatica a capire anche il  
> funzionamento di Ruby, anche le base, ad esempio come faccio ad  
> includere una libreria (ad esempio ActiveRecord)?

Per ActiveRecord guarda ad esempio

[http://pragdave.pragprog.com/pragdave/2006/07/migrations\_outs.html](http://pragdave.pragprog.com/pragdave/2006/07/migrations_outs.html)

Ma non è che ti conviene prendere il manuale di Ruby e leggerlo  
dall’inizio?

M

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 6, 2007, 6:14pm UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/15 "2007-06-06T18:14:59Z")

</div>

On 6/6/07, Michele C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Per Matteo V…  
> L’upload da parte dell’utente potrebbe essere un funzione che potrei  
> implementare piÃ¹ avanti. Ho letto il codice, ma per quel poco che ci  
> capisco non viene creata la thumb dell’immagine, o sbaglio?

Leggi la doc di file\_column. Puoi aggiungere opzioni per fargli creare  
le  
thumb, ma solo se hai RMagick correttamente installato.

Matteo V. wrote:

> > Come mai? Su Linux non ho mai avuto problemi a fare funzionare  
> > ImageMagick. Perchï¿½ non ci spieghi in che maniera fallisce di  
> > preciso? Hai verificato che a monte dell’installazione di RMagick ci  
> > sia un’installazione funzionante di ImageMagick? Tipo, hai provato il  
> > comando convert per vedere se funziona bene? per esempio
> > 
> > convert -geometry 100x100 foo.png thumb.png
> 
> Non l’ho provato.

Prova allora 🙂

M

Ieri ho fatto alcune prove e RMagick si incanta quando

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 7, 2007, 1:38am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/16 "2007-06-07T01:38:51Z")

</div>

> Prova allora 🙂

provato funzione. Ma “img = Magick::Image.read(loaded\_image)[0]” non va.  
Ho provato sia con ImageMagick che con GraphicsMagick (che dovrebbe  
essere la sorella minore). In entrambe i casi rimuovendo e reinstallando  
RMagick cosi da ricompilare i sorgenti… Non so che pesci pigliare…  
P.S. utilizzo una debian etch ma non uso RMagick fornito con la distro  
(ho provato anche quello).

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 7, 2007, 10:24am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/17 "2007-06-07T10:24:42Z")

</div>

On 6/7/07, Michele C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > Prova allora 🙂
> 
> provato funzione. Ma “img = Magick::Image.read(loaded\_image)[0]” non va.

Non ci siamo capiti. Prova ad eseguire “convert” dalla riga di comando.  
Se  
non funziona, non hai speranze che RMagick possa sopperire.

M

Ho provato sia con ImageMagick che con GraphicsMagick (che dovrebbe

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 7, 2007, 10:34am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/18 "2007-06-07T10:34:17Z")

</div>

no no, ci siamo capiti :).  
Ho eseguito il comando convert dalla riga di comando e ha fatto il suo  
dovere (ho creato la thumb 100x100 di un’immagine jpg).  
E’ solo RMagick che non ne vuole sapere…

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 6, 2007, 11:20am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/19 "2007-06-06T11:20:50Z")

</div>

Per Matteo V…  
L’upload da parte dell’utente potrebbe essere un funzione che potrei  
implementare piÃ¹ avanti. Ho letto il codice, ma per quel poco che ci  
capisco non viene creata la thumb dell’immagine, o sbaglio?

Matteo V. wrote:

> Come mai? Su Linux non ho mai avuto problemi a fare funzionare  
> ImageMagick. Perchï¿½ non ci spieghi in che maniera fallisce di  
> preciso? Hai verificato che a monte dell’installazione di RMagick ci  
> sia un’installazione funzionante di ImageMagick? Tipo, hai provato il  
> comando convert per vedere se funziona bene? per esempio
> 
> convert -geometry 100x100 foo.png thumb.png

Non l’ho provato. Ieri ho fatto alcune prove e RMagick si incanta quando  
carico il file. Come esempi sono partito da :  
[http://www.extendi.it/ruby-on-rails/index.php/2007/05/10/rmagick-e-thread/](http://www.extendi.it/ruby-on-rails/index.php/2007/05/10/rmagick-e-thread/)  
Alla riga “img = Magick::Image.read(loaded\_image)[0]” si blocca.

> Ma non ï¿½ che ti conviene prendere il manuale di Ruby e leggerlo  
> dall’inizio?  
> l’idea non Ã¨ male.

Grazie per gli ottimi consigli.

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [June 8, 2007, 1:21am UTC](https://www.ruby-forum.com/t/gestione-immagini/105926/20 "2007-06-08T01:21:53Z")

</div>

ok! FUNZIONA…

1. non ho utilizzato Imagmagick. Con questa libreria (in particolare con  
libmagick9 installato) la load delle immagini si bloccava \*\*

2. ho deinstallato Imagemagick e le varie librerie (libmagic\*) facendo  
attenzione a non rompere l’equilibrio delle dipendenze

3. ho installato graphicsmagick, graphicsmagick-imagemagick e  
libgraphicsmagick\*

4. Ho installato tramite gem installa RMagick

5. FUNZIONA.

\*\* si bloccava anche se rimuovevo ImageMagick e installavo  
graphicsmagick.

Nell’esempio che avevo recuperato c’Ã¨ l’istruzione “.strip!” che non Ã¨  
ancora implementata in graphicsmagick.  
Certo un dubbio rimane: sono andato sul sito di graphicsmagick  
([http://www.graphicsmagick.org/](http://www.graphicsmagick.org/)) e l’ultimo aggiornamento risale ad  
ottobre 2005… e la versione di imagemagick da cui ha “preso spunto” Ã¨  
la 5.5.2, mentre imagemagick ha superato quota 6.  
La domanda Ã¨ molto semplice: siamo certi che graphicsmagick sia un  
software attivo? O c’Ã¨ da aspettarsi che da un giorno all’altro non ci  
siano piÃ¹ sviluppatori?

Grazie a tutti per gli ottimi consigli. Spero che questo mio post possa  
servire ad altri programmatori ruby.
