CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
System::Drawing::Image Class Referenceabstract

A base class for System::Drawing::Bitmap and System::Drawing::Metafile classes providing basic functionality. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...

#include <image.h>

Inherits System::IDisposable.

Inherited by System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

Classes

struct  SaveOptions
 Structure that represents save options. More...
 

Public Types

using GetThumbnailImageAbort = System::MulticastDelegate< bool()>
 A callback to cancel GetThumbnailImage execution. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

void Save (const String &filename)
 Saves the image represented by the current object to the specified file in PNG format. More...
 
void Save (const String &filename, const Imaging::ImageFormatPtr &format)
 Saves the image represented by the current object to the specified file in the specified format. More...
 
void Save (const SharedPtr< System::IO::Stream > &stream, const Imaging::ImageFormatPtr &format)
 Saves the image represented by the current object to the specified stream in the specified format. More...
 
void Save (const String &filename, const Imaging::ImageCodecInfoPtr &encoder, const Imaging::EncoderParametersPtr &encoder_params)
 Saves the image represented by the current object to the specified file using the specified encoder and encoder parameters. More...
 
void Save (const SharedPtr< System::IO::Stream > &stream, const Imaging::ImageCodecInfoPtr &encoder, const Imaging::EncoderParametersPtr &encoder_params)
 Saves the image represented by the current object to the specified stream using the specified encoder and encoder parameters. More...
 
void SaveAdd (const Imaging::EncoderParametersPtr &encoder_params)
 Adds a frame to the file or stream specified in a previous call to the Save() method. More...
 
void SaveAdd (const SharedPtr< Image > &image, const Imaging::EncoderParametersPtr &encoder_params)
 Adds a frame to the file or stream specified in a previous call to the Save() method. More...
 
virtual SharedPtr< ImageClone ()=0
 Creates a copy of the current object. More...
 
virtual void RotateFlip (RotateFlipType rotate_flip_type)
 Rotate image to multiple of 90 degrees and flip. More...
 
virtual ArrayPtr< int > get_PropertyIdList () const
 Gets IDs of the property items stored in this image. More...
 
RectangleF GetBounds (GraphicsUnit &page_unit)
 Returns the image bounds in the specified measurement units. More...
 
virtual int get_Width () const =0
 Returns the width of the image in pixels. More...
 
virtual int get_Height () const =0
 Returns the height of the image in pixels. More...
 
virtual int32_t get_Flags () const
 Returns a bit-wise combination of ImageFlags enum values that represents the attributes of the image. More...
 
Size get_Size () const
 Returns a Size object that represents the width and height of the image in pixels. More...
 
virtual Imaging::ImageFormatPtr get_RawFormat () const =0
 Returns the file format of the image represented by the current object. More...
 
virtual Imaging::PixelFormat get_PixelFormat () const =0
 Returns the pixel format of the image represented by the current object. More...
 
virtual System::SharedPtr< System::Objectget_Tag () const
 Gets an object that provides additional data about the image. More...
 
virtual void set_Tag (const System::SharedPtr< System::Object > tag)
 Sets an object that provides additional data about the image. More...
 
float get_HorizontalResolution () const
 Returns the horizontal resolution of the image represented by the current object in pixels per inch. More...
 
float get_VerticalResolution () const
 Returns the vertical resolution of the image represented by the current object in pixels per inch. More...
 
virtual Imaging::ColorPalettePtr get_Palette () const
 Returns the color palette used by the image represented by the current object. More...
 
virtual void set_Palette (Imaging::ColorPalettePtr value)
 Sets the color palette used by the image represented by the current object. More...
 
virtual bool IsMultiImage () const
 Returns whether the original format is a multi-image. More...
 
ArrayPtr< Guidget_FrameDimensionsList () const
 Returns an array of GUIDs that represent the dimensions of frames within the image represented by the current object. More...
 
int GetFrameCount (const Imaging::FrameDimensionPtr &dimension)
 Returns the number of frames of the specified frame dimension. More...
 
