5#include "../drawing_export.hpp"
21#include <xtd/iequatable>
35 namespace imaging::effects {
118 std::vector<
guid> frame_dimentions_list() const noexcept;
130 float horizontal_resolution() const noexcept;
135 imaging::color_palette palette() const noexcept;
138 void palette(const imaging::color_palette& palette) noexcept;
143 const
size_f& physical_dimension() const noexcept;
147 imaging::pixel_format pixel_format() const noexcept;
157 const
xtd::
array<imaging::property_item>& property_items() const noexcept;
161 const imaging::image_format& raw_format() const noexcept;
170 const
xtd::
byte* rgb() const;
187 const std::any& tag() const noexcept;
190 void tag(const std::any& tag) noexcept;
194 float vertical_resolution() const noexcept;
215 bool equals(const
object& obj) const noexcept override;
219 bool equals(const
image& other) const noexcept override;
229 xtd::drawing::imaging::encoder_parameters get_encoder_parameter_list(
xtd::
guid encoder) const noexcept;
237 xtd::
size get_frame_count(const
xtd::drawing::imaging::frame_dimension& dimension) const;
241 xtd::
size get_hash_code() const noexcept override;
249 xtd::drawing::imaging::property_item get_property_item(
int32 propid);
269 void save(const
xtd::
string& filename) const;
273 void save(const
xtd::
string& filename, const
xtd::drawing::imaging::image_format& format) const;
279 void save(std::ostream& stream, const
xtd::drawing::imaging::image_format& format) const;
288 static
image from_file(const
xtd::
string& filename);
301 static
image from_stream(std::istream& stream);
317 static
bitmap from_xpm_data(const
char* const* bits);
322 static
int32 get_pixel_format_size(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
327 static
bool is_alpha_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
332 static
bool is_canonical_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
337 static
bool is_extended_pixel_format(
xtd::drawing::imaging::pixel_format pixfmt) noexcept;
342 friend
xtd::drawing::imaging::effects::resize_effect;
343 friend
xtd::drawing::imaging::effects::scale_effect;
345 explicit
image(const
xtd::
string& filename);
346 explicit
image(const
xtd::
string& filename,
bool use_icm);
347 explicit
image(std::istream& stream);
348 explicit
image(std::istream& stream,
bool use_icm);
350 image(
int32 width,
int32 height,
float horizontal_resolution,
float vertical_resolution);
358 void scale(const
xtd::drawing::
size&
size,
xtd::drawing::drawing_2d::interpolation_mode interpolation_mode);
360 void set_pixel_format(imaging::pixel_format value);
364 void update_properties();
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:59
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:49
Defines an object used to draw lines and curves. This class cannot be inherited.
Definition graphics.hpp:70
An abstract base class that provides functionality for the bitmap and metafile descended classes.
Definition image.hpp:53
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:69
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:44
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
std::shared_ptr< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
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.