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
- ArrayExtension.cs
- XmlUtf8RawTextWriter.cs
- AppSettingsExpressionBuilder.cs
- DesignerRegion.cs
- StaticFileHandler.cs
- ContentPropertyAttribute.cs
- DescendantQuery.cs
- ApplyTemplatesAction.cs
- RequestCacheValidator.cs
- InvokeHandlers.cs
- ModelFactory.cs
- HtmlInputCheckBox.cs
- PropertyMappingExceptionEventArgs.cs
- Property.cs
- AlternateViewCollection.cs
- KnownColorTable.cs
- InertiaTranslationBehavior.cs
- HTMLTagNameToTypeMapper.cs
- ComboBox.cs
- DataFormats.cs
- EdmRelationshipRoleAttribute.cs
- DesignerRegion.cs
- JournalEntryStack.cs
- SelectionRangeConverter.cs
- DataObject.cs
- URIFormatException.cs
- Renderer.cs
- DataGridViewColumnStateChangedEventArgs.cs
- ValueChangedEventManager.cs
- TextPattern.cs
- FunctionNode.cs
- AuthStoreRoleProvider.cs
- WebPartEditorCancelVerb.cs
- CompleteWizardStep.cs
- _TransmitFileOverlappedAsyncResult.cs
- FactoryGenerator.cs
- PhysicalOps.cs
- LinearGradientBrush.cs
- SiteOfOriginPart.cs
- XmlDomTextWriter.cs
- SystemTcpStatistics.cs
- XDeferredAxisSource.cs
- WebReferencesBuildProvider.cs
- InvalidComObjectException.cs
- MsmqBindingMonitor.cs
- CodeTypeParameter.cs
- Pool.cs
- SharedPerformanceCounter.cs
- XhtmlBasicCommandAdapter.cs
- OletxTransactionManager.cs
- OleDbReferenceCollection.cs
- Selector.cs
- NoClickablePointException.cs
- SerTrace.cs
- WebService.cs
- Event.cs
- Section.cs
- StringStorage.cs
- HtmlControlPersistable.cs
- URLString.cs
- PolyBezierSegmentFigureLogic.cs
- XmlSchemaGroup.cs
- SqlUserDefinedAggregateAttribute.cs
- XPathItem.cs
- ScrollBar.cs
- CombinedTcpChannel.cs
- Focus.cs
- HostedImpersonationContext.cs
- ButtonFlatAdapter.cs
- MailDefinition.cs
- PathGeometry.cs
- SqlRecordBuffer.cs
- ReferenceEqualityComparer.cs
- Interlocked.cs
- FixUpCollection.cs
- EdmProperty.cs
- BindToObject.cs
- ButtonFieldBase.cs
- OracleCommandBuilder.cs
- DispatcherObject.cs
- HtmlTableRowCollection.cs
- PromptEventArgs.cs
- SerializationException.cs
- Module.cs
- DeviceOverridableAttribute.cs
- SRDisplayNameAttribute.cs
- Quad.cs
- Keyboard.cs
- DataSourceCacheDurationConverter.cs
- PlaceHolder.cs
- WrapperEqualityComparer.cs
- MessageEncoder.cs
- ScrollableControl.cs
- ItemCollection.cs
- ProcessModuleCollection.cs
- ProfileBuildProvider.cs
- CharStorage.cs
- CodeCommentStatement.cs
- _NetRes.cs
- CodeCompileUnit.cs