int SelectActiveFrame (const Imaging::FrameDimensionPtr &dimension, int frameIndex)
 Selects the specified frame. More...
 
virtual ArrayPtr< SharedPtr< Imaging::PropertyItem > > get_PropertyItems () const
 Gets all the property items(pieces of metadata) stored in this image. More...
 
void Dispose () override
 Releases all resources aquired by the current object. More...
 
virtual const SkBitmap * GetSkBitmap () const =0
 Returns an underlying SkBitmap object. More...
 
SharedPtr< ImageGetThumbnailImage (int thumbWidth, int thumbHeight, Image::GetThumbnailImageAbort callback, IntPtr callbackData)
 Gets a thumbnail for this System::Drawing::Image object. More...
 
virtual void Dispose ()
 Does nothing. More...
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Static Public Member Functions

static SharedPtr< ImageFromStream (const SharedPtr< System::IO::Stream > &stream, bool use_embedded_color_management=false, bool validate_image_data=true)
 Creates an Image object from the specified stream. More...
 
static SharedPtr< ImageFromFile (const String &filename, bool use_embedded_color_management=false)
 Creates an Image object from the specified file. More...
 
static bool IsAlphaPixelFormat (Imaging::PixelFormat pixfmt)
 Determines if the specified pixel format contains alpha information. More...
 
static int GetPixelFormatSize (Imaging::PixelFormat pixfmt)
 Returns the number of bits used to represent the color depth in the specified pixel format. More...
 
static SharedPtr< BitmapFromHbitmap (IntPtr hbitmap)
 Constructs a Bitmap object from the specified GDI bitmap. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 

Protected Member Functions

virtual std::unique_ptr< SkCanvas > GetDrawingCanvas () const =0
 Returns the drawing canvas object. More...
 
virtual sk_sp< SkData > GetRawBytes (SkEncodedImageFormat encoder_type, int quality)=0
 Saves an image represented by the current object in the specified format using the specified image quality level setting when encoding the image to the momory buffer. More...
 
void InternalSave (const SharedPtr< System::IO::Stream > &stream, SkEncodedImageFormat encoder_type, Imaging::EncoderValue encoder_value=Imaging::EncoderValue::CompressionLZW, int pixel_format=32, int quality=s_default_save_quality)
 Saves the image represented by the current object to the specified stream in the specified format. More...
 
void InternalSave (const SharedPtr< IO::Stream > &stream, SkEncodedImageFormat encoder_type, const SaveOptions &options)
 Saves the image represented by the current object to the specified stream in the specified format. More...
 
void InternalSavePage (const SkBitmap *bitmap, const SaveOptions &options)
 Saves the bitmap as a part of a multipage image. More...
 
SkEncodedImageFormat CheckOutputFormat (const Imaging::ImageFormatPtr &image_format) const
 Checks if the specified image format is supported and returns a SkEncodedFormat value that represents the specified image format. More...
 
virtual const SkEncodedImageFormat GetSkEncodedFormat () const =0
 Returns an underlying SkEncodedFormat object. More...
 
virtual Imaging::PixelFormat GetOriginalFormat () const =0
 Returns the original image format. More...
 
