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.



1892
1893
1894
1895
1896
# File 'lib/rmagick_internal.rb', line 1892

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

Instance Method Details

#fill(img) ⇒ Object

required



1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
# File 'lib/rmagick_internal.rb', line 1898

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