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
- SmiContextFactory.cs
- PipelineModuleStepContainer.cs
- ProtocolElementCollection.cs
- HtmlTableRowCollection.cs
- SizeConverter.cs
- NativeMethods.cs
- CustomBindingElementCollection.cs
- ActivationServices.cs
- SimpleExpression.cs
- SqlProviderUtilities.cs
- DeferredReference.cs
- LinearQuaternionKeyFrame.cs
- WebPartZoneCollection.cs
- X509DefaultServiceCertificateElement.cs
- SessionStateModule.cs
- X509CertificateCollection.cs
- ThreadStartException.cs
- DataFormat.cs
- DictionaryMarkupSerializer.cs
- UnsafeMethods.cs
- MemoryFailPoint.cs
- TargetPerspective.cs
- MsdtcWrapper.cs
- XPathDocumentBuilder.cs
- XhtmlConformanceSection.cs
- OledbConnectionStringbuilder.cs
- BitmapPalettes.cs
- PolicyStatement.cs
- InvokeProviderWrapper.cs
- PeerPresenceInfo.cs
- UserPersonalizationStateInfo.cs
- HttpTransportSecurityElement.cs
- TaskbarItemInfo.cs
- UTF32Encoding.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- safex509handles.cs
- DBConnection.cs
- WebPartActionVerb.cs
- SystemIPGlobalProperties.cs
- ObjectListTitleAttribute.cs
- TypeConverterAttribute.cs
- SelectedPathEditor.cs
- PersianCalendar.cs
- XamlDesignerSerializationManager.cs
- TextRunCache.cs
- BaseDataListComponentEditor.cs
- SparseMemoryStream.cs
- SchemaElementLookUpTable.cs
- C14NUtil.cs
- DataSourceSelectArguments.cs
- ServicePointManager.cs
- SizeChangedInfo.cs
- DPAPIProtectedConfigurationProvider.cs
- Atom10FeedFormatter.cs
- DataPointer.cs
- CodeAttributeDeclaration.cs
- PKCS1MaskGenerationMethod.cs
- UTF7Encoding.cs
- UInt16Storage.cs
- NonParentingControl.cs
- EncodingDataItem.cs
- HtmlAnchor.cs
- _ContextAwareResult.cs
- TextBoxBase.cs
- ResXFileRef.cs
- Solver.cs
- WindowsRichEdit.cs
- HMAC.cs
- JavaScriptSerializer.cs
- PropertyDescriptorGridEntry.cs
- WebPartConnectionsDisconnectVerb.cs
- SmiEventSink_DeferedProcessing.cs
- CustomErrorsSection.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SqlDataSourceConnectionPanel.cs
- DotExpr.cs
- MatrixCamera.cs
- DES.cs
- AutoResetEvent.cs
- SymbolDocumentGenerator.cs
- UInt16Converter.cs
- DupHandleConnectionReader.cs
- CriticalFileToken.cs
- DataBindingCollection.cs
- XamlPathDataSerializer.cs
- ContentValidator.cs
- CrossContextChannel.cs
- XamlSerializer.cs
- BitmapCache.cs
- TableLayoutColumnStyleCollection.cs
- SoapException.cs
- TypeUtil.cs
- indexingfiltermarshaler.cs
- ProgressBar.cs
- CheckableControlBaseAdapter.cs
- MemberRelationshipService.cs
- SystemResourceKey.cs
- SplineQuaternionKeyFrame.cs
- SwitchElementsCollection.cs
- VisualBrush.cs