Module: PlaceholderImage::Renderer

Defined in:
lib/placeholder_image/renderer.rb,
sig/placeholder_image/renderer.rbs

Overview

Generates a placeholder PNG from dimensions, colors, and label text.

Constant Summary collapse

LABEL_WIDTH_PCT =

Returns:

  • (Float)
0.80
LABEL_HEIGHT_PCT =

Returns:

  • (Float)
0.50

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(width:, height:, bg:, fg:, text:) ⇒ String

Render a placeholder PNG.

Examples:

Renderer.call(width: 320, height: 240, bg: [238, 238, 238], fg: [153, 153, 153], text: "320x240")

Parameters:

  • width (Integer)

    image width in pixels.

  • height (Integer)

    image height in pixels.

  • bg (Array(Integer, Integer, Integer))

    background color as RGB bytes.

  • fg (Array(Integer, Integer, Integer))

    foreground color, used for the border and label.

  • text (String)

    label drawn centered on the image (digits and "x" only).

Returns:

  • (String)

    binary PNG data.



107
108
109
110
111
112
# File 'lib/placeholder_image/renderer.rb', line 107

def call(width:, height:, bg:, fg:, text:)
  canvas = Canvas.new(width, height, bg)
  draw_border(canvas, fg)
  draw_label(canvas, text, fg)
  canvas.to_png
end

Instance Method Details

#self?.callString

Parameters:

  • width: (Integer)
  • height: (Integer)
  • bg: (PlaceholderImage::Renderer::rgb)
  • fg: (PlaceholderImage::Renderer::rgb)
  • text: (String)

Returns:

  • (String)


47
# File 'sig/placeholder_image/renderer.rbs', line 47

def self?.call: (width: Integer, height: Integer, bg: PlaceholderImage::Renderer::rgb, fg: PlaceholderImage::Renderer::rgb, text: String) -> String

#self?.draw_bordervoid

This method returns an undefined value.

Parameters:

  • canvas (PlaceholderImage::Renderer::Canvas)
  • color (PlaceholderImage::Renderer::rgb)


49
# File 'sig/placeholder_image/renderer.rbs', line 49

def self?.draw_border: (PlaceholderImage::Renderer::Canvas canvas, PlaceholderImage::Renderer::rgb color) -> void

#self?.draw_labelvoid

This method returns an undefined value.

Parameters:

  • canvas (PlaceholderImage::Renderer::Canvas)
  • text (String)
  • color (PlaceholderImage::Renderer::rgb)


51
# File 'sig/placeholder_image/renderer.rbs', line 51

def self?.draw_label: (PlaceholderImage::Renderer::Canvas canvas, String text, PlaceholderImage::Renderer::rgb color) -> void