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
- XmlSchemaSimpleType.cs
- SplineQuaternionKeyFrame.cs
- WasEndpointConfigContainer.cs
- BCryptSafeHandles.cs
- SizeKeyFrameCollection.cs
- StateMachineDesignerPaint.cs
- MobileTextWriter.cs
- DelegatingConfigHost.cs
- EntityDataSourceValidationException.cs
- UpdateException.cs
- DelegatingTypeDescriptionProvider.cs
- StorageFunctionMapping.cs
- ClientScriptManager.cs
- linebase.cs
- DoubleLinkList.cs
- ObjectMemberMapping.cs
- DataGridViewCellStyleConverter.cs
- codemethodreferenceexpression.cs
- DataObjectSettingDataEventArgs.cs
- TypedTableHandler.cs
- ProfilePropertyMetadata.cs
- WebRequest.cs
- WebEvents.cs
- ObjectDataProvider.cs
- ObjectQuery_EntitySqlExtensions.cs
- FormsAuthenticationUserCollection.cs
- ExceptQueryOperator.cs
- SecurityIdentifierElement.cs
- DataBoundControlParameterTarget.cs
- ChangeToolStripParentVerb.cs
- Utils.cs
- XPathNodeIterator.cs
- WebServiceResponse.cs
- Int64AnimationBase.cs
- IUnknownConstantAttribute.cs
- EventTrigger.cs
- GeometryDrawing.cs
- Composition.cs
- TableCellAutomationPeer.cs
- AudioFormatConverter.cs
- WrappingXamlSchemaContext.cs
- Privilege.cs
- EventBuilder.cs
- Image.cs
- ExtenderControl.cs
- LambdaCompiler.Unary.cs
- TextEditorTyping.cs
- Events.cs
- EventListener.cs
- CheckedListBox.cs
- SortedDictionary.cs
- UriExt.cs
- XmlChildNodes.cs
- EntityParameterCollection.cs
- XmlDataSourceView.cs
- ListViewUpdateEventArgs.cs
- ExpressionDumper.cs
- localization.cs
- ZoneLinkButton.cs
- PerformanceCounterPermissionEntry.cs
- TagPrefixCollection.cs
- ObjectNotFoundException.cs
- XmlCharType.cs
- TypedTableBaseExtensions.cs
- HashCoreRequest.cs
- InvalidFilterCriteriaException.cs
- MsmqAppDomainProtocolHandler.cs
- CorrelationActionMessageFilter.cs
- Clipboard.cs
- ConstantSlot.cs
- FlowDocumentPageViewerAutomationPeer.cs
- EditorAttribute.cs
- MultipartIdentifier.cs
- DBCommandBuilder.cs
- MissingMemberException.cs
- PageClientProxyGenerator.cs
- DrawingContextDrawingContextWalker.cs
- QuaternionValueSerializer.cs
- EventLogger.cs
- Accessible.cs
- RangeEnumerable.cs
- BamlLocalizationDictionary.cs
- FloatAverageAggregationOperator.cs
- SmtpMail.cs
- TreeView.cs
- ImmutableCollection.cs
- BitmapEffectGroup.cs
- TemplateManager.cs
- FixedPosition.cs
- LineServicesRun.cs
- ListBindableAttribute.cs
- StateMachineExecutionState.cs
- ContentValidator.cs
- DataObjectEventArgs.cs
- XmlSecureResolver.cs
- URL.cs
- FilteredDataSetHelper.cs
- SqlMethodAttribute.cs
- HttpMethodConstraint.cs
- ListView.cs