2012-04-24 17 views
6

Przykład Mam obraz.Rails/Ruby - Jaki klejnot może stworzyć obraz z tekstem?

enter image description here

w moim kontrolera I przykład mieć @name = "Jon"

Teraz chcę utworzyć nowy obraz jako obraz dostałem tylko z nazwy „Jon” w środku obrazu. Chcę móc określić rozmiar czcionki, kolor i rodzinę czcionek, które powinny zostać użyte oraz położenie tekstu.

enter image description here

Co gem są w stanie to zrobić?

+2

że będę używać ImageMagick - To tylko ból do zainstalowania :( –

+0

Imagemagick przez Rmagick jest prawdopodobnie (tylko?) sposób na pójście.Tak, instalacja wszystko poprawnie jest zwykle ból, ale c'est la vie. –

+0

Oto to samo pytanie z odpowiedzią szablon: [http://stackoverflow.com/questions/1704670/ruby-rails-image-processing-libraries][1] [1]: http://stackoverflow.com/questions/1704670/ruby-rails-image-processing-libraries – makaroni4

Odpowiedz

8

Podstawowe rozwiązanie rmagick nie jest takie złe, 6 linii. Poniższy fragment przedstawia żółty prostokąt z tekstem w środku. Możesz eksperymentować z czcionką i rozmiarem punktu. Centrum jest tam, bo myślałem, że wygląda lepiej w środku.

require 'RMagick' 

canvas = Magick::Image.new(300, 100){self.background_color = 'yellow'} 
gc = Magick::Draw.new 
gc.pointsize(50) 
gc.text(30,70, "TEXT".center(14)) 

gc.draw(canvas) 
canvas.write('tst.png') 

pojawia się wymóg, można również przejść. To powinno pomóc.

+0

@lulalala Zaktualizowałem rozwiązanie, spójrz na to. – 123

+0

Wygląda na to, że próbuje zaimplementować ten fragment, z podstawową instalacją imagemagick (przez brew) i rmagic gem na mac, powoduje błąd czcionki: 'nie można odczytać czcionki (null)' – andrhamm

+0

brew install gs powinien pomóc rozwiązać ten problem – breakdown1986

2

jestem w stanie wypowiedzieć się, ale w przypadku gdy ktoś inny jest uruchomiony na ten sam problem jak @andrhamm [nie może odczytać czcionki (null)], należy zainstalować Ghostscript i spróbuj ponownie

Powiązane problemy