0
나는 밈과 비슷한 이미지 위에 텍스트를 생성하는 작은 레일 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")
그것은 이미지를 생성합니다.
지금은 같은 일을하고 같은 캡션의 공백을 포함 할 때 :
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 바라 보았다 :
m = Meme.new
m.process_image(Img.last.id, "This is", "Totally Weird")
나는과 같이 콘솔에서 제기 예외가 docs for mini_magick 및 whitespacing과 관련된 내용을 보지 못했습니다. ImageMagick 코어를 사용하여 공백을 올바르게 삽입하는 방법에 대해 이야기했지만 mini_magick 래퍼를 사용하지 않는 방법에 대한 이야기가 많이 있습니다.
내가 누락되었거나 공백을 대체 할 수 있어야합니까?
덕분에 너무 많은, 나는 그것이 내가 바라 보는 것을 간단한 것을 알고 있었다. 챔피언처럼 일했습니다. :) – nulltek