2 changed files with 28 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||||||
|
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 |
||||||
Loading…
Reference in new issue