System::Drawing::Imaging::Metafile Class Reference

Inherits System::Drawing::Image.

Public Member Functions

ASPOSECPP_SHARED_API Metafile (const System::String &filename)
 
ASPOSECPP_SHARED_API Metafile (const SharedPtr< System::IO::Stream > &stream)
 
ASPOSECPP_SHARED_API Metafile (const SharedPtr< System::IO::Stream > &stream, IntPtr hdc, EmfType type)
 
ASPOSECPP_SHARED_API Metafile (const SharedPtr< System::IO::Stream > &stream, IntPtr hdc)
 
ASPOSECPP_SHARED_API Metafile (const SharedPtr< System::IO::Stream > &stream, IntPtr hdc, Rectangle rect, MetafileFrameUnit frameUnit, EmfType type)
 
ASPOSECPP_SHARED_API Metafile (const SharedPtr< System::IO::Stream > &stream, IntPtr hdc, RectangleF rect, MetafileFrameUnit frameUnit, EmfType type)
 
ASPOSECPP_SHARED_API Metafile (IntPtr, EmfType)
 
virtual ASPOSECPP_SHARED_API ~Metafile ()
 Destructor. More...
 
ASPOSECPP_SHARED_API SharedPtr< MetafileHeaderGetMetafileHeader ()
 Returns a header associated with the current object. More...
 
ASPOSECPP_SHARED_API IntPtr GetHenhmetafile ()
 
virtual ASPOSECPP_SHARED_API int get_Width () const override
 Returns the width of the image in pixels. More...
 
virtual ASPOSECPP_SHARED_API int get_Height () const override
 Returns the heights of the image in pixels. More...
 
virtual ASPOSECPP_SHARED_API Imaging::ImageFormatPtr get_RawFormat () const override
 Returns a value the indicates the image format. More...
 
virtual ASPOSECPP_SHARED_API Imaging::PixelFormat get_PixelFormat () const override
 Returns a value the indicates the pixel format. More...
 
virtual ASPOSECPP_SHARED_API SharedPtr< ImageClone () override
 Returns a copy of the current object. More...
 
- Public Member Functions inherited from System::Drawing::Image
ASPOSECPP_SHARED_API void Save (const String &filename)
 
ASPOSECPP_SHARED_API void Save (const String &filename, const Imaging::ImageFormatPtr &format)
 
ASPOSECPP_SHARED_API void Save (const SharedPtr< System::IO::Stream > &stream, const Imaging::ImageFormatPtr &format)
 
ASPOSECPP_SHARED_API void Save (const String &filename, const Imaging::ImageCodecInfoPtr &encoder, const Imaging::EncoderParametersPtr &encoder_params)
 
ASPOSECPP_SHARED_API void Save (const SharedPtr< System::IO::Stream > &stream, const Imaging::ImageCodecInfoPtr &encoder, const Imaging::EncoderParametersPtr &encoder_params)
 
ASPOSECPP_SHARED_API void SaveAdd (const Imaging::EncoderParametersPtr &encoder_params)
 
ASPOSECPP_SHARED_API void SaveAdd (const SharedPtr< Image > &image, const Imaging::EncoderParametersPtr &encoder_params)
 
virtual ASPOSECPP_SHARED_API void RotateFlip (RotateFlipType rotate_flip_type)
 
virtual ASPOSECPP_SHARED_API ArrayPtr< int > get_PropertyIdList () const
 Gets IDs of the property items stored in this image. More...
 
ASPOSECPP_SHARED_API RectangleF GetBounds (GraphicsUnit &page_unit)
 
virtual Imaging::ImageFlags get_Flags () const
 
ASPOSECPP_SHARED_API Size get_Size () const
 
ASPOSECPP_SHARED_API float get_HorizontalResolution () const
 Returns the horizontal resolution of the image represented by the current object in pixels per inch. More...
 
ASPOSECPP_SHARED_API float get_VerticalResolution () const
 Returns the vertical resolution of the image represented by the current object in pixels per inch. More...
 
virtual ASPOSECPP_SHARED_API Imaging::ColorPalettePtr get_Palette () const
 Returns the color palette used by the image represented by the current object. More...
 
virtual ASPOSECPP_SHARED_API void set_Palette (Imaging::ColorPalettePtr value)
 
