0
私は、memesのような画像の上にテキストを生成する小さなレール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")
私はそうのようなコンソールで発生した例外を取得しますmini_magickのドキュメントで、ホワイトスペースに関連するものは表示されませんでした。私は、ImageMagickコアにホワイトスペースを正しく挿入する方法を話していますが、mini_magickラッパーを使用しない方法については、たくさんのリンクがあります。
何か不足していますか、空白の代わりに何らかの置換を行うべきですか?
おかげでそんなに、私はそれが私が見渡せたという単純な何かを知っていました。チャンピオンのように働いた。 :) – nulltek