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