Sha256: 020e47d5bf2f02e23219fca4d3190066baa52099c5d75012cface1dd68f51cb5

Contents?: true

Size: 1.38 KB

Versions: 6

Compression:

Stored size: 1.38 KB

Contents

require 'rvg/rvg'

rvg = Magick::RVG.new(400, 120) do |canvas|
  canvas.desc = 'Example Skew - Show effects of skewX and skewY'
  canvas.background_fill = 'white'

  canvas.g.styles(fill: 'none', stroke: 'black', stroke_width: 3) do |grp|
    # Draw the axes of the original coordinate system
    grp.line(0, 1.5, 400, 1.5)
    grp.line(1.5, 0, 1.5, 120)
  end

  # Establisha new coordinate system whose origin is at (30,30)
  # in the initial coord. system and which is skewed in X by 30 degrees.
  canvas.g.translate(30, 30) do |grp|
    grp.skewX(30) do |grp2|
      grp2.g.styles(fill: 'none', stroke: 'red', stroke_width: 3) do |grp3|
        grp3.line(0, 0, 50, 0)
        grp3.line(0, 0, 0, 50)
      end
      grp.text(0, 0, 'ABC (skewX)').styles(font_size: 20, fill: 'blue', font_family: 'Verdana', font_weight: 'normal', font_style: 'normal')
    end
  end

  # Establish a new coordinate system whose origin is at (200,30)
  # in the initial coord. system and which is skewed in Y by 30 degrees.
  canvas.g.translate(200, 30) do |grp|
    grp.skewY(30) do |grp2|
      grp2.g.styles(fill: 'none', stroke: 'red', stroke_width: 3) do |grp3|
        grp3.line(0, 0, 50, 0)
        grp3.line(0, 0, 0, 50)
      end
      grp.text(0, 0, 'ABC (skewY)').styles(font_size: 20, fill: 'blue', font_family: 'Verdana', font_weight: 'normal', font_style: 'normal')
    end
  end
end

rvg.draw.write('Skew.gif')

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rmagick-4.1.0.rc2 doc/ex/Skew.rb
rmagick-4.1.0.rc1 doc/ex/Skew.rb
rmagick-4.0.0 doc/ex/Skew.rb
rmagick-3.2.0 doc/ex/Skew.rb
rmagick-3.1.0 doc/ex/Skew.rb
rmagick-3.0.0 doc/ex/Skew.rb