Una interesante cualidad de la clase Draw de RMagick es la posibilidad de definir patrones a través del método pattern.
En primer lugar, lo básico:
[ruby]
require ‘rubygems’
require ‘RMagick’
include Magick
[/ruby]
Ahora definamos el patrón. Para ello, necesitamos cinco parámetros, el nombre, dos números que recomiendo ponerlos a cero (después de unas cuantas pruebas, no he notado diferencias notables) y después las dimensiones del patrón.
[ruby]
draw = Draw.new
draw.pattern(‘circles’, 0, 0, 10, 10) do
draw.stroke ‘none’
draw.fill ‘red’
draw.rectangle 0, 0, 10, 10
draw.stroke ‘LightGreen’
draw.fill ‘blue’
draw.circle 5, 5, 5, 0
end
[/ruby]
Ya, por último, dibujamos un cuadrado y lo plasmamos en una imagen de 300×300.
[ruby]
draw.stroke ‘circles’
draw.stroke_width 25
draw.fill ‘none’
draw.polygon 150,0, 300,150, 150,300, 0,150
img = Image.new 300, 300
draw.draw img
img.write ‘pattern.jpg’
[/ruby]
Obteniéndose el siguiente resultado:

Dibujo con patrón como brocha