xtd - Reference Guide  0.2.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Classes | List of all members
xtd::drawing::image Class Reference

#include <image.h>

Definition

An abstract base class that provides functionality for the bitmap and metafile descended classes.

class drawing_export_ image : public xtd::object
Inheritance
xtd::objectxtd::drawing::image
Namespace
xtd::drawing
Library
xtd.drawing
Remarks
To draw an image on a Windows Form, you should use one of the draw_image methods.
Examples:
fill_rectangle.cpp.

Fields

static image empty
 Represent an empty xtd::drawing::image. More...
 

Properties

int32_t flags () const
 Gets attribute flags for the pixel data of this xtd::drawing::image. More...
 
std::vector< guidframe_dimentions_list () const
 Gets an array of GUIDs that represent the dimensions of frames within this image. More...
 
intptr_t handle () const
 Gets the handle of this image. More...
 
int32_t height () const
 Gets the height, in pixels, of this image. More...
 
float horizontal_resolution () const
 Gets the horizontal resolution, in pixels per inch, of this image. More...
 
imaging::color_palette palette () const
 Gets the color palette used for this image. More...
 
void palette (const imaging::color_palette &palette)
 Sets the color palette used for this image. More...
 
const size_fphysical_dimension () const
 Gets the width and height of this image. More...
 
imaging::pixel_format pixel_format () const
 Gets the pixel format for this image. More...
 
const std::vector< int32_t > & property_id_list () const
 Gets IDs of the property items stored in this image. More...
 
const std::vector< imaging::property_item > & property_items () const
 Gets all the property items (pieces of metadata) stored in this image. More...
 
const imaging::image_formatraw_format () const
 Gets the file format of this image. More...
 
const drawing::sizesize () const
 Gets the width and height, in pixels, of this image. More...
 
const std::anytag () const
 Gets an object that provides additional data about the image. More...
 
void tag (const std::any &tag)
 Sets an object that provides additional data about the image. More...
 
float vertical_resolution () const
 Gets the vertical resolution, in pixels per inch, of this image. More...
 
int32_t width () const
 Gets the width, in pixels, of this image. More...
 

Methods

graphics create_graphics ()
 Creates the xtd::drawing::graphics for the image. More...
 
xtd::drawing::rectangle_f get_bounds (xtd::drawing::graphics_unit page_unit) const
 Gets the bounds of the image in the specified unit. More...
 
xtd::drawing::imaging::encoder_parameters get_encoder_parameter_list (xtd::guid encoder) const
 Returns information about the parameters supported by the specified image encoder. More...
 
size_t get_frame_count (const xtd::drawing::imaging::frame_dimension &dimension) const
 Returns the number of frames of the specified dimension. More...
 
xtd::drawing::imaging::property_item get_property_item (int32_t propid)
 Gets the specified property item from this xtd::drawing::image. More...
 
xtd::drawing::image get_thmbnail_image (int32_t thumb_width, int32_t thunb_height)
 Returns a thumbnail for this xtd::drawing::image. More...
 
void rotate_flip (xtd::drawing::rotate_flip_type rotate_flip_type)
 Rotates, flips, or rotates and flips the xtd::drawing::image. More...
 
void save (const xtd::ustring &filename) const
 Saves this xtd::drawing::image to the specified file or stream. More...
 
void save (const xtd::ustring &filename, const xtd::drawing::imaging::image_format &format) const
 Saves this xtd::drawing::image to the specified file in the specified format. More...
 
void save (std::ostream &stream, const xtd::drawing::imaging::image_format &format) const
 Saves this image to the specified stream in the specified format. More...
 
static image from_file (const xtd::ustring &filename)
 Creates an image from the specified file. More...
 
static bitmap from_hbitmap (intptr_t hbitmap)
 Creates a xtd::drawing::bitmap from a handle to a GDI bitmap. More...
 
static image from_stream (std::istream &stream)
 Creates an xtd::drawing::image from the specified data stream. More...
 
static image from_data (const char *const *bits)
 Creates an xtd::drawing::image from the specified data pointer. More...
 
static int32_t get_pixel_format_size (xtd::drawing::imaging::pixel_format pixfmt)
 Returns the color depth, in number of bits per pixel, of the specified pixel format. More...
 
static bool is_alpha_pixel_format (xtd::drawing::imaging::pixel_format pixfmt)
 Returns a value that indicates whether the pixel format for this xtd::drawing::image contains alpha information. More...
 
static bool is_canonical_pixel_format (xtd::drawing::imaging::pixel_format pixfmt)
 Returns a value that indicates whether the pixel format is 32 bits per pixel. More...
 
static bool is_extended_pixel_format (xtd::drawing::imaging::pixel_format pixfmt)
 Returns a value that indicates whether the pixel format is 64 bits per pixel. More...
 

Additional Inherited Members

- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
template<typename object_t >
std::unique_ptr< object_t > memberwise_clone () const
 Gets the type of the current instance. More...
 
virtual xtd::ustring to_string () const noexcept
 Returns a sxd::ustring that represents the current object. More...
 
- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 

Member Function Documentation

◆ flags()

int32_t xtd::drawing::image::flags ( ) const

Gets attribute flags for the pixel data of this xtd::drawing::image.

