1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
# Note that because of the way PDF renders radial gradients in order to get
# solid fill your start circle must be fully inside your end circle.
# Otherwise you will get triangle fill like illustrated in the example below.
require_relative '../example_helper'
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
self.line_width = 10
# Linear Gradients
fill_gradient [0, 250], [100, 150], 'ff0000', '0000ff'
fill_rectangle [0, 250], 100, 100
stroke_gradient [150, 150], [250, 250], '00ffff', 'ffff00'
stroke_rectangle [150, 250], 100, 100
fill_gradient [300, 250], [400, 150], 'ff0000', '0000ff'
stroke_gradient [300, 150], [400, 250], '00ffff', 'ffff00'
fill_and_stroke_rectangle [300, 250], 100, 100
rotate 45, origin: [500, 200] do
stops = { 0 => 'ff0000', 0.6 => '999900', 0.8 => '00cc00', 1 => '4444ff' }
fill_gradient from: [460, 240], to: [540, 160], stops: stops
fill_rectangle [460, 240], 80, 80
end
# Radial gradients
fill_gradient [50, 50], 0, [50, 50], 70.71, 'ff0000', '0000ff'
fill_rectangle [0, 100], 100, 100
stroke_gradient [200, 50], 45, [200, 50], 70.71, '00ffff', 'ffff00'
stroke_rectangle [150, 100], 100, 100
stroke_gradient [350, 50], 45, [350, 50], 70.71, '00ffff', 'ffff00'
fill_gradient [350, 50], 0, [350, 50], 70.71, 'ff0000', '0000ff'
fill_and_stroke_rectangle [300, 100], 100, 100
fill_gradient [500, 100], 50, [500, 0], 0, 'ff0000', '0000ff'
fill_rectangle [450, 100], 100, 100
end
|