2015-07-17 9 views
6

Sto costruendo un'immagine basata sull'input dell'utente: lo sfondo sarà un'immagine o un colore, quindi alcune altre immagini potrebbero non essere composte in cima.È possibile che Paperclip generi una nuova immagine (senza fonte)?

Controllando attraverso i documenti graffetta, si menziona che è possibile utilizzare ImageMagik per le immagini post-elaborazione e che la post-elaborazione non verrà attivata se non ha già un'immagine.

Se io sono in grado di rendere gli script ImageMagik di comporre/colore/ridimensionare un'immagine, c'è un modo per farlo generare l'immagine, o avrò bisogno di includere una sorta di pixel hackish da caricare (e quindi postelaborare l'immagine che voglio)?

risposta

3

vorrei provare il seguente:

  • hanno un'immagine di default nella cartella patrimonio di mia app
  • Se il modello da salvare non ha alcun allegato allora sarebbe assegnare quello di cui sopra: a_model.image = File.open('...')
  • poi, su salva del a_model post-elaborazione dovrebbe avvenire normalmente
4

ImageMagick può generare un'immagine di partenza per te, costituita da un semplice rettangolo riempito con un singolo colore. Ad esempio, questo genererà un 150x100 rosso immagine:

convert -size 150x100 xc:"#ff0000" starting_image.png 
+0

Sì, ma la graffetta farà riferimento/call a imagemagick in * post processing *, il che significa che ho bisogno di un'immagine per iniziare prima. –

+0

Ho giocato con qualcosa del genere, ma mi sono imbattuto in un problema in cui paperclip si è lamentato del fatto che l'immagine avesse un mimo vuoto; sembra essere un bug di vecchia data con paperclip e aws-sdk. Ho finito per dover usare un pixel iniziale. –

+0

Utilizzare un'immagine iniziale 1x1 dovrebbe funzionare. Non ho alcuna esperienza recente con Paperclip. Era il mio word processor principale circa 40 anni fa sul mio Commodore 64, molto prima che esistessero persino i tipi di mimo. –