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.



1835
1836
1837
1838
1839
# File 'lib/rmagick_internal.rb', line 1835

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

Instance Method Details

#fill(img) ⇒ Object

required



1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
# File 'lib/rmagick_internal.rb', line 1841

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