Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / InterOp / Imaging.cs / 1 / Imaging.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved. // // File: Imaging.cs // //----------------------------------------------------------------------------- using System; using System.Security; using System.Security.Permissions; using MS.Internal; using System.Diagnostics; using System.Windows; using System.Windows.Media.Imaging; using Microsoft.Win32.SafeHandles; using MS.Internal.PresentationCore; // SecurityHelper using System.Windows.Interop; namespace System.Windows.Interop { ////// Managed/Unmanaged Interop for Imaging. /// public static class Imaging { ////// Construct an Bitmap from a HBITMAP. /// /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical] unsafe public static BitmapSource CreateBitmapSourceFromHBitmap( IntPtr bitmap, IntPtr palette, Int32Rect sourceRect, BitmapSizeOptions sizeOptions) { SecurityHelper.DemandUnmanagedCode(); // CR: dwaynen (1681459) return CriticalCreateBitmapSourceFromHBitmap(bitmap, palette, sourceRect, sizeOptions, WICBitmapAlphaChannelOption.WICBitmapUseAlpha); } ////// Construct an Bitmap from a HBITMAP. /// /// /// /// /// /// ////// Critical - calls critical code, access unmanaged resources /// [SecurityCritical] unsafe internal static BitmapSource CriticalCreateBitmapSourceFromHBitmap( IntPtr bitmap, IntPtr palette, Int32Rect sourceRect, BitmapSizeOptions sizeOptions, WICBitmapAlphaChannelOption alphaOptions) { if (bitmap == IntPtr.Zero) { throw new ArgumentNullException("bitmap"); } return new InteropBitmap(bitmap, palette, sourceRect, sizeOptions, alphaOptions); // use the critical version } ////// Construct an Bitmap from a HICON. /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical ] unsafe public static BitmapSource CreateBitmapSourceFromHIcon( IntPtr icon, Int32Rect sourceRect, BitmapSizeOptions sizeOptions) { SecurityHelper.DemandUnmanagedCode(); if (icon == IntPtr.Zero) { throw new ArgumentNullException("icon"); } return new InteropBitmap(icon, sourceRect, sizeOptions); } ////// Construct an Bitmap from a section handle. /// /// /// /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical ] unsafe public static BitmapSource CreateBitmapSourceFromMemorySection( IntPtr section, int pixelWidth, int pixelHeight, Media.PixelFormat format, int stride, int offset) { SecurityHelper.DemandUnmanagedCode(); if (section == IntPtr.Zero) { throw new ArgumentNullException("section"); } return new InteropBitmap(section, pixelWidth, pixelHeight, format, stride, offset); } } } // 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: Imaging.cs // //----------------------------------------------------------------------------- using System; using System.Security; using System.Security.Permissions; using MS.Internal; using System.Diagnostics; using System.Windows; using System.Windows.Media.Imaging; using Microsoft.Win32.SafeHandles; using MS.Internal.PresentationCore; // SecurityHelper using System.Windows.Interop; namespace System.Windows.Interop { ////// Managed/Unmanaged Interop for Imaging. /// public static class Imaging { ////// Construct an Bitmap from a HBITMAP. /// /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical] unsafe public static BitmapSource CreateBitmapSourceFromHBitmap( IntPtr bitmap, IntPtr palette, Int32Rect sourceRect, BitmapSizeOptions sizeOptions) { SecurityHelper.DemandUnmanagedCode(); // CR: dwaynen (1681459) return CriticalCreateBitmapSourceFromHBitmap(bitmap, palette, sourceRect, sizeOptions, WICBitmapAlphaChannelOption.WICBitmapUseAlpha); } ////// Construct an Bitmap from a HBITMAP. /// /// /// /// /// /// ////// Critical - calls critical code, access unmanaged resources /// [SecurityCritical] unsafe internal static BitmapSource CriticalCreateBitmapSourceFromHBitmap( IntPtr bitmap, IntPtr palette, Int32Rect sourceRect, BitmapSizeOptions sizeOptions, WICBitmapAlphaChannelOption alphaOptions) { if (bitmap == IntPtr.Zero) { throw new ArgumentNullException("bitmap"); } return new InteropBitmap(bitmap, palette, sourceRect, sizeOptions, alphaOptions); // use the critical version } ////// Construct an Bitmap from a HICON. /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical ] unsafe public static BitmapSource CreateBitmapSourceFromHIcon( IntPtr icon, Int32Rect sourceRect, BitmapSizeOptions sizeOptions) { SecurityHelper.DemandUnmanagedCode(); if (icon == IntPtr.Zero) { throw new ArgumentNullException("icon"); } return new InteropBitmap(icon, sourceRect, sizeOptions); } ////// Construct an Bitmap from a section handle. /// /// /// /// /// /// /// ////// Callers must have UnmanagedCode permission to call this API. /// ////// Critical - calls critical code, access unmanaged resources /// PublicOK - demands unmanaged code permission /// [SecurityCritical ] unsafe public static BitmapSource CreateBitmapSourceFromMemorySection( IntPtr section, int pixelWidth, int pixelHeight, Media.PixelFormat format, int stride, int offset) { SecurityHelper.DemandUnmanagedCode(); if (section == IntPtr.Zero) { throw new ArgumentNullException("section"); } return new InteropBitmap(section, pixelWidth, pixelHeight, format, stride, offset); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PersonalizationProviderCollection.cs
- EqualityArray.cs
- Column.cs
- LexicalChunk.cs
- TreePrinter.cs
- PolyBezierSegmentFigureLogic.cs
- DesignerAutoFormatCollection.cs
- CapabilitiesSection.cs
- CommonObjectSecurity.cs
- PageAsyncTask.cs
- SqlColumnizer.cs
- ControlIdConverter.cs
- ToolStripItemRenderEventArgs.cs
- Rect3DValueSerializer.cs
- SiteMapNodeItem.cs
- WebAdminConfigurationHelper.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- ProfilePropertySettings.cs
- DataSysAttribute.cs
- BamlLocalizableResourceKey.cs
- ConstraintConverter.cs
- ToolStripPanelCell.cs
- BaseCodeDomTreeGenerator.cs
- DbReferenceCollection.cs
- UnknownBitmapEncoder.cs
- SchemaCreator.cs
- COM2PictureConverter.cs
- ErrorStyle.cs
- TextEndOfSegment.cs
- ThousandthOfEmRealDoubles.cs
- BinaryUtilClasses.cs
- EnumerableRowCollectionExtensions.cs
- StringCollection.cs
- ConnectionsZone.cs
- ExceptionHandlers.cs
- InputProcessorProfilesLoader.cs
- QualificationDataItem.cs
- PageTheme.cs
- LoginStatusDesigner.cs
- ScrollProviderWrapper.cs
- DictionaryMarkupSerializer.cs
- WindowsHyperlink.cs
- TableProviderWrapper.cs
- StatusBarPanel.cs
- ValidationPropertyAttribute.cs
- SchemaImporterExtensionsSection.cs
- OpenTypeLayout.cs
- dataobject.cs
- TypeNameConverter.cs
- Header.cs
- BinaryFormatterWriter.cs
- TransactionState.cs
- StringUtil.cs
- ValidatorCompatibilityHelper.cs
- IntSecurity.cs
- XmlPropertyBag.cs
- AlphabeticalEnumConverter.cs
- ErrorProvider.cs
- SafeCoTaskMem.cs
- CachedPathData.cs
- MetadataItem_Static.cs
- connectionpool.cs
- ObjectCacheHost.cs
- ScriptResourceHandler.cs
- OleStrCAMarshaler.cs
- PersonalizableAttribute.cs
- X509ChainElement.cs
- Rotation3D.cs
- Padding.cs
- DataKeyArray.cs
- CodeBlockBuilder.cs
- ConfigXmlWhitespace.cs
- Point3D.cs
- PaperSource.cs
- ResourceExpressionBuilder.cs
- QuerySafeNavigator.cs
- XmlSchemaGroup.cs
- SystemIPGlobalProperties.cs
- LinqDataSourceView.cs
- Journal.cs
- InkCanvas.cs
- DecoderBestFitFallback.cs
- PartialList.cs
- RuntimeResourceSet.cs
- DataBoundControlAdapter.cs
- ContextMenu.cs
- StylusButtonEventArgs.cs
- HScrollBar.cs
- AdornerHitTestResult.cs
- SecureConversationServiceElement.cs
- ReturnType.cs
- EncoderNLS.cs
- isolationinterop.cs
- ThicknessAnimation.cs
- ScriptComponentDescriptor.cs
- ParameterRetriever.cs
- Win32Native.cs
- WebContentFormatHelper.cs
- WebProxyScriptElement.cs
- ImageField.cs