Я работаю над небольшим рельсом 5.0.0.1, которое генерирует текст поверх изображений, подобных мемам. У меня есть базовый код, написанный в модели как таковой.Написание текста с помощью пробелов с использованием mini_magick и ruby
class Meme < ApplicationRecord
require 'mini_magick'
mount_uploader :attachment, AttachmentUploader
def process_image(img_id, top_text, bottom_text)
image = MiniMagick::Image.open(Img.find(img_id).attachment.current_path)
image.combine_options do |c|
c.gravity 'Center'
c.pointsize '22'
c.draw "text 200,200 #{top_text}"
c.fill 'white'
c.draw "text 100,100 #{bottom_text}"
c.fill 'white'
end
self.attachment = image
self.save
end
end
Когда я бегу это из консоли и выполните следующие действия:
m = Meme.new
m.process_image(Img.last.id, "Good", "Stuff")
Он генерирует изображение с текстом обложил правильно.
Теперь, когда я делаю то же самое, и включают в себя пробелы в титрах, как это:
m = Meme.new
m.process_image(Img.last.id, "This is", "Totally Weird")
я получаю исключение, поднятую в консоли, как так:
mogrify: non-conforming drawing primitive definition `is' @ error/draw.c/DrawImage/3259.
mogrify: non-conforming drawing primitive definition `Weird' @ error/draw.c/DrawImage/3259.
mogrify: non-conforming drawing primitive definition `is' @ error/draw.c/DrawImage/3259.
mogrify: non-conforming drawing primitive definition `Weird' @ error/draw.c/DrawImage/3259.
Я посмотрел на API docs для mini_magick и не видел ничего, связанного с whitespacing. Я вижу, что тонны ссылок говорят о том, как заставить ядро ImageMagick правильно вводить пробелы, но не использовать оболочку mini_magick.
Я что-то упускаю или должен делать какую-то замену пробелов?
спасибо, я знал, что это было что-то простое, что я был с видом. Работал как чемпион. :) – nulltek