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

Returns a new instance of HatchFill.


1918
1919
1920
1921
1922
# File 'lib/rmagick_internal.rb', line 1918

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

Instance Method Details

#fill(img) ⇒ Object

required


1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
# File 'lib/rmagick_internal.rb', line 1924

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