Class: Magick::HatchFill

Inherits:
Object
  • Object
show all
Defined in:
lib/rmagick_internal.rb

Overview

Example fill class. Fills the image with the specified background color, then crosshatches with the specified crosshatch color. See Magick::Draw examples.

Instance Method Summary collapse

Constructor Details

#initialize(bgcolor, hatchcolor = 'white', dist = 10) ⇒ HatchFill



1915
1916
1917
1918
1919
# File 'lib/rmagick_internal.rb', line 1915

def initialize(bgcolor, hatchcolor='white', dist=10)
  @bgcolor = bgcolor
   @hatchpixel = Pixel.from_color(hatchcolor)
   @dist = dist
end

Instance Method Details

#fill(img) ⇒ Object

required



1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
# File 'lib/rmagick_internal.rb', line 1921

def fill(img)                # required
  img.background_color = @bgcolor
   img.erase!                # sets image to background color
   pixels = Array.new([img.rows, img.columns].max, @hatchpixel)
   @dist.step((img.columns-1)/@dist*@dist, @dist) do |x|
     img.store_pixels(x,0,1,img.rows,pixels)
   end
   @dist.step((img.rows-1)/@dist*@dist, @dist) do |y|
     img.store_pixels(0,y,img.columns,1,pixels)
   end
end