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.
xtd.drawing

## Classes

class  xtd::drawing::bitmap
Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A bitmap is an object used to work with images defined by pixel data. More...

class  xtd::drawing::brush
Defines objects used to fill the interiors of graphical shapes such as rectangles, ellipses, pies, polygons, and paths. More...

class  xtd::drawing::brushes
brushes for all the standard colors. This class cannot be inherited. More...

class  xtd::drawing::color
Represents an ARGB (alpha, red, green, blue) color. More...

class  xtd::drawing::colors
colors for all the standard colors. This class cannot be inherited. More...

Encapsulates a xtd::drawing::brush with a conical gradient. This class cannot be inherited. More...

class  xtd::drawing::drawing2d::graphics_path
Defines an object used to draw lines and curves. This class cannot be inherited. More...

class  xtd::drawing::drawing2d::graphics_state
Represents the state of a xtd::drawing::graphics object. This object is returned by a call to the xtd::drawing::graphics::save() methods. This class cannot be inherited. More...

class  xtd::drawing::drawing2d::hatch_brush
Defines a rectangular xtd::drawing::brush with a hatch style, a foreground color, and a background color. This class cannot be inherited. More...

Encapsulates a xtd::drawing::brush with a linear gradient. This class cannot be inherited. More...

class  xtd::drawing::drawing2d::matrix
Encapsulates a 3-by-3 affine matrix that represents a geometric transform. This class cannot be inherited. More...

Encapsulates a xtd::drawing::brush with a radial gradient. This class cannot be inherited. More...

class  xtd::drawing::font
Defines a particular format for text, including font face, size, and style attributes. This class cannot be inherited. More...

class  xtd::drawing::font_family
Defines a group of type faces having a similar basic design and certain variations in styles. This class cannot be inherited. More...

class  xtd::drawing::graphics
Defines an object used to draw lines and curves. This class cannot be inherited. More...

class  xtd::drawing::icon
Represents a Windows icon, which is a small bitmap image that is used to represent an object. Icons can be thought of as transparent bitmaps, although their size is determined by the system. More...

class  xtd::drawing::image
An abstract base class that provides functionality for the bitmap and metafile descended classes. More...

class  xtd::drawing::imaging::color_palette
Defines an array of colors that make up a color palette. The colors are 32-bit ARGB colors. Not inheritable. More...

class  xtd::drawing::imaging::encoder
An Encoder object encapsulates a globally unique identifier (GUID) that identifies the category of an image encoder parameter. More...

class  xtd::drawing::imaging::encoder_parameter
Used to pass a value, or an array of values, to an image encoder. More...

class  xtd::drawing::imaging::encoder_parameters
Encapsulates an array of EncoderParameter objects. More...

class  xtd::drawing::imaging::frame_dimension
Provides properties that get the frame dimensions of an image. Not inheritable. More...

class  xtd::drawing::imaging::image_format
Specifies the file format of the image. Not inheritable. More...

class  xtd::drawing::imaging::property_item
Encapsulates a metadata property to be included in an image file. Not inheritable. More...

class  xtd::drawing::pen
Defines an object used to draw lines and curves. This class cannot be inherited. More...

class  xtd::drawing::pens
pens for all the standard colors. This class cannot be inherited. More...

class  xtd::drawing::point
Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane. More...

class  xtd::drawing::point_f
Represents an ordered pair of floating-point x- and y-coordinates that defines a point in a two-dimensional plane. More...

class  xtd::drawing::rectangle
Stores a set of four integers that represent the location and size of a rectangle. More...

class  xtd::drawing::rectangle_f
Stores a set of four floating-point numbers that represent the location and size of a rectangle. For more advanced region functions, use a xtd::drawing::region object. More...

class  xtd::drawing::region
Describes the interior of a graphics shape composed of rectangles and paths. This class cannot be inherited. More...

class  xtd::drawing::size
Stores an ordered pair of integers, which specify a height and width. More...

class  xtd::drawing::size_f
Stores an ordered pair of floating-point, which specify a height and width. More...

class  xtd::drawing::solid_brush
Defines a xtd::drawing::brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths. This class cannot be inherited. More...

class  xtd::drawing::string_format
Encapsulates text layout information (such as alignment, orientation and tab stops) display manipulations (such as ellipsis insertion and national digit substitution) and OpenType features. This class cannot be inherited. More...

class  xtd::drawing::system_brushes
Each property of the xtd::drawing::system_brushes class is a xtd::drawing::solid_brush that is the color of a Windows display element. More...

class  xtd::drawing::system_colors
Each property of the xtd::drawing::system_colors class is a xtd::drawing::color structure that is the color of a Windows display element. More...

class  xtd::drawing::system_fonts
Specifies the fonts used to display text in Windows display elements. More...

class  xtd::drawing::system_icons
Each property of the xtd::drawing::system_icons class is an xtd::drawing::icon object for Windows system-wide icons. This class cannot be inherited. More...

class  xtd::drawing::system_images
Each property of the xtd::drawing::system_images class is an xtd::drawing::image object for Windows system-wide images. This class cannot be inherited. More...

class  xtd::drawing::system_pens
Each property of the xtd::drawing::system_pens class is a xtd::drawing::xtd::drawing::pen that is the color of a Windows display element and that has a width of 1 pixel. More...

class  xtd::drawing::text::font_collection
Provides a base class for installed and private font collections. More...

class  xtd::drawing::text::installed_font_collection
Represents the fonts installed on the system. This class cannot be inherited. More...

class  xtd::drawing::text::private_font_collection
Provides a collection of font families built from font files that are provided by the client application. More...

class  xtd::drawing::texture_brush
Each property of the xtd::drawing::texture_brush class is a xtd::drawing::brush object that uses an image to fill the interior of a shape. This class cannot be inherited. More...

## Enumerations

enum  xtd::drawing::drawing2d::compositing_mode {
xtd::drawing::drawing2d::compositing_mode::source_over = 0,
xtd::drawing::drawing2d::compositing_mode::source_copy = 1
}
Specifies how the source colors are combined with the background colors. More...

enum  xtd::drawing::drawing2d::compositing_quality {
xtd::drawing::drawing2d::compositing_quality::invalid = -1,
xtd::drawing::drawing2d::compositing_quality::default_value = 0,
xtd::drawing::drawing2d::compositing_quality::high_speed = 1,
xtd::drawing::drawing2d::compositing_quality::high_quality = 2,
xtd::drawing::drawing2d::compositing_quality::gamma_corrected = 3,
xtd::drawing::drawing2d::compositing_quality::assume_linear = 4
}
Specifies the quality level to use during compositing. More...

enum  xtd::drawing::copy_pixel_operation {
xtd::drawing::copy_pixel_operation::blackness = 66,
xtd::drawing::copy_pixel_operation::capture_blt = 1073741824,
xtd::drawing::copy_pixel_operation::destination_invert = 5570569,
xtd::drawing::copy_pixel_operation::merge_copy = 12583114,
xtd::drawing::copy_pixel_operation::merge_paint = 12255782,
xtd::drawing::copy_pixel_operation::no_mirror_bitmap = -2147483648,
xtd::drawing::copy_pixel_operation::not_source_copy = 3342344,
xtd::drawing::copy_pixel_operation::not_source_erase = 1114278,
xtd::drawing::copy_pixel_operation::pat_copy = 15728673,
xtd::drawing::copy_pixel_operation::pat_invert = 5898313,
xtd::drawing::copy_pixel_operation::pat_paint = 16452105,
xtd::drawing::copy_pixel_operation::source_and = 8913094,
xtd::drawing::copy_pixel_operation::source_copy = 13369376,
xtd::drawing::copy_pixel_operation::source_erase = 4457256,
xtd::drawing::copy_pixel_operation::source_invert = 6684742,
xtd::drawing::copy_pixel_operation::source_paint = 15597702,
xtd::drawing::copy_pixel_operation::whiteness = 16711778
}
Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color. More...

enum  xtd::drawing::dash_style {
xtd::drawing::dash_style::solid = 0,
xtd::drawing::dash_style::dash,
xtd::drawing::dash_style::dot,
xtd::drawing::dash_style::dash_dot,
xtd::drawing::dash_style::dash_dot_dot,
xtd::drawing::dash_style::custom
}
Specifies the style of dashed lines drawn with a xtd::drawing::pen object. More...

enum  xtd::drawing::imaging::encoder_parameter_value_type {
xtd::drawing::imaging::encoder_parameter_value_type::value_type_byte = 1,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_ascii = 2,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_short = 3,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_long = 4,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_rational = 5,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_long_range = 6,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_undefined = 7,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_rational_range = 8,
xtd::drawing::imaging::encoder_parameter_value_type::value_type_rational_pointer = 9
}
Specifies the data type of the xtd::drawing::imaging::encoder_parameter used with the xtd::drawing::image::save or xtd::drawing::image::save_add method of an image. More...

