Class: HexaPDF::Layout::ImageBox
- Defined in:
- lib/hexapdf/layout/image_box.rb
Overview
An Image box object is used for displaying an image.
It can either be used directly or through the HexaPDF::Composer#image method.
How an image is displayed inside an image box, depends on whether the width
and/or height
of the box has been set:
-
If one of them has been set, the other is adjusted to retain the image ratio.
#>pdf-composer100 composer.image(machu_picchu, width: 40) composer.image(machu_picchu, height: 40)
-
If both have been set, both are used as is.
#>pdf-composer100 composer.image(machu_picchu, width: 100, height: 30)
-
If neither has been set, the image is scaled to fit the current region.
#>pdf-composer100 composer.image(machu_picchu)
Also see: HexaPDF::Content::Canvas#image
Constant Summary
Constants included from Utils
Instance Attribute Summary collapse
-
#image ⇒ Object
readonly
The image that is shown in the box.
Attributes inherited from Box
#fit_result, #height, #properties, #style, #width
Instance Method Summary collapse
-
#empty? ⇒ Boolean
Returns
false
since the image is always drawn if it fits. -
#initialize(image:, **kwargs) ⇒ ImageBox
constructor
Creates a new Image box object for the given
image
argument which needs to be an image object (e.g. returned by HexaPDF::Document::Images#add).
Methods inherited from Box
#content_height, #content_width, create, #draw, #fit, #split, #split_box?, #supports_position_flow?
Constructor Details
#initialize(image:, **kwargs) ⇒ ImageBox
Creates a new Image box object for the given image
argument which needs to be an image object (e.g. returned by HexaPDF::Document::Images#add).
72 73 74 75 |
# File 'lib/hexapdf/layout/image_box.rb', line 72 def initialize(image:, **kwargs) super(**kwargs) @image = image end |
Instance Attribute Details
#image ⇒ Object (readonly)
The image that is shown in the box.
68 69 70 |
# File 'lib/hexapdf/layout/image_box.rb', line 68 def image @image end |
Instance Method Details
#empty? ⇒ Boolean
Returns false
since the image is always drawn if it fits.
78 79 80 |
# File 'lib/hexapdf/layout/image_box.rb', line 78 def empty? false end |