BmpBitmapEncoder.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Media / Imaging / BmpBitmapEncoder.cs / 1 / BmpBitmapEncoder.cs

                            //------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, All Rights Reserved
//
//  File: BmpBitmapEncoder.cs 
//
//----------------------------------------------------------------------------- 
 
using System;
using System.Collections; 
using System.Security;
using System.Security.Permissions;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization; 
using System.Reflection;
using MS.Internal; 
using MS.Win32.PresentationCore; 
using System.Diagnostics;
using System.Windows.Media; 
using System.Globalization;
using System.Windows.Media.Imaging;

namespace System.Windows.Media.Imaging 
{
    #region BmpBitmapEncoder 
 
    /// 
    /// Built-in Encoder for Bmp files. 
    /// 
    public sealed class BmpBitmapEncoder : BitmapEncoder
    {
        #region Constructors 

        ///  
        /// Constructor for BmpBitmapEncoder 
        /// 
        ///  
        /// Critical - will eventually create unmanaged resources
        /// PublicOK - all inputs are verified
        /// 
        [SecurityCritical ] 
        public BmpBitmapEncoder() :
            base(true) 
        { 
            _supportsPreview = false;
            _supportsGlobalThumbnail = false; 
            _supportsGlobalMetadata = false;
            _supportsFrameThumbnails = false;
            _supportsMultipleFrames = false;
            _supportsFrameMetadata = false; 
        }
 
        #endregion 

        #region Internal Properties / Methods 

        /// 
        /// Returns the container format for this encoder
        ///  
        /// 
        /// Critical - uses guid to create unmanaged resources 
        ///  
        internal override Guid ContainerFormat
        { 
            [SecurityCritical]
            get
            {
                return _containerFormat; 
            }
        } 
 
        /// 
        /// Setups the encoder and other properties before encoding each frame 
        /// 
        /// 
        /// Critical - calls Critical Initialize()
        ///  
       [SecurityCritical]
        internal override void SetupFrame(SafeMILHandle frameEncodeHandle, SafeMILHandle encoderOptions) 
        { 
            HRESULT.Check(UnsafeNativeMethods.WICBitmapFrameEncode.Initialize(
                frameEncodeHandle, 
                encoderOptions
                ));
        }
 
        #endregion
 
        #region Internal Abstract 

        /// Need to implement this to derive from the "sealed" object 
        internal override void SealObject()
        {
            throw new NotImplementedException();
        } 

        #endregion 
 
        #region Data Members
 
        /// 
        /// Critical - CLSID used for creation of critical resources
        /// 
        [SecurityCritical] 
        private Guid _containerFormat = MILGuidData.GUID_ContainerFormatBmp;
 
        #endregion 
    }
 
    #endregion // BmpBitmapEncoder
}

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------ 
//  Microsoft Avalon
//  Copyright (c) Microsoft Corporation, All Rights Reserved
//
//  File: BmpBitmapEncoder.cs 
//
//----------------------------------------------------------------------------- 
 
using System;
using System.Collections; 
using System.Security;
using System.Security.Permissions;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization; 
using System.Reflection;
using MS.Internal; 
using MS.Win32.PresentationCore; 
using System.Diagnostics;
using System.Windows.Media; 
using System.Globalization;
using System.Windows.Media.Imaging;

namespace System.Windows.Media.Imaging 
{
    #region BmpBitmapEncoder 
 
    /// 
    /// Built-in Encoder for Bmp files. 
    /// 
    public sealed class BmpBitmapEncoder : BitmapEncoder
    {
        #region Constructors 

        ///  
        /// Constructor for BmpBitmapEncoder 
        /// 
        ///  
        /// Critical - will eventually create unmanaged resources
        /// PublicOK - all inputs are verified
        /// 
        [SecurityCritical ] 
        public BmpBitmapEncoder() :
            base(true) 
        { 
            _supportsPreview = false;
            _supportsGlobalThumbnail = false; 
            _supportsGlobalMetadata = false;
            _supportsFrameThumbnails = false;
            _supportsMultipleFrames = false;
            _supportsFrameMetadata = false; 
        }
 
        #endregion 

        #region Internal Properties / Methods 

        /// 
        /// Returns the container format for this encoder
        ///  
        /// 
        /// Critical - uses guid to create unmanaged resources 
        ///  
        internal override Guid ContainerFormat
        { 
            [SecurityCritical]
            get
            {
                return _containerFormat; 
            }
        } 
 
        /// 
        /// Setups the encoder and other properties before encoding each frame 
        /// 
        /// 
        /// Critical - calls Critical Initialize()
        ///  
       [SecurityCritical]
        internal override void SetupFrame(SafeMILHandle frameEncodeHandle, SafeMILHandle encoderOptions) 
        { 
            HRESULT.Check(UnsafeNativeMethods.WICBitmapFrameEncode.Initialize(
                frameEncodeHandle, 
                encoderOptions
                ));
        }
 
        #endregion
 
        #region Internal Abstract 

        /// Need to implement this to derive from the "sealed" object 
        internal override void SealObject()
        {
            throw new NotImplementedException();
        } 

        #endregion 
 
        #region Data Members
 
        /// 
        /// Critical - CLSID used for creation of critical resources
        /// 
        [SecurityCritical] 
        private Guid _containerFormat = MILGuidData.GUID_ContainerFormatBmp;
 
        #endregion 
    }
 
    #endregion // BmpBitmapEncoder
}

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK