Skip to content
Snippets Groups Projects
rmagick.rb 1006 B
Newer Older
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