enum  xtd::drawing::drawing2d::fill_mode {
xtd::drawing::drawing2d::fill_mode::alternate,
xtd::drawing::drawing2d::fill_mode::winding
}
Specifies how the interior of a closed path is filled. More...

enum  xtd::drawing::drawing2d::flush_intention {
xtd::drawing::drawing2d::flush_intention::flush = 0,
xtd::drawing::drawing2d::flush_intention::sync = 1
}
Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible. More...

enum  xtd::drawing::font_style {
xtd::drawing::font_style::regular = 0,
xtd::drawing::font_style::bold = 0b1,
xtd::drawing::font_style::italic = 0b10,
xtd::drawing::font_style::underline = 0b100,
xtd::drawing::font_style::strikeout = 0b1000
}
Specifies style information applied to text. This enumeration has a flags attribute that allows a bitwise combination of its member values. More...

enum  xtd::drawing::text::generic_font_families {
xtd::drawing::text::generic_font_families::serif = 0,
xtd::drawing::text::generic_font_families::sans_serif = 1,
xtd::drawing::text::generic_font_families::monospace = 2
}
Specifies a generic font_family object. More...

enum  xtd::drawing::graphics_unit {
xtd::drawing::graphics_unit::world = 0,
xtd::drawing::graphics_unit::display = 1,
xtd::drawing::graphics_unit::pixel = 2,
xtd::drawing::graphics_unit::point = 3,
xtd::drawing::graphics_unit::inch = 4,
xtd::drawing::graphics_unit::document = 5,
xtd::drawing::graphics_unit::millimeter = 6
}
Specifies the unit of measure for the given data. This enumeration has a flags attribute that allows a bitwise combination of its member values. More...

enum  xtd::drawing::drawing2d::hatch_style {
xtd::drawing::drawing2d::hatch_style::horizontal = 0,
xtd::drawing::drawing2d::hatch_style::vertical = 1,
xtd::drawing::drawing2d::hatch_style::forward_diagonal = 2,
xtd::drawing::drawing2d::hatch_style::backward_diagonal = 3,
xtd::drawing::drawing2d::hatch_style::cross = 4,
xtd::drawing::drawing2d::hatch_style::diagonal_cross = 5,
xtd::drawing::drawing2d::hatch_style::percent_05 = 6,
xtd::drawing::drawing2d::hatch_style::percent_10 = 7,
xtd::drawing::drawing2d::hatch_style::percent_20 = 8,
xtd::drawing::drawing2d::hatch_style::percent_25 = 9,
xtd::drawing::drawing2d::hatch_style::percent_30 = 10,
xtd::drawing::drawing2d::hatch_style::percent_40 = 11,
xtd::drawing::drawing2d::hatch_style::percent_50 = 12,
xtd::drawing::drawing2d::hatch_style::percent_60 = 13,
xtd::drawing::drawing2d::hatch_style::percent_70 = 14,
xtd::drawing::drawing2d::hatch_style::percent_75 = 15,
xtd::drawing::drawing2d::hatch_style::percent_80 = 16,
xtd::drawing::drawing2d::hatch_style::percent_90 = 17,
xtd::drawing::drawing2d::hatch_style::light_downward_diagonal = 18,
xtd::drawing::drawing2d::hatch_style::light_upward_diagonal = 19,
xtd::drawing::drawing2d::hatch_style::dark_downward_diagonal = 20,
xtd::drawing::drawing2d::hatch_style::dark_upward_diagonal = 21,
xtd::drawing::drawing2d::hatch_style::wide_downward_diagonal = 22,
xtd::drawing::drawing2d::hatch_style::wide_upward_diagonal = 23,
xtd::drawing::drawing2d::hatch_style::light_vertical = 24,
xtd::drawing::drawing2d::hatch_style::light_horizontal = 25,
xtd::drawing::drawing2d::hatch_style::narrow_vertical = 26,
xtd::drawing::drawing2d::hatch_style::narrow_horizontal = 27,
xtd::drawing::drawing2d::hatch_style::dark_vertical = 28,
xtd::drawing::drawing2d::hatch_style::dark_horizontal = 29,
xtd::drawing::drawing2d::hatch_style::dashed_downward_diagonal = 30,
xtd::drawing::drawing2d::hatch_style::dashed_upward_diagonal = 31,
xtd::drawing::drawing2d::hatch_style::dashed_horizontal = 32,
xtd::drawing::drawing2d::hatch_style::dashed_vertical = 33,
xtd::drawing::drawing2d::hatch_style::small_confetti = 34,
xtd::drawing::drawing2d::hatch_style::large_confetti = 35,
xtd::drawing::drawing2d::hatch_style::zig_zag = 36,
xtd::drawing::drawing2d::hatch_style::wave = 37,
xtd::drawing::drawing2d::hatch_style::diagonal_brick = 38,
xtd::drawing::drawing2d::hatch_style::horizontal_brick = 39,
xtd::drawing::drawing2d::hatch_style::weave = 40,
xtd::drawing::drawing2d::hatch_style::plaid = 41,
xtd::drawing::drawing2d::hatch_style::divot = 42,
xtd::drawing::drawing2d::hatch_style::dotted_grid = 43,
xtd::drawing::drawing2d::hatch_style::dotted_diamond = 44,
xtd::drawing::drawing2d::hatch_style::shingle = 45,
xtd::drawing::drawing2d::hatch_style::trellis = 46,
xtd::drawing::drawing2d::hatch_style::sphere = 47,
xtd::drawing::drawing2d::hatch_style::small_grid = 48,
xtd::drawing::drawing2d::hatch_style::small_checker_board = 49,
xtd::drawing::drawing2d::hatch_style::large_checker_board = 50,
xtd::drawing::drawing2d::hatch_style::outlined_diamond = 51,
xtd::drawing::drawing2d::hatch_style::solid_diamond = 52,
xtd::drawing::drawing2d::hatch_style::wide_checker_board = 53
}
Specifies the different patterns available for xtd::drawing::drawing2d::hatch_brush objects. More...

enum  xtd::drawing::text::hotkey_prefix {
xtd::drawing::text::hotkey_prefix::none = 0,
xtd::drawing::text::hotkey_prefix::show = 1,
xtd::drawing::text::hotkey_prefix::hide = 2
}
Specifies the type of display for hot-key prefixes that relate to text. More...

enum  xtd::drawing::imaging::image_flags {
xtd::drawing::imaging::image_flags::none = 0,
xtd::drawing::imaging::image_flags::scalable = 0b1,
xtd::drawing::imaging::image_flags::has_alpha = 0b10,
xtd::drawing::imaging::image_flags::has_translucent = 0b100,
xtd::drawing::imaging::image_flags::partially_scalable = 0b1000,
xtd::drawing::imaging::image_flags::color_space_rgb = 0b10000,
xtd::drawing::imaging::image_flags::color_space_cmyk = 0b100000,
xtd::drawing::imaging::image_flags::color_space_gray = 0b1000000,
xtd::drawing::imaging::image_flags::color_space_ycbcr = 0b10000000,
xtd::drawing::imaging::image_flags::color_space_ycck = 0b100000000,
xtd::drawing::imaging::image_flags::has_real_dpi = 0b1000000000000,
xtd::drawing::imaging::image_flags::has_real_pixel_size = 0b10000000000000,
xtd::drawing::imaging::image_flags::caching = 0b100000000000000000
}
Specifies the attributes of the pixel data contained in an xtd::drawing::image object. The xtd::drawing:iImage::flags property returns a member of this enumeration. More...

enum  xtd::drawing::drawing2d::interpolation_mode {
xtd::drawing::drawing2d::interpolation_mode::invalid = -1,
xtd::drawing::drawing2d::interpolation_mode::default_value = 0,
xtd::drawing::drawing2d::interpolation_mode::low = 1,
xtd::drawing::drawing2d::interpolation_mode::hight = 2,
xtd::drawing::drawing2d::interpolation_mode::bilinear = 3,
xtd::drawing::drawing2d::interpolation_mode::bicubic = 4,
xtd::drawing::drawing2d::interpolation_mode::nearest_neighbor = 5,
xtd::drawing::drawing2d::interpolation_mode::high_quality_bilinear = 6,
xtd::drawing::drawing2d::interpolation_mode::high_quality_bicubic = 7
}
The xtd::drawing::drawing2d::interpolation_mode enumeration specifies the algorithm that is used when images are scaled or rotated. More...

