2011-02-27 15 views
8

Denetleyici yanıtında görüntü oluşturmak için bir mücevher veya çözüm arıyorum.Rails'de PNG veya JPG'ye nasıl yanıt verilir ve HTML'den görüntü oluşturulur?

böyle denetleyicisi yapmak mümkünse iyi olurdu:

#show.png.haml 
%h1 
    Some title 
%p 
    Some content 

sonuç bir görüntü olmalıdır: png biçimi yanıtını istenir

respond_to :html, :png 

def show 
    ... 
    respond_to do |format| 
    format.html 
    format.png { ??? } # some html to png converter 
    end 
end 

şablonla kolları .

PDFKit, prawn üretim çözümleri hakkında pdf nesil çözümleri biliyorum ve görüntü üretimi için arıyorum.

Herkes çalışma çözümünü/örneğini biliyor mu? Herhangi bir başlangıç ​​noktası çok takdir edilecektir. Burada

cevap

14

Kontrol: Hangi resim üretme konusunda http://weblog.rubyonrails.org/2006/12/19/using-custom-mime-types

Mime::Type.register "image/png", :png 

# then in your controller action 
def show 
    respond_to do |format| 
    format.html { } 
    format.png { } 
    end 
end 

UPD

. HTML sayfanızı resme dönüştürmeniz gerekiyorsa. Sen Orada wkhtmltopdf için pdfkit gibi bir mücevher ama kullanımı kolaydır wkhtmltoimage
http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.10.0_beta2-static-amd64.tar.bz2&can=4&q=

kullanabilirsiniz.

Ayrıca, pdfKIT gem'i kullanabilirsiniz ve bundan sonra PDF'yi PNG ile imagemagick'e dönüştürün. Bu da oldukça kolay. SnapShot kullanmanın

UPD

Istead ben yanıt için, IMGKit gem

https://github.com/csquared/IMGKit

+0

@floor kullanmak sayesinde tercih ederim. Benim hatam, sorumu çok açık değildi. Soru, html'den görüntü oluşturma hakkındaydı. Şimdi açıkladım. – Voldy

+0

html'inizi resme dönüştürmeniz mi gerekiyor? – fl00r

+2

numaralı telefona tekrar bakın. Wkhtmltopdf' için bir mücevher var: https://github.com/siuying/websnap. Ve burada bir örnek http://www.freezzo.com/2010/07/29/how-to-create-pdfs-and-images-from-your-website-in-rails/ – Voldy