require 'fox16' require 'RMagick' include Fox class RMagickExample < FXMainWindow def initialize(app) super(app, "RMagick Example", :width => 800, :height => 600) # Construct an ImageList dippy = Magick::ImageList.new(File.join("icons", "dippy.png")) # Manipulate the image text = Magick::Draw.new text.annotate(dippy, 0, 0, 0, 60, "Dippy Duck") do self.gravity = Magick::SouthGravity self.pointsize = 24 self.stroke = 'transparent' self.fill = '#0000A9' self.font_weight = Magick::BoldWeight end # Extract image data and use it to construct FXPNGImage dippy_image = FXPNGImage.new(app, dippy.to_blob) # Display it inside an FXImageFrame FXImageFrame.new(self, dippy_image, :opts => LAYOUT_FILL) end def create super show(PLACEMENT_SCREEN) end end if __FILE__ == $0 FXApp.new("RMagick Example", "FXRuby") do |app| RMagickExample.new(app) app.create app.run end end