virtual ASPOSECPP_SHARED_API bool IsMultiImage () const
 Returns whether the original format is a multi-image. More...
 
ASPOSECPP_SHARED_API ArrayPtr< Guidget_FrameDimensionsList () const
 
ASPOSECPP_SHARED_API int GetFrameCount (const Imaging::FrameDimensionPtr &dimension)
 
ASPOSECPP_SHARED_API int SelectActiveFrame (const Imaging::FrameDimensionPtr &dimension, int frameIndex)
 
virtual ASPOSECPP_SHARED_API 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...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API 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 refernce counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (unsigned int argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Protected Member Functions

virtual ASPOSECPP_SHARED_API std::unique_ptr< SkCanvas > GetDrawingCanvas () const override
 
virtual ASPOSECPP_SHARED_API sk_sp< SkData > GetRawBytes (SkEncodedImageFormat encoder_type, int quality) override
 
virtual ASPOSECPP_SHARED_API const SkBitmap * GetSkBitmap () const override
 Returns an underlying SkBitmap object. More...
 
virtual ASPOSECPP_SHARED_API const SkEncodedImageFormat GetSkEncodedFormat () const override
 Returns an underlying SkEncodedFormat object. More...
 
virtual void Draw (SkCanvas *sk_canvas, const SkRect &dest_rect, const SkRect &src_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const override
 
virtual void Draw (SkCanvas *sk_canvas, const SkRect &dest_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const override
 
virtual void Draw (SkCanvas *sk_canvas, ArrayPtr< PointF > dest_points, const SkRect &src_rect, SkMatrix *matrix, SkFilterQuality quality, SkBlendMode blend_mode) const override
 
virtual ASPOSECPP_SHARED_API Imaging::PixelFormat GetOriginalFormat () const override
 Returns the original image format. More...
 
- Protected Member Functions inherited from System::Drawing::Image
ASPOSECPP_SHARED_API 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)
 
void InternalSave (const SharedPtr< IO::Stream > &stream, SkEncodedImageFormat encoder_type, const SaveOptions &options)
 
void InternalSavePage (const SkBitmap *bitmap, const SaveOptions &options)
 
ASPOSECPP_SHARED_API SkEncodedImageFormat CheckOutputFormat (const Imaging::ImageFormatPtr &image_format) const
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 
- Static Public Member Functions inherited from System::Drawing::Image
static ASPOSECPP_SHARED_API SharedPtr< ImageFromStream (const SharedPtr< System::IO::Stream > &stream, bool use_embedded_color_management=false, bool validate_image_data=true)
 
static ASPOSECPP_SHARED_API SharedPtr< ImageFromFile (const String &filename, bool use_embedded_color_management=false)
 
static ASPOSECPP_SHARED_API bool IsAlphaPixelFormat (Imaging::PixelFormat pixfmt)
 
static ASPOSECPP_SHARED_API int GetPixelFormatSize (Imaging::PixelFormat pixfmt)
 
static ASPOSECPP_SHARED_API SharedPtr< BitmapFromHbitmap (IntPtr hbitmap)
 
- 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 ()
 Impleemnts C# typeof(System.Object) construct. More...
 
- Static Protected Member Functions inherited from System::Drawing::Image
static SkBitmap ConvertToGrayscale (const SkBitmap &src_bitmap)
 Converts 32bpp image to 8bpp grayscale image. More...
 
static SaveOptions ParseEncoderParameters (const Imaging::EncoderParametersPtr &encoder_params)
 
static ASPOSECPP_SHARED_API SkEncodedImageFormat CheckOutputFormat (const Imaging::ImageCodecInfoPtr &encoder)
 
static ASPOSECPP_SHARED_API SkEncodedImageFormat CheckOutputFormat (SkEncodedImageFormat encoded_format)
 
static ASPOSECPP_SHARED_API bool IsWmf (const System::SharedPtr< System::IO::Stream > &stream)
 
static ASPOSECPP_SHARED_API bool IsEmf (const System::SharedPtr< System::IO::Stream > &stream)
 
- Protected Attributes inherited from System::Drawing::Image
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 inherited from System::Drawing::Image
static const int s_default_save_quality = 80
 Default quality level used when encoding an image. More...
 

Detailed Description

Represents a graphic metafile. 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.

Constructor & Destructor Documentation

◆ Metafile() [1/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const System::String filename)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [2/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const SharedPtr< System::IO::Stream > &  stream)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [3/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const SharedPtr< System::IO::Stream > &  stream,
IntPtr  hdc,
EmfType  type 
)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [4/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const SharedPtr< System::IO::Stream > &  stream,
IntPtr  hdc 
)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [5/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const SharedPtr< System::IO::Stream > &  stream,
IntPtr  hdc,
Rectangle  rect,
MetafileFrameUnit  frameUnit,
EmfType  type 
)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [6/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( const SharedPtr< System::IO::Stream > &  stream,
IntPtr  hdc,
RectangleF  rect,
MetafileFrameUnit  frameUnit,
EmfType  type 
)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ Metafile() [7/7]

ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::Metafile ( IntPtr  ,
EmfType   
)

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ ~Metafile()

virtual ASPOSECPP_SHARED_API System::Drawing::Imaging::Metafile::~Metafile ( )
virtual

Destructor.

Member Function Documentation

◆ Clone()

virtual ASPOSECPP_SHARED_API SharedPtr<Image> System::Drawing::Imaging::Metafile::Clone ( )
overridevirtual

Returns a copy of the current object.

Implements System::Drawing::Image.

◆ Draw() [1/3]

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

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

Implements System::Drawing::Image.

◆ Draw() [2/3]

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

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

Implements System::Drawing::Image.

◆ Draw() [3/3]

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

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

Implements System::Drawing::Image.

◆ get_Height()

virtual ASPOSECPP_SHARED_API int System::Drawing::Imaging::Metafile::get_Height ( ) const
overridevirtual

Returns the heights of the image in pixels.

Implements System::Drawing::Image.

◆ get_PixelFormat()

virtual ASPOSECPP_SHARED_API Imaging::PixelFormat System::Drawing::Imaging::Metafile::get_PixelFormat ( ) const
overridevirtual

Returns a value the indicates the pixel format.

Implements System::Drawing::Image.

◆ get_RawFormat()

virtual ASPOSECPP_SHARED_API Imaging::ImageFormatPtr System::Drawing::Imaging::Metafile::get_RawFormat ( ) const
overridevirtual

Returns a value the indicates the image format.

Implements System::Drawing::Image.

◆ get_Width()

virtual ASPOSECPP_SHARED_API int System::Drawing::Imaging::Metafile::get_Width ( ) const
overridevirtual

Returns the width of the image in pixels.

Implements System::Drawing::Image.

◆ GetDrawingCanvas()

virtual ASPOSECPP_SHARED_API std::unique_ptr<SkCanvas> System::Drawing::Imaging::Metafile::GetDrawingCanvas ( ) const
overrideprotectedvirtual

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

Implements System::Drawing::Image.

◆ GetHenhmetafile()

ASPOSECPP_SHARED_API IntPtr System::Drawing::Imaging::Metafile::GetHenhmetafile ( )

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

◆ GetMetafileHeader()

ASPOSECPP_SHARED_API SharedPtr<MetafileHeader> System::Drawing::Imaging::Metafile::GetMetafileHeader ( )

Returns a header associated with the current object.

◆ GetOriginalFormat()

virtual ASPOSECPP_SHARED_API Imaging::PixelFormat System::Drawing::Imaging::Metafile::GetOriginalFormat ( ) const
overrideprotectedvirtual

Returns the original image format.

Implements System::Drawing::Image.

◆ GetRawBytes()

virtual ASPOSECPP_SHARED_API sk_sp<SkData> System::Drawing::Imaging::Metafile::GetRawBytes ( SkEncodedImageFormat  encoder_type,
int  quality 
)
overrideprotectedvirtual

NOT IMPLEMENTED.

Exceptions
NotImplementedExceptionAlways

Implements System::Drawing::Image.

◆ GetSkBitmap()

virtual ASPOSECPP_SHARED_API const SkBitmap* System::Drawing::Imaging::Metafile::GetSkBitmap ( ) const
overrideprotectedvirtual

Returns an underlying SkBitmap object.

Implements System::Drawing::Image.

◆ GetSkEncodedFormat()

virtual ASPOSECPP_SHARED_API const SkEncodedImageFormat System::Drawing::Imaging::Metafile::GetSkEncodedFormat ( ) const
overrideprotectedvirtual

Returns an underlying SkEncodedFormat object.

Implements System::Drawing::Image.