3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/fractal/generator.rb', line 3
def image(options = {})
options.reverse_merge! default_image_options
klass = options[:island] ? Fractal::IslandGenerator : self
fractal = klass.new options
if options[:alpha]
image = Magick::Image.new(fractal.width, fractal.height) { self.background_color = 'transparent' }
image.import_pixels 0, 0, fractal.width, fractal.height, 'IA', fractal.bytes.collect { |b| [b,b] }.flatten.pack('C*')
else
image = Magick::Image.new(fractal.width, fractal.height)
image.import_pixels 0, 0, fractal.width, fractal.height, 'I', fractal.bytes.pack('C*')
end
options[:low_color] = '000000' if options[:low_color].blank?
options[:high_color] = 'ffffff' if options[:high_color].blank?
image = image.level_colors("##{options[:low_color]}", "##{options[:high_color]}", true)
image
end
|