Class: ErrorMessage
- Inherits:
-
Object
- Object
- ErrorMessage
- Defined in:
- lib/rsyntaxtree/error_message.rb
Overview
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 © 2007-2018 Yoichiro Hasebe <[email protected]> Copyright © 2003-2004 Andre Eisenbach <[email protected]>
Instance Method Summary collapse
- #draw ⇒ Object
- #img_get_txt_metrics(text, font, font_size, multiline) ⇒ Object
-
#initialize(text, font, font_size, filename, format) ⇒ ErrorMessage
constructor
A new instance of ErrorMessage.
- #save ⇒ Object
Constructor Details
#initialize(text, font, font_size, filename, format) ⇒ ErrorMessage
Returns a new instance of ErrorMessage.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# 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 |
Instance Method Details
#draw ⇒ Object
59 60 61 |
# File 'lib/rsyntaxtree/error_message.rb', line 59 def draw @gc.draw(@im) end |
#img_get_txt_metrics(text, font, font_size, multiline) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# 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 ⇒ Object
63 64 65 66 |
# File 'lib/rsyntaxtree/error_message.rb', line 63 def save @gc.draw(@im) @im.write(@filename + "." + @format) end |