5#include "../drawing_export.hpp"
20#include <xtd/any_object>
21#include <xtd/iequatable>
31 namespace imaging::effects {
126 float horizontal_resolution() const noexcept;
131 imaging::color_palette palette() const noexcept;
134 void palette(const imaging::color_palette& palette) noexcept;
139 const
size_f& physical_dimension() const noexcept;
143 imaging::pixel_format pixel_format() const noexcept;
153 const
xtd::
array<imaging::property_item>& property_items() const noexcept;
157 const imaging::image_format& raw_format() const noexcept;
166 const
xtd::
byte* rgb() const;
190 float vertical_resolution() const noexcept;
211 bool equals(const
object& obj) const noexcept override;
215 bool equals(const
image& other) const noexcept override;
225 xtd::drawing::imaging::encoder_parameters get_encoder_parameter_list(
xtd::
guid encoder) const noexcept;
233 xtd::
size get_frame_count(const
xtd::drawing::imaging::frame_dimension& dimension) const;
237 xtd::
size get_hash_code() const noexcept override;
245 xtd::drawing::imaging::property_item get_property_item(
int32 propid);
265 void save(const
xtd::
string& filename) const;
269 void save(const
xtd::
string& filename, const
xtd::drawing::imaging::image_format& format) const;
275 void save(std::ostream& stream, const
xtd::drawing::imaging::image_format& format) const;
284 static
image from_file(const
xtd::
string& filename);
297 static
image from_stream(std::istream& stream);
313 static
bitmap from_xpm_data(const
char* const* bits);
318 static
int32 get_pixel_format_size(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
323 static
bool is_alpha_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
328 static
bool is_canonical_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
333 static
bool is_extended_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
338 friend
xtd::drawing::imaging::effects::resize_effect;
339 friend
xtd::drawing::imaging::effects::scale_effect;
341 explicit
image(const
xtd::
string& filename);
342 explicit
image(const
xtd::
string& filename,
bool use_icm);
343 explicit
image(std::istream& stream);
344 explicit
image(std::istream& stream,
bool use_icm);
346 image(
int32 width,
int32 height,
float horizontal_resolution,
float vertical_resolution);
354 void scale(const
xtd::drawing::
size&
size,
xtd::drawing::drawing_2d::interpolation_mode interpolation_mode);
356 void set_pixel_format(imaging::pixel_format value);
360 void update_properties();
Represent a polymorphic wrapper capable of holding any type.
Definition any_object.hpp:29
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:61
Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes....
Definition bitmap.hpp:26
Represents an ARGB (alpha, red, green, blue) color.
Definition color.hpp:46
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition graphics.hpp:67
An abstract base class that provides functionality for the bitmap and metafile descended classes.
Definition image.hpp:49
const xtd::byte * alpha() const
Gets the image alpha pointer, which represents the alpha data of the image.
int32 flags() const noexcept
Gets attribute flags for the pixel data of this xtd::drawing::image.
xtd::byte * alpha()
Gets the image alpha pointer, which represents the alpha data of the image.
static image empty
Represent an empty xtd::drawing::image.
Definition image.hpp:65
Represents a globally unique identifier (GUID). A GUID is a 128-bit integer (16 bytes) that can be us...
Definition guid.hpp:24
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:43
The xtd::shared_ptr_object is a shared pointer as std::shared_ptr.
Definition shared_ptr_object.hpp:30
Contains xtd::drawing::imaging::color_palette class.
Contains xtd::drawing::imaging::encoder_parameters struct.
Contains xtd::drawing::imaging::frame_dimension class.
Contains xtd::drawing::graphics class.
Contains xtd::drawing::graphics_unit enum class.
#define drawing_export_
Define shared library export.
Definition drawing_export.hpp:13
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
intmax_t intptr
Represent a pointer or a handle.
Definition intptr.hpp:23
uint8_t byte
Represents a 8-bit unsigned integer.
Definition byte.hpp:23
graphics_unit
Specifies the unit of measure for the given data. This enumeration has a flags attribute that allows ...
Definition graphics_unit.hpp:17
rotate_flip_type
Specifies how much an image is rotated and the axis used to flip the image.
Definition rotate_flip_type.hpp:19
Contains xtd::drawing::imaging::image_flags class.
Contains xtd::drawing::drawing_2d::interpolation_mode enum class.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
Contains xtd::drawing::imaging::property_item class.
Contains xtd::drawing::rectangle class.
Contains xtd::drawing::rotate_flip_type enum class.
Contains xtd::drawing::size_f class.
Stores a set of four floating-point numbers that represent the location and size of a rectangle....
Definition rectangle_f.hpp:34
Stores a set of four integers that represent the location and size of a rectangle.
Definition rectangle.hpp:44
Stores an ordered pair of floating-point, which specify a height and width.
Definition size_f.hpp:31
Stores an ordered pair of integers, which specify a height and width.
Definition size.hpp:31
Contains xtd::drawing::size class.