Class: KawaiiText::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/kawaii_text/generator.rb

Constant Summary collapse

SUPPORTED_BACKGROUND_FILEFORMATS =
["jpg", "jpeg", "png", "gif"]
BACKGROUND_TO_TEXT_LAYER_WIDTH_RATIO =
1.15
BACKGROUND_TO_TEXT_LAYER_HEIGHT_RATIO =
1.05
PRIMARY_TEXT_LAYER_FILENAME =
"primary"
OFFSET_TEXT_LAYER_FILENAME =
"offset"
MERGED_TEXT_LAYER_FILENAME =
"merged"

Instance Method Summary collapse

Constructor Details

#initialize(text:, font_path: nil, backgrounds_folder: nil, background_filepath: nil, supported_formats: nil, working_directory: nil, primary_text_layer_config: nil, offset_text_layer_config: nil, output_file_name: nil) ⇒ Generator

Returns a new instance of Generator.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kawaii_text/generator.rb', line 12

def initialize text:, font_path: nil, backgrounds_folder: nil, background_filepath: nil, supported_formats: nil, working_directory: nil, primary_text_layer_config: nil, offset_text_layer_config: nil, output_file_name: nil
  @text = text
  @font_path = font_path || get_random_font_from_fonts_folder
  @backgrounds_folder = backgrounds_folder || KawaiiText.backgrounds_dir
  @background_filepath = background_filepath
  @working_directory = working_directory
  @supported_formats = supported_formats || SUPPORTED_BACKGROUND_FILEFORMATS
  @working_directory = working_directory || "."
  @output_file_name = output_file_name || "output"

  @primary_text_layer_config = primary_text_layer_config || PrimaryTextLayerConfig.default
  @offset_text_layer_config = offset_text_layer_config || OffsetTextLayerConfig.default

  @background_filepath ||= get_random_background_from_backgrounds_folder
  @background_image = open_image @background_filepath

  generate_primary_text_layer
  generate_offset_text_layer
  merge_text_layers
  merge_text_and_background_layers
  cleanup
end