enum  xtd::drawing::known_color {
xtd::drawing::known_color::active_border = 1,
xtd::drawing::known_color::active_caption,
xtd::drawing::known_color::active_caption_text,
xtd::drawing::known_color::app_workspace,
xtd::drawing::known_color::control,
xtd::drawing::known_color::control_dark,
xtd::drawing::known_color::control_dark_dark,
xtd::drawing::known_color::control_light,
xtd::drawing::known_color::control_light_light,
xtd::drawing::known_color::control_text,
xtd::drawing::known_color::desktop,
xtd::drawing::known_color::gray_text,
xtd::drawing::known_color::highlight,
xtd::drawing::known_color::highlight_text,
xtd::drawing::known_color::hot_track,
xtd::drawing::known_color::inactive_border,
xtd::drawing::known_color::inactive_caption,
xtd::drawing::known_color::inactive_caption_text,
xtd::drawing::known_color::info,
xtd::drawing::known_color::info_text,
xtd::drawing::known_color::scroll_bar,
xtd::drawing::known_color::window,
xtd::drawing::known_color::window_frame,
xtd::drawing::known_color::window_text,
xtd::drawing::known_color::transparent,
xtd::drawing::known_color::alice_blue,
xtd::drawing::known_color::antique_white,
xtd::drawing::known_color::aqua,
xtd::drawing::known_color::aquamarine,
xtd::drawing::known_color::azure,
xtd::drawing::known_color::beige,
xtd::drawing::known_color::bisque,
xtd::drawing::known_color::black,
xtd::drawing::known_color::blanched_almond,
xtd::drawing::known_color::blue,
xtd::drawing::known_color::blue_violet,
xtd::drawing::known_color::brown,
xtd::drawing::known_color::burly_wood,
xtd::drawing::known_color::chartreuse,
xtd::drawing::known_color::chocolate,
xtd::drawing::known_color::coral,
xtd::drawing::known_color::cornflower_blue,
xtd::drawing::known_color::cornsilk,
xtd::drawing::known_color::crimson,
xtd::drawing::known_color::cyan,
xtd::drawing::known_color::dark_blue,
xtd::drawing::known_color::dark_cyan,
xtd::drawing::known_color::dark_goldenrod,
xtd::drawing::known_color::dark_gray,
xtd::drawing::known_color::dark_green,
xtd::drawing::known_color::dark_khaki,
xtd::drawing::known_color::dark_magenta,
xtd::drawing::known_color::dark_olive_green,
xtd::drawing::known_color::dark_orange,
xtd::drawing::known_color::dark_orchid,
xtd::drawing::known_color::dark_red,
xtd::drawing::known_color::dark_salmon,
xtd::drawing::known_color::dark_sea_green,
xtd::drawing::known_color::dark_slate_blue,
xtd::drawing::known_color::dark_slate_gray,
xtd::drawing::known_color::dark_turquoise,
xtd::drawing::known_color::dark_violet,
xtd::drawing::known_color::deep_pink,
xtd::drawing::known_color::deep_sky_blue,
xtd::drawing::known_color::dim_gray,
xtd::drawing::known_color::dodger_blue,
xtd::drawing::known_color::firebrick,
xtd::drawing::known_color::floral_white,
xtd::drawing::known_color::forest_green,
xtd::drawing::known_color::fuchsia,
xtd::drawing::known_color::gainsboro,
xtd::drawing::known_color::ghost_white,
xtd::drawing::known_color::gold,
xtd::drawing::known_color::goldenrod,
xtd::drawing::known_color::gray,
xtd::drawing::known_color::green,
xtd::drawing::known_color::green_yellow,
xtd::drawing::known_color::honeydew,
xtd::drawing::known_color::hot_pink,
xtd::drawing::known_color::indian_red,
xtd::drawing::known_color::indigo,
xtd::drawing::known_color::ivory,
xtd::drawing::known_color::khaki,
xtd::drawing::known_color::lavender,
xtd::drawing::known_color::lavender_blush,
xtd::drawing::known_color::lawn_green,
xtd::drawing::known_color::lemon_chiffon,
xtd::drawing::known_color::light_blue,
xtd::drawing::known_color::light_coral,
xtd::drawing::known_color::light_cyan,
xtd::drawing::known_color::light_goldenrod_yellow,
xtd::drawing::known_color::light_gray,
xtd::drawing::known_color::light_green,
xtd::drawing::known_color::light_pink,
xtd::drawing::known_color::light_salmon,
xtd::drawing::known_color::light_sea_green,
xtd::drawing::known_color::light_sky_blue,
xtd::drawing::known_color::light_slate_gray,
xtd::drawing::known_color::light_steel_blue,
xtd::drawing::known_color::light_yellow,
xtd::drawing::known_color::lime,
xtd::drawing::known_color::lime_green,
xtd::drawing::known_color::linen,
xtd::drawing::known_color::magenta,
xtd::drawing::known_color::maroon,
xtd::drawing::known_color::medium_aquamarine,
xtd::drawing::known_color::medium_blue,
xtd::drawing::known_color::medium_orchid,
xtd::drawing::known_color::medium_purple,
xtd::drawing::known_color::medium_sea_green,
xtd::drawing::known_color::medium_slate_blue,
xtd::drawing::known_color::medium_spring_green,
xtd::drawing::known_color::medium_turquoise,
xtd::drawing::known_color::medium_violet_red,
xtd::drawing::known_color::midnight_blue,
xtd::drawing::known_color::mint_cream,
xtd::drawing::known_color::misty_rose,
xtd::drawing::known_color::moccasin,
xtd::drawing::known_color::navajo_white,
xtd::drawing::known_color::navy,
xtd::drawing::known_color::old_lace,
xtd::drawing::known_color::olive,
xtd::drawing::known_color::olive_drab,
xtd::drawing::known_color::orange,
xtd::drawing::known_color::orange_red,
xtd::drawing::known_color::orchid,
xtd::drawing::known_color::pale_goldenrod,
xtd::drawing::known_color::pale_green,
xtd::drawing::known_color::pale_turquoise,
xtd::drawing::known_color::pale_violet_red,
xtd::drawing::known_color::papaya_whip,
xtd::drawing::known_color::peach_puff,
xtd::drawing::known_color::peru,
xtd::drawing::known_color::pink,
xtd::drawing::known_color::plum,
xtd::drawing::known_color::powder_blue,
xtd::drawing::known_color::purple,
xtd::drawing::known_color::rebecca_purple,
xtd::drawing::known_color::red,
xtd::drawing::known_color::rosy_brown,
xtd::drawing::known_color::royal_blue,
xtd::drawing::known_color::salmon,
xtd::drawing::known_color::sandy_brown,
xtd::drawing::known_color::sea_green,
xtd::drawing::known_color::sea_shell,
xtd::drawing::known_color::sienna,
xtd::drawing::known_color::silver,
xtd::drawing::known_color::sky_blue,
xtd::drawing::known_color::slate_blue,
xtd::drawing::known_color::slate_gray,
xtd::drawing::known_color::snow,
xtd::drawing::known_color::spring_green,
xtd::drawing::known_color::steel_blue,
xtd::drawing::known_color::tan,
xtd::drawing::known_color::teal,
xtd::drawing::known_color::thistle,
xtd::drawing::known_color::tomato,
xtd::drawing::known_color::turquoise,
xtd::drawing::known_color::violet,
xtd::drawing::known_color::wheat,
xtd::drawing::known_color::white,
xtd::drawing::known_color::white_smoke,
xtd::drawing::known_color::yellow,
xtd::drawing::known_color::yellow_green,
xtd::drawing::known_color::button_face,
xtd::drawing::known_color::button_highlight,
xtd::drawing::known_color::accent,
xtd::drawing::known_color::accent_text,
xtd::drawing::known_color::text_box,
xtd::drawing::known_color::text_box_text
}
Specifies the known system colors. More...

enum  xtd::drawing::drawing2d::line_cap {
xtd::drawing::drawing2d::line_cap::flat = 0,
xtd::drawing::drawing2d::line_cap::square = 1,
xtd::drawing::drawing2d::line_cap::round = 2
}
Specifies the available cap styles with which a xtd::drawing::pen object can end a line. More...

enum  xtd::drawing::drawing2d::line_join {
xtd::drawing::drawing2d::line_join::miter = 0,
xtd::drawing::drawing2d::line_join::bevel = 1,
xtd::drawing::drawing2d::line_join::round = 2,
xtd::drawing::drawing2d::line_join::miter_clipped = 3
}
Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a xtd::drawing::drawing2d::graphics_path object. More...

}
Specifies the direction of a linear gradient. More...

enum  xtd::drawing::drawing2d::matrix_order {
xtd::drawing::drawing2d::matrix_order::prepend = 0,
xtd::drawing::drawing2d::matrix_order::append = 1
}
Specifies the order for matrix transform operations. More...

enum  xtd::drawing::drawing2d::pen_alignment {
xtd::drawing::drawing2d::pen_alignment::center = 0,
xtd::drawing::drawing2d::pen_alignment::inset = 1,
xtd::drawing::drawing2d::pen_alignment::outset = 2,
xtd::drawing::drawing2d::pen_alignment::left = 3,
xtd::drawing::drawing2d::pen_alignment::right = 4
}
SSpecifies the alignment of a xtd::drawing::pen object in relation to the theoretical, zero-width line. More...

enum  xtd::drawing::drawing2d::pen_type {
xtd::drawing::drawing2d::pen_type::solid_color = 0,
xtd::drawing::drawing2d::pen_type::hatch_fill = 1,
xtd::drawing::drawing2d::pen_type::texture_fill = 2,
}
Specifies the type of fill a xtd::drawing::pen object uses to fill lines. More...

enum  xtd::drawing::imaging::pixel_format {
xtd::drawing::imaging::pixel_format::undefined = 0,
xtd::drawing::imaging::pixel_format::dont_care = 0,
xtd::drawing::imaging::pixel_format::max = 0x0000000F,
xtd::drawing::imaging::pixel_format::indexed = 0x00010000,
xtd::drawing::imaging::pixel_format::gdi = 0x00020000,
xtd::drawing::imaging::pixel_format::format16bpp_rgb555 = 0x00021005,
xtd::drawing::imaging::pixel_format::format16bpp_rgb565 = 0x00021006,
xtd::drawing::imaging::pixel_format::format24bpp_rgb = 0x00021808,
xtd::drawing::imaging::pixel_format::format32bpp_rgb = 0x00022009,
xtd::drawing::imaging::pixel_format::format1bpp_indexed = 0x00030101,
xtd::drawing::imaging::pixel_format::format4bpp_indexed = 0x00030402,
xtd::drawing::imaging::pixel_format::format8bpp_indexed = 0x00030803,
xtd::drawing::imaging::pixel_format::alpha = 0x00040000,
xtd::drawing::imaging::pixel_format::format16bpp_argb1555 = 0x00061007,
xtd::drawing::imaging::pixel_format::palpha = 0x00080000,
xtd::drawing::imaging::pixel_format::format32bpp_pargb = 0x000E200B,
xtd::drawing::imaging::pixel_format::extended = 0x00100000,
xtd::drawing::imaging::pixel_format::format16bpp_gray_scale = 0x00101004,
xtd::drawing::imaging::pixel_format::format48bpp_rgb = 0x0010300C,
xtd::drawing::imaging::pixel_format::format64bpp_pargb = 0x001C400E,
xtd::drawing::imaging::pixel_format::canonical = 0x00200000,
xtd::drawing::imaging::pixel_format::format32bpp_argb = 0x0026200A,
xtd::drawing::imaging::pixel_format::format64bpp_argb = 0x0034400D
}
Specifies the format of the color data for each pixel in the image. More...

enum  xtd::drawing::drawing2d::pixel_offset_mode {
xtd::drawing::drawing2d::pixel_offset_mode::invalid = -1,
xtd::drawing::drawing2d::pixel_offset_mode::default_value = 0,
xtd::drawing::drawing2d::pixel_offset_mode::high_speed = 1,
xtd::drawing::drawing2d::pixel_offset_mode::high_quality = 2,
xtd::drawing::drawing2d::pixel_offset_mode::none = 3,
xtd::drawing::drawing2d::pixel_offset_mode::half = 4
}
Specifies how pixels are offset during rendering. More...

enum  xtd::drawing::rotate_flip_type {
xtd::drawing::rotate_flip_type::rotate_none_flip_none = 0,
xtd::drawing::rotate_flip_type::rotate_90_flip_none = 1,
xtd::drawing::rotate_flip_type::rotate_180_flip_none = 2,
xtd::drawing::rotate_flip_type::rotate_270_flip_none = 3,
xtd::drawing::rotate_flip_type::rotate_none_flip_x = 4,
xtd::drawing::rotate_flip_type::rotate_90_flip_x = 5,
xtd::drawing::rotate_flip_type::rotate_180_flip_x = 6,
xtd::drawing::rotate_flip_type::rotate_270_flip_x = 7,
xtd::drawing::rotate_flip_type::rotate_none_flip_y = rotate_180_flip_x,
xtd::drawing::rotate_flip_type::rotate_90_flip_y = rotate_270_flip_x,
xtd::drawing::rotate_flip_type::rotate_180_flip_y = rotate_none_flip_x,
xtd::drawing::rotate_flip_type::rotate_270_flip_y = rotate_90_flip_x,
xtd::drawing::rotate_flip_type::rotate_none_flip_xy = rotate_180_flip_none,
xtd::drawing::rotate_flip_type::rotate_90_flip_xy = rotate_270_flip_none,
xtd::drawing::rotate_flip_type::rotate_180_flip_xy = rotate_none_flip_none,
xtd::drawing::rotate_flip_type::rotate_270_flip_xy = rotate_90_flip_none
}
Specifies how much an image is rotated and the axis used to flip the image. More...

enum  xtd::drawing::drawing2d::smoothing_mode {
xtd::drawing::drawing2d::smoothing_mode::invalid = -1,
xtd::drawing::drawing2d::smoothing_mode::default_value = 0,
xtd::drawing::drawing2d::smoothing_mode::high_speed = 1,
xtd::drawing::drawing2d::smoothing_mode::high_quality = 2,
xtd::drawing::drawing2d::smoothing_mode::none = 3,
xtd::drawing::drawing2d::smoothing_mode::anti_alias = 4
}
Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas. More...

enum  xtd::drawing::string_alignment {
xtd::drawing::string_alignment::near = 0,
xtd::drawing::string_alignment::center = 1,
xtd::drawing::string_alignment::far = 2
}
Specifies the alignment of a text string relative to its layout rectangle. More...

enum  xtd::drawing::string_format_flags {
xtd::drawing::string_format_flags::direction_right_to_left = 0b1,
xtd::drawing::string_format_flags::direction_vertical = 0b10,
xtd::drawing::string_format_flags::fit_black_box = 0b100,
xtd::drawing::string_format_flags::display_format_control = 0b100000,
xtd::drawing::string_format_flags::no_font_fallback = 0b10000000000,
xtd::drawing::string_format_flags::measure_trailing_spaces = 0b100000000000,
xtd::drawing::string_format_flags::no_wrap = 0b1000000000000,
xtd::drawing::string_format_flags::line_limit = 0b10000000000000,
xtd::drawing::string_format_flags::no_clip = 0b100000000000000
}
Specifies the display and layout information for text strings. This enumeration allows a bitwise combination of its member values. More...

enum  xtd::drawing::string_trimming {
xtd::drawing::string_trimming::none = 0,
xtd::drawing::string_trimming::character = 1,
xtd::drawing::string_trimming::word = 2,
xtd::drawing::string_trimming::ellipsis_character = 3,
xtd::drawing::string_trimming::ellipsis_word = 4,
xtd::drawing::string_trimming::ellipsis_path = 5
}
Specifies how to trim characters from a string that does not completely fit into a layout shape. More...

enum  xtd::drawing::text::text_rendering_hint {
xtd::drawing::text::text_rendering_hint::system_default = 0,
xtd::drawing::text::text_rendering_hint::single_bit_per_pixel_grid_fit = 1,
xtd::drawing::text::text_rendering_hint::single_bit_per_pixel = 2,
xtd::drawing::text::text_rendering_hint::anti_alias_grid_fit = 3,
xtd::drawing::text::text_rendering_hint::anti_alias = 4,
xtd::drawing::text::text_rendering_hint::clear_type_grid_fit = 5
}
Specifies the quality of text rendering. More...

## ◆ compositing_mode

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/compositing_mode.h>

Specifies how the source colors are combined with the background colors.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
source_over

Specifies that when a color is rendered, it is blended with the background color. The blend is determined by the alpha component of the color being rendered.

source_copy

Specifies that when a color is rendered, it overwrites the background color.

## ◆ compositing_quality

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/compositing_quality.h>

Specifies the quality level to use during compositing.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
Compositing is done during rendering when the source pixels are combined with the destination pixels to produce the resultant pixels. The quality of compositing directly relates to the visual quality of the output and is inversely proportional to the render time. The higher the quality, the slower the render time. This is because the higher the quality level, the more surrounding pixels need to be taken into account during the composite. The linear quality setting (AssumeLinear) compromises by providing better quality than the default quality at a slightly lower speed.
Enumerator
invalid

Invalid quality.

default_value

Default quality.

high_speed

High speed, low quality.

high_quality

High quality, low speed compositing.

gamma_corrected

Gamma correction is used.

assume_linear

Assume linear values.

## ◆ copy_pixel_operation

 strong

#include <xtd.drawing/include/xtd/drawing/copy_pixel_operation.h>

Determines how the source color in a copy pixel operation is combined with the destination color to result in a final color.

Namespace
xtd::drawing
Library
xtd.drawing
Remarks
The xtd::drawing::copy_pixel_operation enumeration is used by the xtd::drawing::graphics::copy_from_screen method of the xtd::drawing::graphics class.
Enumerator
blackness

The destination area is filled by using the color associated with index 0 in the physical palette. (This color is black for the default physical palette.)

capture_blt

Windows that are layered on top of your window are included in the resulting image. By default, the image contains only your window. Note that this generally cannot be used for printing device contexts.

destination_invert

The destination area is inverted.

merge_copy

The colors of the source area are merged with the colors of the selected brush of the destination device context using the Boolean AND operator.

merge_paint

The colors of the inverted source area are merged with the colors of the destination area by using the Boolean OR operator.

no_mirror_bitmap

The bitmap is not mirrored.

not_source_copy

The inverted source area is copied to the destination.

not_source_erase

The source and destination colors are combined using the Boolean OR operator, and then resultant color is then inverted.

pat_copy

The brush currently selected in the destination device context is copied to the destination bitmap.

pat_invert

The colors of the brush currently selected in the destination device context are combined with the colors of the destination are using the Boolean XOR operator.

pat_paint

The colors of the brush currently selected in the destination device context are combined with the colors of the inverted source area using the Boolean OR operator. The result of this operation is combined with the colors of the destination area using the Boolean OR operator.

source_and

The colors of the source and destination areas are combined using the Boolean AND operator.

source_copy

The source area is copied directly to the destination area.

source_erase

The inverted colors of the destination area are combined with the colors of the source area using the Boolean AND operator.

source_invert

The colors of the source and destination areas are combined using the Boolean XOR operator.

source_paint

The colors of the source and destination areas are combined using the Boolean OR operator.

whiteness

The destination area is filled by using the color associated with index 1 in the physical palette. (This color is white for the default physical palette.)

## ◆ dash_style

 strong

#include <xtd.drawing/include/xtd/drawing/dash_style.h>

Specifies the style of dashed lines drawn with a xtd::drawing::pen object.

Namespace
xtd::drawing
Library
xtd.drawing
Remarks
To define a custom dash_style, set the dash_pattern property of the xtd::drawing::pen.
Enumerator
solid

Specifies a solid line.

dash

Specifies a line consisting of dashes.

dot

Specifies a line consisting of dots.

dash_dot

Specifies a line consisting of a repeating pattern of dash-dot.

dash_dot_dot

Specifies a line consisting of a repeating pattern of dash-dot-dot.

custom

Specifies a user-defined custom dash style.

## ◆ encoder_parameter_value_type

 strong

#include <xtd.drawing/include/xtd/drawing/imaging/encoder_parameter_value_type.h>

Specifies the data type of the xtd::drawing::imaging::encoder_parameter used with the xtd::drawing::image::save or xtd::drawing::image::save_add method of an image.

Namespace
xtd::drawing::imaging
Library
xtd.drawing
Enumerator
value_type_byte

An 8-bit unsigned integer.

value_type_ascii

An 8-bit ASCII value. This field specifies that the array of values is a null-terminated ASCII character string.

value_type_short

A 16-bit, unsigned integer.

value_type_long

A 32-bit unsigned integer.

value_type_rational

A pair of 32-bit unsigned integers. Each pair represents a fraction, the first integer being the numerator and the second integer being the denominator.

value_type_long_range

Two long values that specify a range of integer values. The first value specifies the lower end, and the second value specifies the higher end. All values are inclusive at both ends.

value_type_undefined

A byte that has no data type defined. The variable can take any value depending on field definition.

value_type_rational_range

A set of four 32-bit unsigned integers. The first two integers represent one fraction, and the second two integers represent a second fraction.
The two fractions represent a range of rational numbers. The first fraction is the smallest rational number in the range, and the second fraction is the largest rational number in the range. The values are inclusive at both ends.

value_type_rational_pointer

A pointer to a block of custom metadata.

## ◆ fill_mode

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/fill_mode.h>

Specifies how the interior of a closed path is filled.

Namespace
xtd::drawing
Library
xtd.drawing
Remarks
An application fills the interior of a path using one of two fill modes: alternate or winding. The mode determines how to fill and clip the interior of a closed figure.
The default mode is xtd::drawing::drawin2d::fill_mode::alternate. To determine the interiors of closed figures in the alternate mode, draw a line from any arbitrary start point in the path to some point obviously outside the path. If the line crosses an odd number of path segments, the starting point is inside the closed region and is therefore part of the fill or clipping area. An even number of crossings means that the point is not in an area to be filled or clipped. An open figure is filled or clipped by using a line to connect the last point to the first point of the figure.
The xtd::drawing::drawin2d::fill_mode::winding mode considers the direction of the path segments at each intersection. It adds one for every clockwise intersection, and subtracts one for every counterclockwise intersection. If the result is nonzero, the point is considered inside the fill or clip area. A zero count means that the point lies outside the fill or clip area.
A figure is considered clockwise or counterclockwise based on the order in which the segments of the figure are drawn.
Enumerator
alternate

Specifies the alternate fill mode.

winding

Specifies the winding fill mode.

## ◆ flush_intention

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/flush_intention.h>

Specifies whether commands in the graphics stack are terminated (flushed) immediately or executed as soon as possible.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
flush

Specifies that the stack of all graphics operations is flushed immediately.

sync

Specifies that all graphics operations on the stack are executed as soon as possible. This synchronizes the graphics state.

## ◆ font_style

 strong

#include <xtd.drawing/include/xtd/drawing/font_style.h>

Specifies style information applied to text. This enumeration has a flags attribute that allows a bitwise combination of its member values.

Namespace
xtd::drawing
Library
xtd.drawing
Enumerator
regular

Normal text.

bold

Bold text.

italic

Italic text.

underline

Underline text.

strikeout

Text with a line through the middle.

## ◆ generic_font_families

 strong

#include <xtd.drawing/include/xtd/drawing/text/generic_font_families.h>

Specifies a generic font_family object.

Namespace
xtd::drawing::text
Library
xtd.drawing
Enumerator
serif

A generic Serif font_family object.

sans_serif

A generic Sans Serif font_family object.

monospace

A generic Monospace font_family object.

## ◆ graphics_unit

 strong

#include <xtd.drawing/include/xtd/drawing/graphics_unit.h>

Specifies the unit of measure for the given data. This enumeration has a flags attribute that allows a bitwise combination of its member values.

Namespace
xtd::drawing
Library
xtd.drawing
Enumerator
world

Specifies the world coordinate system unit as the unit of measure.

display

Specifies 1/75 inch as the unit of measure.

pixel

Specifies a device pixel as the unit of measure.

point

Specifies a printer's point (1/72 inch) as the unit of measure.

inch

Specifies the inch as the unit of measure.

document

Specifies the document unit (1/300 inch) as the unit of measure.

millimeter

Specifies the millimeter as the unit of measure.

## ◆ hatch_style

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/hatch_style.h>

Specifies the different patterns available for xtd::drawing::drawing2d::hatch_brush objects.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
horizontal

A pattern of horizontal lines.

vertical

A pattern of vertical lines.

forward_diagonal

A pattern of lines on a diagonal from upper left to lower right.

backward_diagonal

A pattern of lines on a diagonal from upper right to lower left.

cross

Specifies horizontal and vertical lines that cross.

diagonal_cross

A pattern of crisscross diagonal lines.

percent_05

Specifies a 5-percent hatch. The ratio of foreground color to background color is 5:95.

percent_10

Specifies a 10-percent hatch. The ratio of foreground color to background color is 10:90.

percent_20

Specifies a 20-percent hatch. The ratio of foreground color to background color is 20:80.

percent_25

Specifies a 25-percent hatch. The ratio of foreground color to background color is 25:75.

percent_30

Specifies a 30-percent hatch. The ratio of foreground color to background color is 30:70.

percent_40

Specifies a 40-percent hatch. The ratio of foreground color to background color is 40:60.

percent_50

Specifies a 50-percent hatch. The ratio of foreground color to background color is 50:50.

percent_60

Specifies a 60-percent hatch. The ratio of foreground color to background color is 60:40.

percent_70

Specifies a 70-percent hatch. The ratio of foreground color to background color is 70:30.

percent_75

Specifies a 75-percent hatch. The ratio of foreground color to background color is 75:25.

percent_80

Specifies a 80-percent hatch. The ratio of foreground color to background color is 80:20.

percent_90

Specifies a 90-percent hatch. The ratio of foreground color to background color is 90:10.

light_downward_diagonal

Specifies diagonal lines that slant to the right from top points to bottom points and are spaced 50 percent closer together than forward_diagonal, but are not antialiased.

light_upward_diagonal

Specifies diagonal lines that slant to the left from top points to bottom points and are spaced 50 percent closer together than backward_diagonal, but they are not antialiased.

dark_downward_diagonal

Specifies diagonal lines that slant to the right from top points to bottom points, are spaced 50 percent closer together than, and are twice the width of forward_diagonal. This hatch pattern is not antialiased.

dark_upward_diagonal

Specifies diagonal lines that slant to the left from top points to bottom points, are spaced 50 percent closer together than backward_diagonal, and are twice its width, but the lines are not antialiased.

wide_downward_diagonal

Specifies diagonal lines that slant to the right from top points to bottom points, have the same spacing as hatch style forward_diagonal, and are triple its width, but are not antialiased.

wide_upward_diagonal

Specifies diagonal lines that slant to the left from top points to bottom points, have the same spacing as hatch style backward_diagonal, and are triple its width, but are not antialiased.

light_vertical

Specifies vertical lines that are spaced 50 percent closer together than vertical.

light_horizontal

Specifies horizontal lines that are spaced 50 percent closer together than horizontal.

narrow_vertical

Specifies vertical lines that are spaced 75 percent closer together than hatch style vertical (or 25 percent closer together than light_vertical).

narrow_horizontal

Specifies horizontal lines that are spaced 75 percent closer together than hatch style horizontal (or 25 percent closer together than light_horizontal).

dark_vertical

Specifies vertical lines that are spaced 50 percent closer together than vertical and are twice its width.

dark_horizontal

Specifies horizontal lines that are spaced 50 percent closer together than horizontal and are twice the width of horizontal.

dashed_downward_diagonal

Specifies dashed diagonal lines, that slant to the right from top points to bottom points.

dashed_upward_diagonal

Specifies dashed diagonal lines, that slant to the left from top points to bottom points.

dashed_horizontal

Specifies dashed horizontal lines.

dashed_vertical

Specifies dashed vertical lines.

small_confetti

Specifies a hatch that has the appearance of confetti.

large_confetti

Specifies a hatch that has the appearance of confetti, and is composed of larger pieces than small_confetti.

zig_zag

Specifies horizontal lines that are composed of zigzags.

wave

Specifies horizontal lines that are composed of tildes.

diagonal_brick

Specifies a hatch that has the appearance of layered bricks that slant to the left from top points to bottom points.

horizontal_brick

Specifies a hatch that has the appearance of horizontally layered bricks.

weave

Specifies a hatch that has the appearance of a woven material.

plaid

Specifies a hatch that has the appearance of a plaid material.

divot

Specifies a hatch that has the appearance of divots.

dotted_grid

Specifies horizontal and vertical lines, each of which is composed of dots, that cross.

dotted_diamond

Specifies forward diagonal and backward diagonal lines, each of which is composed of dots, that cross.

shingle

Specifies a hatch that has the appearance of diagonally layered shingles that slant to the right from top points to bottom points.

trellis

Specifies a hatch that has the appearance of a trellis.

sphere

Specifies a hatch that has the appearance of spheres laid adjacent to one another.

small_grid

Specifies horizontal and vertical lines that cross and are spaced 50 percent closer together than hatch style cross.

small_checker_board

Specifies a hatch that has the appearance of a checkerboard.

large_checker_board

Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of small_checker_board.

outlined_diamond

Specifies forward diagonal and backward diagonal lines that cross but are not antialiased.

solid_diamond

Specifies a hatch that has the appearance of a checkerboard placed diagonally.

wide_checker_board

Specifies a hatch that has the appearance of a checkerboard with squares that are twice the size of large_checker_board and Four times the size of small_checker_board.

## ◆ hotkey_prefix

 strong

#include <xtd.drawing/include/xtd/drawing/text/hotkey_prefix.h>

Specifies the type of display for hot-key prefixes that relate to text.

Namespace
xtd::drawing::text
Library
xtd.drawing
Remarks
A hot-key prefix allows you to use a keyboard combination (usually CTRL+HotKey or ALT+HotKey) to access functionality represented by text displayed on the screen.
Enumerator
none

No hot-key prefix.

show

Display the hot-key prefix.

hide

Do not display the hot-key prefix.

## ◆ image_flags

 strong

#include <xtd.drawing/include/xtd/drawing/imaging/image_flags.h>

Specifies the attributes of the pixel data contained in an xtd::drawing::image object. The xtd::drawing:iImage::flags property returns a member of this enumeration.

Namespace
xtd::drawing::imaging
Library
xtd.drawing
Enumerator
none

There is no format information.

scalable

The pixel data is scalable.

has_alpha

The pixel data contains alpha information.

has_translucent

Specifies that the pixel data has alpha values other than 0 (transparent) and 255 (opaque).

partially_scalable

The pixel data is partially scalable, but there are some limitations.

color_space_rgb

The pixel data uses an RGB color space.

color_space_cmyk

The pixel data uses a CMYK color space.

color_space_gray

The pixel data is grayscale.

color_space_ycbcr

Specifies that the image is stored using a YCBCR color space.

color_space_ycck

Specifies that the image is stored using a YCCK color space.

has_real_dpi

Specifies that dots per inch information is stored in the image.

has_real_pixel_size

Specifies that the pixel size is stored in the image.

caching

The pixel data can be cached for faster access.

## ◆ interpolation_mode

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/interpolation_mode.h>

The xtd::drawing::drawing2d::interpolation_mode enumeration specifies the algorithm that is used when images are scaled or rotated.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
invalid

Equivalent to the xtd::drawing::drawing2d::quality_mode::invalid element of the xtd::drawing::drawing2d::quality_mode enumeration.

default_value

Specifies default mode.

low

Specifies low quality interpolation.

hight

Specifies high quality interpolation.

bilinear

Specifies bilinear interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 50 percent of its original size.

bicubic

Specifies bicubic interpolation. No prefiltering is done. This mode is not suitable for shrinking an image below 25 percent of its original size.

nearest_neighbor

Specifies nearest-neighbor interpolation.

high_quality_bilinear

Specifies high-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking.

high_quality_bicubic

Specifies high-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking. This mode produces the highest quality transformed images.

## ◆ known_color

 strong

#include <xtd.drawing/include/xtd/drawing/known_color.h>

Specifies the known system colors.

Namespace
xtd::drawing
Library
xtd.drawing
xtd::drawing::color
Enumerator
active_border

The system-defined color of the active window's border.

active_caption

The system-defined color of the background of the active window's title bar.

active_caption_text

The system-defined color of the text in the active window's title bar.

app_workspace

The system-defined color of the application workspace. The application workspace is the area in a multiple-document view that is not being occupied by documents.

control

The system-defined face color of a 3-D element.

control_dark

The system-defined shadow color of a 3-D element. The shadow color is applied to parts of a 3-D element that face away from the light source.

control_dark_dark

The system-defined color that is the dark shadow color of a 3-D element. The dark shadow color is applied to the parts of a 3-D element that are the darkest color.

control_light

The system-defined color that is the light color of a 3-D element. The light color is applied to parts of a 3-D element that face the light source.

control_light_light

The system-defined highlight color of a 3-D element. The highlight color is applied to the parts of a 3-D element that are the lightest color.

control_text

The system-defined color of text in a 3-D element.

desktop

The system-defined color of the desktop.

gray_text

The system-defined color of dimmed text. Items in a list that are disabled are displayed in dimmed text.

highlight

The system-defined color of the background of selected items. This includes selected menu items as well as selected text.

highlight_text

The system-defined color of the text of selected items.

hot_track

The system-defined color used to designate a hot-tracked item. Single-clicking a hot-tracked item executes the item.

inactive_border

The system-defined color of an inactive window's border.

inactive_caption

The system-defined color of the background of an inactive window's title bar.

inactive_caption_text

The system-defined color of the text in an inactive window's title bar.

info

The system-defined color of the background of a ToolTip.

info_text

The system-defined color of the text of a ToolTip.

The system-defined color of a menu's background.

The system-defined color of a menu's text.

scroll_bar

The system-defined color of the background of a scroll bar.

window

The system-defined color of the background in the client area of a window.

window_frame

The system-defined color of a window frame.

window_text

The system-defined color of the text in the client area of a window.

transparent

A system-defined color.

alice_blue

A system-defined color.

antique_white

A system-defined color.

aqua

A system-defined color.

aquamarine

A system-defined color.

azure

A system-defined color.

beige

A system-defined color.

bisque

A system-defined color.

black

A system-defined color.

blanched_almond

A system-defined color.

blue

A system-defined color.

blue_violet

A system-defined color.

brown

A system-defined color.

burly_wood

A system-defined color.

A system-defined color.

chartreuse

A system-defined color.

chocolate

A system-defined color.

coral

A system-defined color.

cornflower_blue

A system-defined color.

cornsilk

A system-defined color.

crimson

A system-defined color.

cyan

A system-defined color.

dark_blue

A system-defined color.

dark_cyan

A system-defined color.

dark_goldenrod

A system-defined color.

dark_gray

A system-defined color.

dark_green

A system-defined color.

dark_khaki

A system-defined color.

dark_magenta

A system-defined color.

dark_olive_green

A system-defined color.

dark_orange

A system-defined color.

dark_orchid

A system-defined color.

dark_red

A system-defined color.

dark_salmon

A system-defined color.

dark_sea_green

A system-defined color.

dark_slate_blue

A system-defined color.

dark_slate_gray

A system-defined color.

dark_turquoise

A system-defined color.

dark_violet

A system-defined color.

deep_pink

A system-defined color.

deep_sky_blue

A system-defined color.

dim_gray

A system-defined color.

dodger_blue

A system-defined color.

firebrick

A system-defined color.

floral_white

A system-defined color.

forest_green

A system-defined color.

fuchsia

A system-defined color.

gainsboro

A system-defined color.

ghost_white

A system-defined color.

gold

A system-defined color.

goldenrod

A system-defined color.

gray

A system-defined color.

green

A system-defined color.

green_yellow

A system-defined color.

honeydew

A system-defined color.

hot_pink

A system-defined color.

indian_red

A system-defined color.

indigo

A system-defined color.

ivory

A system-defined color.

khaki

A system-defined color.

lavender

A system-defined color.

lavender_blush

A system-defined color.

lawn_green

A system-defined color.

lemon_chiffon

A system-defined color.

light_blue

A system-defined color.

light_coral

A system-defined color.

light_cyan

A system-defined color.

light_goldenrod_yellow

A system-defined color.

light_gray

A system-defined color.

light_green

A system-defined color.

light_pink

A system-defined color.

light_salmon

A system-defined color.

light_sea_green

A system-defined color.

light_sky_blue

A system-defined color.

light_slate_gray

A system-defined color.

light_steel_blue

A system-defined color.

light_yellow

A system-defined color.

lime

A system-defined color.

lime_green

A system-defined color.

linen

A system-defined color.

magenta

A system-defined color.

maroon

A system-defined color.

medium_aquamarine

A system-defined color.

medium_blue

A system-defined color.

medium_orchid

A system-defined color.

medium_purple

A system-defined color.

medium_sea_green

A system-defined color.

medium_slate_blue

A system-defined color.

medium_spring_green

A system-defined color.

medium_turquoise

A system-defined color.

medium_violet_red

A system-defined color.

midnight_blue

A system-defined color.

mint_cream

A system-defined color.

misty_rose

A system-defined color.

moccasin

A system-defined color.

navajo_white

A system-defined color.

navy

A system-defined color.

old_lace

A system-defined color.

olive

A system-defined color.

olive_drab

A system-defined color.

orange

A system-defined color.

orange_red

A system-defined color.

orchid

A system-defined color.

pale_goldenrod

A system-defined color.

pale_green

A system-defined color.

pale_turquoise

A system-defined color.

pale_violet_red

A system-defined color.

papaya_whip

A system-defined color.

peach_puff

A system-defined color.

peru

A system-defined color.

pink

A system-defined color.

plum

A system-defined color.

powder_blue

A system-defined color.

purple

A system-defined color.

rebecca_purple

A system-defined color.

red

A system-defined color.

rosy_brown

A system-defined color.

royal_blue

A system-defined color.

A system-defined color.

salmon

A system-defined color.

sandy_brown

A system-defined color.

sea_green

A system-defined color.

sea_shell

A system-defined color.

sienna

A system-defined color.

silver

A system-defined color.

sky_blue

A system-defined color.

slate_blue

A system-defined color.

slate_gray

A system-defined color.

snow

A system-defined color.

spring_green

A system-defined color.

steel_blue

A system-defined color.

tan

A system-defined color.

teal

A system-defined color.

thistle

A system-defined color.

tomato

A system-defined color.

turquoise

A system-defined color.

violet

A system-defined color.

wheat

A system-defined color.

white

A system-defined color.

white_smoke

A system-defined color.

yellow

A system-defined color.

yellow_green

A system-defined color.

button_face

The system-defined face color of a 3-D element.

button_highlight

The system-defined color that is the highlight color of a 3-D element. This color is applied to parts of a 3-D element that face the light source.

The system-defined color that is the shadow color of a 3-D element. This color is applied to parts of a 3-D element that face away from the light source.

The system-defined color of the lightest color in the color gradient of an active window's title bar.

The system-defined color of the lightest color in the color gradient of an inactive window's title bar.

The system-defined color of the background of a menu bar.

accent

The system-defined color of the accent color (macos specific. On other platform is same as menu_highlight).

accent_text

The system-defined color of the accent text color (macos specific. On other platform is same as highlight_text).

text_box

The system-defined color of the accent color (macos specific. On other platform is same as window).

text_box_text

The system-defined color of the accent text color (macos specific. On other platform is same as window_text).

## ◆ line_cap

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/line_cap.h>

Specifies the available cap styles with which a xtd::drawing::pen object can end a line.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
flat

Specifies a flat line cap.

square

Specifies a square line cap.

round

Specifies a round line cap.

## ◆ line_join

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/line_join.h>

Specifies how to join consecutive line or curve segments in a figure (subpath) contained in a xtd::drawing::drawing2d::graphics_path object.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
Compositing is done during rendering when the source pixels are combined with the destination pixels to produce the resultant pixels. The quality of compositing directly relates to the visual quality of the output and is inversely proportional to the render time. The higher the quality, the slower the render time. This is because the higher the quality level, the more surrounding pixels need to be taken into account during the composite. The linear quality setting (AssumeLinear) compromises by providing better quality than the default quality at a slightly lower speed.
Enumerator
miter

Specifies a mitered join. This produces a sharp corner or a clipped corner, depending on whether the length of the miter exceeds the miter limit.

bevel

Specifies a beveled join. This produces a diagonal corner.

round

Specifies a circular join. This produces a smooth, circular arc between the lines.

miter_clipped

Specifies a mitered join. This produces a sharp corner or a beveled corner, depending on whether the length of the miter exceeds the miter limit.

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/linear_gradient_mode.h>

Specifies the direction of a linear gradient.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Enumerator
horizontal

Specifies a gradient from left to right.

vertical

Specifies a gradient from top to bottom.

forward_diagonal

Specifies a gradient from upper left to lower right.

backward_diagonal

Specifies a gradient from upper right to lower left.

## ◆ matrix_order

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/matrix_order.h>

Specifies the order for matrix transform operations.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
Matrix transform operations are not necessarily commutative. The order in which they are applied is important.
Enumerator
prepend

The new operation is applied before the old operation.

append

The new operation is applied after the old operation.

## ◆ pen_alignment

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/pen_alignment.h>

SSpecifies the alignment of a xtd::drawing::pen object in relation to the theoretical, zero-width line.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
A xtd::drawing::pen object has width. The center point of this pen width is aligned relative to the line being drawn depending on the alignment value. A xtd::drawing::pen object can be positioned to draw inside of a line or centered over the line.
xtd::drawing::pen
Enumerator
center

Specifies that the xtd::drawing::pen object is centered over the theoretical line.

inset

Specifies that the xtd::drawing::pen is positioned on the inside of the theoretical line.

outset

Specifies the xtd::drawing::pen is positioned on the outside of the theoretical line.

left

Specifies the xtd::drawing::pen is positioned to the left of the theoretical line.

right

Specifies the xtd::drawing::pen is positioned to the right of the theoretical line.

## ◆ pen_type

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/pen_type.h>

Specifies the type of fill a xtd::drawing::pen object uses to fill lines.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
The pen type is determined by the brush property of the xtd::drawing::pen object.
Enumerator
solid_color

Specifies a solid fill.

hatch_fill

Specifies a hatch fill.

texture_fill

Specifies a bitmap texture fill.

## ◆ pixel_format

 strong

#include <xtd.drawing/include/xtd/drawing/imaging/pixel_format.h>

Specifies the format of the color data for each pixel in the image.

Namespace
xtd::drawing::imaging
Library
xtd.drawing
Remarks
The pixel format defines the number of bits of memory associated with one pixel of data. The format also defines the order of the color components within a single pixel of data.
PixelFormat48bppRGB, PixelFormat64bppARGB, and PixelFormat64bppPARGB use 16 bits per color component (channel). GDI+ version 1.0 and 1.1 can read 16-bits-per-channel images, but such images are converted to an 8-bits-per-channel format for processing, displaying, and saving. Each 16-bit color channel can hold a value in the range 0 through 2^13.
Some of the pixel formats contain premultiplied color values. Premultiplied means that the color values have already been multiplied by an alpha value.
Enumerator
undefined

The pixel format is undefined.

dont_care

No pixel format is specified.

max

The maximum value for this enumeration.

indexed

The pixel data contains color-indexed values, which means the values are an index to colors in the system color table, as opposed to individual color values.

gdi

The pixel data contains GDI colors.

format16bpp_rgb555

Specifies that the format is 16 bits per pixel; 5 bits each are used for the red, green, and blue components. The remaining bit is not used.

format16bpp_rgb565

Specifies that the format is 16 bits per pixel; 5 bits are used for the red component, 6 bits are used for the green component, and 5 bits are used for the blue component.

format24bpp_rgb

Specifies that the format is 24 bits per pixel; 8 bits each are used for the red, green, and blue components.

format32bpp_rgb

Specifies that the format is 32 bits per pixel; 8 bits each are used for the red, green, and blue components. The remaining 8 bits are not used.

format1bpp_indexed

Specifies that the pixel format is 1 bit per pixel and that it uses indexed color. The color table therefore has two colors in it.

format4bpp_indexed

Specifies that the format is 4 bits per pixel, indexed.

format8bpp_indexed

Specifies that the format is 8 bits per pixel, indexed. The color table therefore has 256 colors in it.

alpha

The pixel data contains alpha values that are not premultiplied.

format16bpp_argb1555

The pixel format is 16 bits per pixel. The color information specifies 32,768 shades of color, of which 5 bits are red, 5 bits are green, 5 bits are blue, and 1 bit is alpha.

palpha

The pixel format contains premultiplied alpha values.

format32bpp_pargb

Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied, according to the alpha component.

extended

Reserved.

format16bpp_gray_scale

The pixel format is 16 bits per pixel. The color information specifies 65536 shades of gray.

format48bpp_rgb

Specifies that the format is 48 bits per pixel; 16 bits each are used for the red, green, and blue components.

format64bpp_pargb

Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components. The red, green, and blue components are premultiplied according to the alpha component.

canonical

The default pixel format of 32 bits per pixel. The format specifies 24-bit color depth and an 8-bit alpha channel.

format32bpp_argb

Specifies that the format is 32 bits per pixel; 8 bits each are used for the alpha, red, green, and blue components.

format64bpp_argb

Specifies that the format is 64 bits per pixel; 16 bits each are used for the alpha, red, green, and blue components.

## ◆ pixel_offset_mode

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/pixel_offset_mode.h>

Specifies how pixels are offset during rendering.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing

By offsetting pixels during rendering, you can improve render quality at the cost of render speed.

Enumerator
invalid

Specifies the default mode.

default_value

Specifies default mode.

high_speed

Specifies high speed, low quality rendering.

high_quality

Specifies high quality, low speed rendering.

none

Specifies no pixel offset.

half

Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing.

## ◆ rotate_flip_type

 strong

#include <xtd.drawing/include/xtd/drawing/rotate_flip_type.h>

Specifies how much an image is rotated and the axis used to flip the image.

Namespace
xtd::drawing
Library
xtd.drawing
Remarks
The xtd::drawing::image::rotate_flip method rotates the image clockwise.
If you wish to draw on an image once it has been rotated, you should always retrieve a new graphics object from the image, otherwise an exception could occur.
Enumerator
rotate_none_flip_none

Specifies no clockwise rotation and no flipping.

rotate_90_flip_none

Specifies a 270-degree clockwise rotation followed by a horizontal and vertical flip.

rotate_180_flip_none

Specifies a 180-degree clockwise rotation without flipping.

rotate_270_flip_none

Specifies a 270-degree clockwise rotation without flipping.

rotate_none_flip_x

Specifies no clockwise rotation followed by a horizontal flip.

rotate_90_flip_x

Specifies a 90-degree clockwise rotation followed by a horizontal flip.

rotate_180_flip_x

Specifies a 180-degree clockwise rotation followed by a horizontal flip.

rotate_270_flip_x

Specifies a 270-degree clockwise rotation followed by a horizontal flip.

rotate_none_flip_y

Specifies no clockwise rotation followed by a vertical flip.

rotate_90_flip_y

Specifies a 90-degree clockwise rotation followed by a vertical flip.

rotate_180_flip_y

Specifies a 180-degree clockwise rotation followed by a vertical flip.

rotate_270_flip_y

Specifies a 270-degree clockwise rotation followed by a vertical flip.

rotate_none_flip_xy

Specifies no clockwise rotation followed by a horizontal and vertical flip.

rotate_90_flip_xy

Specifies a 90-degree clockwise rotation followed by a horizontal and vertical flip.

rotate_180_flip_xy

Specifies a 180-degree clockwise rotation followed by a horizontal and vertical flip.

rotate_270_flip_xy

Specifies a 90-degree clockwise rotation without flipping.

## ◆ smoothing_mode

 strong

#include <xtd.drawing/include/xtd/drawing/drawing2d/smoothing_mode.h>

Specifies whether smoothing (antialiasing) is applied to lines and curves and the edges of filled areas.

Namespace
xtd::drawing::drawing2d
Library
xtd.drawing
Remarks
Dxtd::drawing::drawing2d::smoothing_mode::dfault_value, xtd::drawing::drawing2d::smoothing_mode::none, and xtd::drawing::drawing2d::smoothing_mode::xtd::drawing::drawing2d::smoothing_mode::high_speed are equivalent and specify rendering without smoothing applied.
xtd::drawing::drawing2d::smoothing_mode::anti_alias and xtd::drawing::drawing2d::smoothing_mode::high_quality are equivalent and specify rendering with smoothing applied.
Note
When the xtd::drawing::graphics::smoothing_mode property is specified by using the xtd::drawing::drawing2d::smoothing_mode enumeration, it does not affect text. To set the text rendering quality, use the xtd::drawing::graphics::text_rendering_hint property and the xtd::drawing::drawing2d::text_rendering_hint enumeration.
When the xtd::drawing::graphics::smoothing_mode property is specified by using the xtd::drawing::drawing2d::smoothing_mode enumeration, it does not affect areas filled by a path gradient brush. Areas filled by using a xtd::drawing::drawing2d::path_gradient_brush object are rendered the same way (aliased) regardless of the setting for the xtd::drawing::graphics::smoothing_mode property.
Enumerator
invalid

Specifies an invalid mode.

default_value

Specifies default mode.

high_speed

Specifies high speed, low quality rendering.

high_quality

Specifies high quality, low speed rendering.

none

Specifies no pixel offset.

anti_alias

Specifies that pixels are offset by -.5 units, both horizontally and vertically, for high speed antialiasing.

## ◆ string_alignment

 strong

#include <xtd.drawing/include/xtd/drawing/string_alignment.h>

Specifies the alignment of a text string relative to its layout rectangle.

Namespace
xtd::drawing
Library
xtd.drawing
Remarks
When used with the line_alignment property, this enumeration sets the vertical alignment for a drawn string. When used with the alignment property, this enumeration sets the horizontal alignment.
Enumerator
near

Specifies the text be aligned near the layout. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right.

center

Specifies that text is aligned in the center of the layout rectangle.

far

Specifies that text is aligned far from the origin position of the layout rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left.

## ◆ string_format_flags

 strong

#include <xtd.drawing/include/xtd/drawing/string_format_flags.h>

Specifies the display and layout information for text strings. This enumeration allows a bitwise combination of its member values.

Namespace
xtd::drawing
Library
xtd.drawing
Enumerator
direction_right_to_left

Text is displayed from right to left. text.

direction_vertical

Text is vertically aligned.

fit_black_box

Parts of characters are allowed to overhang the string's layout rectangle. By default, characters are repositioned to avoid any overhang.

display_format_control

Control characters such as the left-to-right mark are shown in the output with a representative glyph.

no_font_fallback

Fallback to alternate fonts for characters not supported in the requested font is disabled. Any missing characters are displayed with the fonts missing glyph, usually an open square.

measure_trailing_spaces

Includes the trailing space at the end of each line. By default the boundary rectangle returned by the MeasureString method excludes the space at the end of each line. Set this flag to include that space in measurement.

no_wrap

Text wrapping between lines when formatting within a rectangle is disabled. This flag is implied when a point is passed instead of a rectangle, or when the specified rectangle has a zero line length.

line_limit

Only entire lines are laid out in the formatting rectangle. By default layout continues until the end of the text, or until no more lines are visible as a result of clipping, whichever comes first. Note that the default settings allow the last line to be partially obscured by a formatting rectangle that is not a whole multiple of the line height. To ensure that only whole lines are seen, specify this value and be careful to provide a formatting rectangle at least as tall as the height of one line.

no_clip

Overhanging parts of glyphs, and unwrapped text reaching outside the formatting rectangle are allowed to show. By default all text and glyph parts reaching outside the formatting rectangle are clipped.

## ◆ string_trimming

 strong

#include <xtd.drawing/include/xtd/drawing/string_trimming.h>

Specifies how to trim characters from a string that does not completely fit into a layout shape.

Namespace
xtd::drawing
Library
xtd.drawing
Enumerator
none

Specifies no trimming.

character

Specifies that the text is trimmed to the nearest character.

word

Specifies that text is trimmed to the nearest word.

ellipsis_character

Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line.

ellipsis_word

Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line.

ellipsis_path

The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible.

## ◆ text_rendering_hint

 strong

#include <xtd.drawing/include/xtd/drawing/text/text_rendering_hint.h>

Specifies the quality of text rendering.

Namespace
xtd::drawing::text
Library
xtd.drawing
Remarks
The quality ranges from text (fastest performance, but lowest quality) to antialiased text (better quality, but slower performance) to ClearType text (best quality on an LCD display).
Enumerator
system_default

Each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font-smoothing settings the user has selected for the system.

single_bit_per_pixel_grid_fit

Each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature.

single_bit_per_pixel

Each character is drawn using its glyph bitmap. Hinting is not used.

anti_alias_grid_fit

Each character is drawn using its antialiased glyph bitmap with hinting. Much better quality due to antialiasing, but at a higher performance cost.

anti_alias

Each character is drawn using its antialiased glyph bitmap without hinting. Better quality due to antialiasing. Stem width differences may be noticeable because hinting is turned off.

clear_type_grid_fit

Each character is drawn using its glyph ClearType bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features.