Returns
The integer representing a bitwise combination of xtd::drawing::imaging::image_flags for this xtd::drawing::image.
Remarks
The integer value returned from this method will correspond to a sum of image_flags, as described in the following table.
image_flag value Integer representation
image_flags_none 0
Iimage_flags_scalable 1
Iimage_flags_has_alpha 2
Iimage_flags_has_translucent 4
Iimage_flags_partially_scalable 8
Iimage_flags_color_space_rgb 16
Iimage_flags_color_space_cmyk 32
Iimage_flags_color_space_gray 64
Iimage_flags_color_space_ycbr 128
Iimage_flags_color_space_ycck 256
Iimage_flags_has_real_dpi 4096
Iimage_flags_has_real_pixel_size 8192
Iimage_flags_read_only 65536
Iimage_flags_caching 131072
For example, if the Flags property for an image returned 77960, the image_flags for the image would be read_only, has_real_dpi, has_real_pixel_size, color_space_ycbcr, and partially_scalable.

◆ frame_dimentions_list()

std::vector<guid> xtd::drawing::image::frame_dimentions_list ( ) const

Gets an array of GUIDs that represent the dimensions of frames within this image.

Returns
An array of GUIDs that specify the dimensions of frames within this xtd::drawing::image from most significant to least significant.
Remarks
This method returns information about multiple-frame images, which come in two styles: multiple page and multiple resolution.
A multiple-page image is an image that contains more than one image. Each page contains a single image (or frame). These pages (or images, or frames) are typically displayed in succession to produce an animated sequence, such as an animated .gif file.
A multiple-resolution image is an image that contains more than one copy of an image at different resolutions. This is commonly used by MIP mapping where the displayed image size determines the resolution of the image used for drawing. GDI+ can support an arbitrary number of pages (or images, or frames), as well as an arbitrary number of resolutions. The defined dimensions are properties of the frame_dimension.

◆ handle()

intptr_t xtd::drawing::image::handle ( ) const

Gets the handle of this image.

Returns
The handle of this image.

◆ height()

int32_t xtd::drawing::image::height ( ) const

Gets the height, in pixels, of this image.

Returns
The height, in pixels, of this image.
Examples:
colored_tab_pages.cpp.

◆ horizontal_resolution()

float xtd::drawing::image::horizontal_resolution ( ) const

Gets the horizontal resolution, in pixels per inch, of this image.

Returns
The horizontal resolution, in pixels per inch, of this image.

◆ palette() [1/2]

imaging::color_palette xtd::drawing::image::palette ( ) const

Gets the color palette used for this image.

Returns
An xtd::drawing::imaging::color_palette that represents the color palette used for this image.
Remarks
This property returns a copy of the xtd::drawing::imaging::color_palette object used by this xtd::drawing::image.

◆ palette() [2/2]

void xtd::drawing::image::palette ( const imaging::color_palette palette)

Sets the color palette used for this image.

Parameters
paletteA color_palette that represents the color palette used for this image.

◆ physical_dimension()

const size_f& xtd::drawing::image::physical_dimension ( ) const

Gets the width and height of this image.

Returns
A xtd::drawing::size_f structure that represents the width and height of this image.
Remarks
If the image is a bitmap, the width and height are returned in pixels. If the image is a metafile, the width and height are returned in 0.01 millimeter units.

◆ pixel_format()

imaging::pixel_format xtd::drawing::image::pixel_format ( ) const

Gets the pixel format for this image.

Returns
A pixel_format that represents the pixel format for this image.

◆ property_id_list()

const std::vector<int32_t>& xtd::drawing::image::property_id_list ( ) const

Gets IDs of the property items stored in this image.

Returns
An array of the property IDs, one for each property item stored in this image.
Remarks
If the image has no property items or if the image format does not support property items, the property_id_list property returns an empty array (that is, an array of length zero).

◆ property_items()

const std::vector<imaging::property_item>& xtd::drawing::image::property_items ( ) const

Gets all the property items (pieces of metadata) stored in this image.

Returns
An array of xtd::drawing::imaging::property_item objects, one for each property item stored in the image.
Remarks
IIf the image has no property items or if the image format does not support property items, property_items returns an empty array (that is, an array of length zero).

◆ raw_format()

const imaging::image_format& xtd::drawing::image::raw_format ( ) const

Gets the file format of this image.

Returns
The image_format that represents the file format of this image.

◆ size()

const drawing::size& xtd::drawing::image::size ( ) const

Gets the width and height, in pixels, of this image.

Returns
A size structure that represents the width and height, in pixels, of this image.

◆ tag() [1/2]

const std::any& xtd::drawing::image::tag ( ) const

Gets an object that provides additional data about the image.

Returns
The object that provides additional data about the image.

◆ tag() [2/2]

void xtd::drawing::image::tag ( const std::any tag)

Sets an object that provides additional data about the image.

Parameters
tagThe object that provides additional data about the image.

◆ vertical_resolution()

float xtd::drawing::image::vertical_resolution ( ) const

Gets the vertical resolution, in pixels per inch, of this image.

Returns
The vertical resolution, in pixels per inch, of this image.

◆ width()

int32_t xtd::drawing::image::width ( ) const

Gets the width, in pixels, of this image.

Returns
The width, in pixels, of this image.
Examples:
colored_tab_pages.cpp.

Member Data Documentation

◆ empty

image xtd::drawing::image::empty
static

Represent an empty xtd::drawing::image.


The documentation for this class was generated from the following file: