Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con Paperclip

  1. #1
    Utente di HTML.it L'avatar di zeta71
    Registrato dal
    Jan 2009
    Messaggi
    14

    Problema con Paperclip

    Qualcuno sa dirmi se ad un attachment posso assegnare direttamente un oggetto Magick::Image senza per forza dover "uploadare" un file?

    In altre parole l'intento è costruire un "badge" (un'immagine contenente diverse info stile facebook) unendo del testo ad una foto in modo dinamico e fin qui grazie a rMagick tutto ok. Ma come faccio a dire a paperclip "istanza.allegato = nuova_immagine_creata" all'interno del modello? è possibile?

    Andrea

  2. #2
    Utente di HTML.it L'avatar di zeta71
    Registrato dal
    Jan 2009
    Messaggi
    14
    Nessuno?... mi sono spiegato male?

  3. #3
    Puoi allegare un qualsiasi stream IO, quindi ad esempio un oggetto File.new o un StreamIO.new ma non direttamente un oggetto ImageMagick. Devi prima convertirlo in stream.

  4. #4
    Utente di HTML.it L'avatar di zeta71
    Registrato dal
    Jan 2009
    Messaggi
    14
    Grazie weppos... scusa ma non ho capito. Ti riporto un pezzo di codice all'interno del model preposto alla generazione e archiviazione dei miei stramaledetti badges (oramai non ci dormo più la notte):

    codice:
    has_attached_file :immagine,
                      :styles => { :small => "100x100#", :large => "500x500>" },
                      :storage => :s3,
                      :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                      :path => "public/badges/:id/:attachment/:style.:extension",
                      :processors => [:cropper]
      
    has_attached_file :img_badge,
                      :styles => { :small => "400x100#" },
                      :storage => :s3,
                      :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                      :path => "public/badges/:id/:attachment/:style.:extension"
    
    def componi_badge
        RVG::dpi = 72
        rvg = RVG.new(400,100).viewbox(0,0,400,100) do |canvas|
                canvas.background_fill = 'white'
                foto   = ::Magick::Image.read(self.immagine.url(:small)).first
                titolo = self.titolo
                testo  = self.testo
                canvas.image(foto,100,100,0,0).preserve_aspect_ratio('xMinYMin', 'slice')
                canvas.rect(10,10).styles(:stroke=>'black', :stroke_width=>1, :fill=>'white')
              end
        temp_file = rvg.draw
        temp_file.format = 'jpg'
        self.img_badge = ???????????
    end
    che ci metto al posto dei punti di domanda? sono arrivato al punto che temp_file so che è una classe Magick::Image ma poi? scusa ma sono veramente "alle asse" (in venetasso)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.