7 changed files with 4 additions and 68 deletions
@ -1,27 +0,0 @@ |
|||||||
require 'squib' |
|
||||||
|
|
||||||
# Here's an exmaple of being able to scale a font |
|
||||||
# based on the length of individual string. |
|
||||||
# Handy for making minor font scales to fill text boxes. |
|
||||||
def autoscale(str_array) |
|
||||||
str_array.inject([]) do | memo, str | |
|
||||||
case str.length |
|
||||||
when 0..10 |
|
||||||
memo << 125 |
|
||||||
when 11..20 |
|
||||||
memo << 45 |
|
||||||
else |
|
||||||
memo << 36 |
|
||||||
end |
|
||||||
end |
|
||||||
end |
|
||||||
|
|
||||||
Squib::Deck.new(cards: 3) do |
|
||||||
background color: :white |
|
||||||
|
|
||||||
title = %w(ShortBig Medium_Length_Name Super_Duper_Long_Name) |
|
||||||
text str: title, x: 65, y: 400, align: :center, width: 700, |
|
||||||
font: 'Arial', font_size: autoscale(title), hint: :red |
|
||||||
|
|
||||||
save prefix: 'autoscale_', format: :png |
|
||||||
end |
|
||||||
@ -1,5 +0,0 @@ |
|||||||
# To configure for using SVG as our backend, we need to set this option |
|
||||||
# This will create a series of SVG files that get updated with Squib command |
|
||||||
backend: svg |
|
||||||
# They are auto-saved with this background |
|
||||||
prefix: backend_ |
|
||||||
@ -1,33 +0,0 @@ |
|||||||
require 'squib' |
|
||||||
|
|
||||||
# Our SVGs are auto-saved after each step using the configuration parameters |
|
||||||
Squib::Deck.new(cards: 2, config: 'backend-config.yml') do |
|
||||||
|
|
||||||
# These are all supported by the SVG backend |
|
||||||
background color: :gray |
|
||||||
text str: 'Hello, world!', y: 500, width: 825, font: 'Sans bold 72', align: :center |
|
||||||
rect x: 38, y: 38, width: 750, height: 1050, x_radius: 38, y_radius: 38 |
|
||||||
circle x: 100, y: 400, radius: 25 |
|
||||||
triangle x1: 100, y1: 425, x2: 125, y2: 475, x3: 75, y3: 475 |
|
||||||
line x1: 100, y1: 620, x2: 720, y2: 620, stroke_width: 15.0 |
|
||||||
svg file: 'spanner.svg', x: 100, y: 75 |
|
||||||
png file: 'shiny-purse.png', x: 250, y: 75 # raster can still be used too |
|
||||||
png file: 'shiny-purse.png', x: 250, y: 250, mask: :red # still renders as raster |
|
||||||
# We can still rasterize whenever we want |
|
||||||
save_png prefix: 'backend_' |
|
||||||
|
|
||||||
# And our PDFs will be vectorized . |
|
||||||
save_pdf file: 'backend_vectorized.pdf', gap: 5 |
|
||||||
|
|
||||||
# This one is a known issue. Masking an SVG onto an SVG backend is still buggy. |
|
||||||
# svg file: 'glass-heart.svg', x: 100, y: 200, width: 100, height: 100, mask: :sangria |
|
||||||
|
|
||||||
# This one is, unfortunately, not possible with svg back ends |
|
||||||
# Cairo lacks a perspective transform (currently), so we have to |
|
||||||
# use a striping method, which assumes raster. Fortunately, Cairo |
|
||||||
# has perspective transforms on its roadmap, |
|
||||||
# so perhaps this can be done someday with all vectors. |
|
||||||
# |
|
||||||
# showcase file: 'showcase.png', fill_color: 'white' |
|
||||||
|
|
||||||
end |
|
||||||
Loading…
Reference in new issue