virtual void Draw (SkCanvas *sk_canvas, const SkRect &dest_rect, const SkRect &src_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const =0
 Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region. More...
 
virtual void Draw (SkCanvas *sk_canvas, const SkRect &dest_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const =0
 Draws the the image to the specified region on the specified canvas. The source image is scaled and translated to fill the destination region. More...
 
virtual void Draw (SkCanvas *sk_canvas, ArrayPtr< PointF > dest_points, const SkRect &src_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const =0
 Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region. More...
 
virtual void Draw (SkCanvas *sk_canvas, const System::Details::ArrayView< PointF > &dest_points, const SkRect &src_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const =0
 Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region. More...
 

Static Protected Member Functions

static SkBitmap ConvertToGrayscale (const SkBitmap &src_bitmap)
 Converts 32bpp image to 8bpp grayscale image. More...
 
static SaveOptions ParseEncoderParameters (const Imaging::EncoderParametersPtr &encoder_params)
 Converts a set of encoder parameters into a SaveOptions structure. More...
 
static SkEncodedImageFormat CheckOutputFormat (const Imaging::ImageCodecInfoPtr &encoder)
 Checks if the specified encoder is supported and returns a SkEncodedFormat value that represents an image format of the specified encoder. More...
 
static SkEncodedImageFormat CheckOutputFormat (SkEncodedImageFormat encoded_format)
 Checks if the specified format is among supported. More...
 
static bool IsWmf (const System::SharedPtr< System::IO::Stream > &stream)
 Determines if the data in the specified stream starts with the WMF format marker. More...
 
static bool IsEmf (const System::SharedPtr< System::IO::Stream > &stream)
 Determines if the data in the specified stream starts with the EMF format marker. More...
 

Protected Attributes

Imaging::ColorPalettePtr m_palette
 The color palette used by the image represented by the current object. More...
 
float m_horizontal_resolution = 96.f
 The horizontal resolution of the image represented by the current object in pixels per inch. More...
 
float m_vertical_resolution = 96.f
 The vertical resolution of the image represented by the current object in pixels per inch. More...
 

Static Protected Attributes

static const int s_default_save_quality = 80
 Default quality level used when encoding an image. More...
 

Detailed Description

A base class for System::Drawing::Bitmap and System::Drawing::Metafile classes providing basic functionality. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Member Typedef Documentation

◆ GetThumbnailImageAbort

using System::Drawing::Image::GetThumbnailImageAbort = System::MulticastDelegate<bool()>

A callback to cancel GetThumbnailImage execution.

Member Function Documentation

◆ CheckOutputFormat() [1/3]

static SkEncodedImageFormat System::Drawing::Image::CheckOutputFormat ( const Imaging::ImageCodecInfoPtr encoder)
staticprotected

Checks if the specified encoder is supported and returns a SkEncodedFormat value that represents an image format of the specified encoder.

Parameters
encoderThe ImageCodecInfo object that represents the encoder to check
Returns
A SkEncodedFormat value that represents encoder's image format
Exceptions
System::Runtime::InteropServices::ExternalExceptionIf the specified encoder is not supported

◆ CheckOutputFormat() [2/3]

SkEncodedImageFormat System::Drawing::Image::CheckOutputFormat ( const Imaging::ImageFormatPtr image_format) const
protected

Checks if the specified image format is supported and returns a SkEncodedFormat value that represents the specified image format.

Parameters
image_formatThe format to check
Returns
A value of SkEncodedFormat that specifies the same image format as image_format specifies
Exceptions
System::Runtime::InteropServices::ExternalExceptionIf the specified format is not supported

◆ CheckOutputFormat() [3/3]

static SkEncodedImageFormat System::Drawing::Image::CheckOutputFormat ( SkEncodedImageFormat  encoded_format)
staticprotected

Checks if the specified format is among supported.

Parameters
encoded_formatThe format to check
Returns
A copy of encoded_format value if it is among supported formats
Exceptions
System::Runtime::InteropServices::ExternalExceptionIf the specified format is not supported

◆ Clone()

virtual SharedPtr< Image > System::Drawing::Image::Clone ( )
pure virtual

Creates a copy of the current object.

Returns
A copy of the current object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ ConvertToGrayscale()

static SkBitmap System::Drawing::Image::ConvertToGrayscale ( const SkBitmap &  src_bitmap)
staticprotected

Converts 32bpp image to 8bpp grayscale image.

◆ Dispose()

void System::Drawing::Image::Dispose ( )
inlineoverridevirtual

Releases all resources aquired by the current object.

Reimplemented from System::IDisposable.

◆ Draw() [1/4]

virtual void System::Drawing::Image::Draw ( SkCanvas *  sk_canvas,
ArrayPtr< PointF dest_points,
const SkRect &  src_rect,
SkMatrix *  matrix,
SkFilterQuality  quality,
SkBlendMode  blend_mode 
) const
protectedpure virtual

Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region.

Parameters
sk_canvasThe canvas to draw on
dest_pointsArray of 3 PointF objects representing points that define the rectangular region on the canvas to draw to
src_rectThe rectangle specifying the portion of the image to draw
matrixThe matrix that specifies how to traslate and scale the source image region
qualityThe quality of image interpolation
blend_modeSpecifies how the source colors are combined with the background colors

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ Draw() [2/4]

virtual void System::Drawing::Image::Draw ( SkCanvas *  sk_canvas,
const SkRect &  dest_rect,
const SkRect &  src_rect,
SkMatrix *  matrix,
SkFilterQuality  quality,
SkBlendMode  blend_mode 
) const
protectedpure virtual

Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region.

Parameters
sk_canvasThe canvas to draw on
dest_rectThe rectangle on the canvas to draw to
src_rectThe rectangle specifying the portion of the image to draw
matrixThe matrix that specifies how to traslate and scale the source image region
qualityThe quality of image interpolation
blend_modeSpecifies how the source colors are combined with the background colors

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ Draw() [3/4]

virtual void System::Drawing::Image::Draw ( SkCanvas *  sk_canvas,
const SkRect &  dest_rect,
SkMatrix *  matrix,
SkFilterQuality  quality,
SkBlendMode  blend_mode 
) const
protectedpure virtual

Draws the the image to the specified region on the specified canvas. The source image is scaled and translated to fill the destination region.

Parameters
sk_canvasThe canvas to draw on
dest_rectThe rectangle in the canvas to draw to
matrixThe matrix that specifies how to traslate and scale the source image region
qualityThe quality of image interpolation
blend_modeSpecifies how the source colors are combined with the background colors

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ Draw() [4/4]

virtual void System::Drawing::Image::Draw ( SkCanvas *  sk_canvas,
const System::Details::ArrayView< PointF > &  dest_points,
const SkRect &  src_rect,
SkMatrix *  matrix,
SkFilterQuality  quality,
SkBlendMode  blend_mode 
) const
protectedpure virtual

Draws the specified region of the image to the specified region on the specified canvas. The source bitmap region is scaled and translated to fill the destination region.

Parameters
sk_canvasThe canvas to draw on
dest_pointsArrayView of 3 PointF objects representing points that define the rectangular region on the canvas to draw to
src_rectThe rectangle specifying the portion of the image to draw
matrixThe matrix that specifies how to traslate and scale the source image region
qualityThe quality of image interpolation
blend_modeSpecifies how the source colors are combined with the background colors

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ FromFile()

static SharedPtr< Image > System::Drawing::Image::FromFile ( const String filename,
bool  use_embedded_color_management = false 
)
static

Creates an Image object from the specified file.

Parameters
filenameA name of the file that contains image data
use_embedded_color_managementIGNORED
Returns
A shared pointer to the created Image object.

◆ FromHbitmap()

static SharedPtr< Bitmap > System::Drawing::Image::FromHbitmap ( IntPtr  hbitmap)
static

Constructs a Bitmap object from the specified GDI bitmap.

Parameters
hbitmapA handle to a GDI bitmap from which to create a Bitmap object
Returns
A shared pointer to the created Bitmap object

◆ FromStream()

static SharedPtr< Image > System::Drawing::Image::FromStream ( const SharedPtr< System::IO::Stream > &  stream,
bool  use_embedded_color_management = false,
bool  validate_image_data = true 
)
static

Creates an Image object from the specified stream.

Parameters
streamA stream that contains image data
use_embedded_color_managementIGNORED
validate_image_dataIGNORED
Returns
A shared pointer to the created Image object.

◆ get_Flags()

virtual int32_t System::Drawing::Image::get_Flags ( ) const
virtual

Returns a bit-wise combination of ImageFlags enum values that represents the attributes of the image.

◆ get_FrameDimensionsList()

ArrayPtr< Guid > System::Drawing::Image::get_FrameDimensionsList ( ) const

Returns an array of GUIDs that represent the dimensions of frames within the image represented by the current object.

◆ get_Height()

virtual int System::Drawing::Image::get_Height ( ) const
pure virtual

Returns the height of the image in pixels.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ get_HorizontalResolution()

float System::Drawing::Image::get_HorizontalResolution ( ) const

Returns the horizontal resolution of the image represented by the current object in pixels per inch.

◆ get_Palette()

virtual Imaging::ColorPalettePtr System::Drawing::Image::get_Palette ( ) const
virtual

Returns the color palette used by the image represented by the current object.

Reimplemented in System::Drawing::Bitmap.

◆ get_PixelFormat()

virtual Imaging::PixelFormat System::Drawing::Image::get_PixelFormat ( ) const
pure virtual

Returns the pixel format of the image represented by the current object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ get_PropertyIdList()

virtual ArrayPtr< int > System::Drawing::Image::get_PropertyIdList ( ) const
virtual

Gets IDs of the property items stored in this image.

◆ get_PropertyItems()

virtual ArrayPtr< SharedPtr< Imaging::PropertyItem > > System::Drawing::Image::get_PropertyItems ( ) const
virtual

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

◆ get_RawFormat()

virtual Imaging::ImageFormatPtr System::Drawing::Image::get_RawFormat ( ) const
pure virtual

Returns the file format of the image represented by the current object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ get_Size()

Size System::Drawing::Image::get_Size ( ) const

Returns a Size object that represents the width and height of the image in pixels.

◆ get_Tag()

virtual System::SharedPtr< System::Object > System::Drawing::Image::get_Tag ( ) const
virtual

Gets an object that provides additional data about the image.

◆ get_VerticalResolution()

float System::Drawing::Image::get_VerticalResolution ( ) const

Returns the vertical resolution of the image represented by the current object in pixels per inch.

◆ get_Width()

virtual int System::Drawing::Image::get_Width ( ) const
pure virtual

Returns the width of the image in pixels.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetBounds()

RectangleF System::Drawing::Image::GetBounds ( GraphicsUnit page_unit)

Returns the image bounds in the specified measurement units.

Parameters
page_unitMeasurement unit
Returns
An instance of RectangleF class that represents the image bound in the specified measurement units

◆ GetDrawingCanvas()

virtual std::unique_ptr< SkCanvas > System::Drawing::Image::GetDrawingCanvas ( ) const
protectedpure virtual

Returns the drawing canvas object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetFrameCount()

int System::Drawing::Image::GetFrameCount ( const Imaging::FrameDimensionPtr dimension)

Returns the number of frames of the specified frame dimension.

Parameters
dimensionA frame dimension
Returns
The number of frames of the dimension frame dimension.

◆ GetOriginalFormat()

virtual Imaging::PixelFormat System::Drawing::Image::GetOriginalFormat ( ) const
protectedpure virtual

Returns the original image format.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetPixelFormatSize()

static int System::Drawing::Image::GetPixelFormatSize ( Imaging::PixelFormat  pixfmt)
static

Returns the number of bits used to represent the color depth in the specified pixel format.

Parameters
pixfmtA pixel format for which to determine the size
Returns
The color depth in pixfmt

◆ GetRawBytes()

virtual sk_sp< SkData > System::Drawing::Image::GetRawBytes ( SkEncodedImageFormat  encoder_type,
int  quality 
)
protectedpure virtual

Saves an image represented by the current object in the specified format using the specified image quality level setting when encoding the image to the momory buffer.

Parameters
encoder_typeThe image format to save the image in
qualityThe quality level setting used when encoding the image
Returns
An SkData object that represents a memory buffer to which the image was saved

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetSkBitmap()

virtual const SkBitmap * System::Drawing::Image::GetSkBitmap ( ) const
pure virtual

Returns an underlying SkBitmap object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetSkEncodedFormat()

virtual const SkEncodedImageFormat System::Drawing::Image::GetSkEncodedFormat ( ) const
protectedpure virtual

Returns an underlying SkEncodedFormat object.

Implemented in System::Drawing::Bitmap, and System::Drawing::Imaging::Metafile.

◆ GetThumbnailImage()

SharedPtr< Image > System::Drawing::Image::GetThumbnailImage ( int  thumbWidth,
int  thumbHeight,
Image::GetThumbnailImageAbort  callback,
IntPtr  callbackData 
)

Gets a thumbnail for this System::Drawing::Image object.

Parameters
thumbWidthA width of thumbnail
thumbHeightA heigth of thumbnail
callbackIgnored
callbackDataIgnored
Returns
A thumbnail for this System::Drawing::Image object

◆ InternalSave() [1/2]

void System::Drawing::Image::InternalSave ( const SharedPtr< IO::Stream > &  stream,
SkEncodedImageFormat  encoder_type,
const SaveOptions options 
)
protected

Saves the image represented by the current object to the specified stream in the specified format.

Parameters
streamA stream to save the image to
encoder_typeA format to save the image in
optionsThe options used to save the image in; is used only if encoder_type format supports this options

◆ InternalSave() [2/2]

void System::Drawing::Image::InternalSave ( const SharedPtr< System::IO::Stream > &  stream,
SkEncodedImageFormat  encoder_type,
Imaging::EncoderValue  encoder_value = Imaging::EncoderValue::CompressionLZW,
int  pixel_format = 32,
int  quality = s_default_save_quality 
)
protected

Saves the image represented by the current object to the specified stream in the specified format.

Parameters
streamA stream to save the image to
encoder_typeA format to save the image in
encoder_valueThe parameter value passed to TIFF image encoder
pixel_formatThe parameter value passed to TIFF image encoder
qualityThe quality to save the image in; is used only if encoder_type format supports this setting

◆ InternalSavePage()

void System::Drawing::Image::InternalSavePage ( const SkBitmap *  bitmap,
const SaveOptions options 
)
protected

Saves the bitmap as a part of a multipage image.

Parameters
bitmapThe bitmap to save
optionsThe options used to save the bitmap

◆ IsAlphaPixelFormat()

static bool System::Drawing::Image::IsAlphaPixelFormat ( Imaging::PixelFormat  pixfmt)
static

Determines if the specified pixel format contains alpha information.

Parameters
pixfmtA pixel format to test
Returns
True if pixfmt contains alpha information, otherwise - false

◆ IsEmf()

static bool System::Drawing::Image::IsEmf ( const System::SharedPtr< System::IO::Stream > &  stream)
staticprotected

Determines if the data in the specified stream starts with the EMF format marker.

Parameters
streamThe stream containing the data to check
Returns
True if the data in the stream begins with EMF format marker, otherwise - false

◆ IsMultiImage()

virtual bool System::Drawing::Image::IsMultiImage ( ) const
virtual

Returns whether the original format is a multi-image.

Reimplemented in System::Drawing::Bitmap.

◆ IsWmf()

static bool System::Drawing::Image::IsWmf ( const System::SharedPtr< System::IO::Stream > &  stream)
staticprotected

Determines if the data in the specified stream starts with the WMF format marker.

Parameters
streamThe stream containing the data to check
Returns
True if the data in the stream begins with WMF format marker, otherwise - false

◆ ParseEncoderParameters()

static SaveOptions System::Drawing::Image::ParseEncoderParameters ( const Imaging::EncoderParametersPtr encoder_params)
staticprotected

Converts a set of encoder parameters into a SaveOptions structure.

Parameters
encoder_paramsThe parameters of the encoder

◆ RotateFlip()

virtual void System::Drawing::Image::RotateFlip ( RotateFlipType  rotate_flip_type)
virtual

Rotate image to multiple of 90 degrees and flip.

Parameters
rotate_flip_typeType of rotation and flip.

Reimplemented in System::Drawing::Bitmap.

◆ Save() [1/5]

void System::Drawing::Image::Save ( const SharedPtr< System::IO::Stream > &  stream,
const Imaging::ImageCodecInfoPtr encoder,
const Imaging::EncoderParametersPtr encoder_params 
)

Saves the image represented by the current object to the specified stream using the specified encoder and encoder parameters.

Parameters
streamA stream to save the image to
encoderThe encoder to use
encoder_paramsThe parameters of the encoder to used

◆ Save() [2/5]

void System::Drawing::Image::Save ( const SharedPtr< System::IO::Stream > &  stream,
const Imaging::ImageFormatPtr format 
)

Saves the image represented by the current object to the specified stream in the specified format.

Parameters
streamA stream to save the image to
formatA format to save the image in

◆ Save() [3/5]

void System::Drawing::Image::Save ( const String filename)

Saves the image represented by the current object to the specified file in PNG format.

Parameters
filenameThe name of the file to save the image to

◆ Save() [4/5]

void System::Drawing::Image::Save ( const String filename,
const Imaging::ImageCodecInfoPtr encoder,
const Imaging::EncoderParametersPtr encoder_params 
)

Saves the image represented by the current object to the specified file using the specified encoder and encoder parameters.

Parameters
filenameThe name of the file to save the image to
encoderThe encoder to use
encoder_paramsThe parameters of the encoder to use

◆ Save() [5/5]

void System::Drawing::Image::Save ( const String filename,
const Imaging::ImageFormatPtr format 
)

Saves the image represented by the current object to the specified file in the specified format.

Parameters
filenameThe name of the file to save the image to
formatA format to save the image in

◆ SaveAdd() [1/2]

void System::Drawing::Image::SaveAdd ( const Imaging::EncoderParametersPtr encoder_params)

Adds a frame to the file or stream specified in a previous call to the Save() method.

Parameters
encoder_paramsThe parameters of the encoder to use

◆ SaveAdd() [2/2]

void System::Drawing::Image::SaveAdd ( const SharedPtr< Image > &  image,
const Imaging::EncoderParametersPtr encoder_params 
)

Adds a frame to the file or stream specified in a previous call to the Save() method.

Parameters
imageAn Image object that contains the frame to be added
encoder_paramsThe parameters of the encoder to use

◆ SelectActiveFrame()

int System::Drawing::Image::SelectActiveFrame ( const Imaging::FrameDimensionPtr dimension,
int  frameIndex 
)

Selects the specified frame.

Parameters
dimensionThe dimension of the frame to select
frameIndexThe index of the frame to select returns Always 0

◆ set_Palette()

virtual void System::Drawing::Image::set_Palette ( Imaging::ColorPalettePtr  value)
virtual

Sets the color palette used by the image represented by the current object.

Parameters
valueThe value to set

Reimplemented in System::Drawing::Bitmap.

◆ set_Tag()

virtual void System::Drawing::Image::set_Tag ( const System::SharedPtr< System::Object tag)
virtual

Sets an object that provides additional data about the image.

Member Data Documentation

◆ m_horizontal_resolution

float System::Drawing::Image::m_horizontal_resolution = 96.f
protected

The horizontal resolution of the image represented by the current object in pixels per inch.

◆ m_palette

Imaging::ColorPalettePtr System::Drawing::Image::m_palette
protected

The color palette used by the image represented by the current object.

◆ m_vertical_resolution

float System::Drawing::Image::m_vertical_resolution = 96.f
protected

The vertical resolution of the image represented by the current object in pixels per inch.

◆ s_default_save_quality

const int System::Drawing::Image::s_default_save_quality = 80
staticprotected

Default quality level used when encoding an image.