class ErrorMessage
¶ ↑
error_message.rb
¶ ↑
Takes an error message and drow an image file of the very message This file is part of RSyntaxTree, which is a ruby port of Andre Eisenbach's excellent program phpSyntaxTree. Copyright (c) 2007-2021 Yoichiro Hasebe <yohasebe@gmail.com> Copyright (c) 2003-2004 Andre Eisenbach <andre@ironcreek.net>
Public Class Methods
new(text, font, font_size, filename, format)
click to toggle source
# File lib/rsyntaxtree/error_message.rb, line 18 def initialize(text, font, font_size, filename, format) @text = text @font = font @font_size = font_size @filename = filename @format = format metrics = img_get_txt_metrics(text, font, font_size, true) @im = Image.new(metrics.width, metrics.height) @gc = Draw.new @gc.font = font @gc.pointsize = font_size @gc.stroke("transparent") @gc.fill("black") @gc.gravity(CenterGravity) @gc.text(0, 0, text) end
Public Instance Methods
draw()
click to toggle source
# File lib/rsyntaxtree/error_message.rb, line 59 def draw @gc.draw(@im) end
img_get_txt_metrics(text, font, font_size, multiline)
click to toggle source
# File lib/rsyntaxtree/error_message.rb, line 38 def img_get_txt_metrics(text, font, font_size, multiline) background = Image.new(500, 250) gc = Draw.new gc.annotate(background, 0, 0, 0, 0, text) do |gc| gc.font = font gc.pointsize = font_size gc.gravity = CenterGravity gc.stroke = 'none' end if multiline metrics = gc.get_multiline_type_metrics(background, text) else metrics = gc.get_type_metrics(background, text) end return metrics end
save()
click to toggle source
# File lib/rsyntaxtree/error_message.rb, line 63 def save @gc.draw(@im) @im.write(@filename + "." + @format) end