Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- LocalizationComments.cs
- SQlBooleanStorage.cs
- JsonServiceDocumentSerializer.cs
- _HelperAsyncResults.cs
- NavigationPropertyAccessor.cs
- AppLevelCompilationSectionCache.cs
- IApplicationTrustManager.cs
- ClipboardProcessor.cs
- ApplicationException.cs
- httpstaticobjectscollection.cs
- DataTableClearEvent.cs
- GraphicsPathIterator.cs
- entityreference_tresulttype.cs
- AuthenticationConfig.cs
- DynamicDiscoSearcher.cs
- ControlBindingsCollection.cs
- StorageMappingItemCollection.cs
- Helpers.cs
- InteropBitmapSource.cs
- HeaderedContentControl.cs
- FontEmbeddingManager.cs
- ActivitiesCollection.cs
- Publisher.cs
- ValueOfAction.cs
- AutoScrollHelper.cs
- ADMembershipProvider.cs
- EFAssociationProvider.cs
- XmlNodeChangedEventArgs.cs
- Adorner.cs
- CompiledQueryCacheEntry.cs
- Form.cs
- RequestBringIntoViewEventArgs.cs
- URLIdentityPermission.cs
- AspNetRouteServiceHttpHandler.cs
- Parser.cs
- MappingMetadataHelper.cs
- DataGridViewColumnEventArgs.cs
- Misc.cs
- EnvelopedPkcs7.cs
- TypedTableBaseExtensions.cs
- StrokeCollection2.cs
- EntitySqlQueryBuilder.cs
- Padding.cs
- BitmapMetadataEnumerator.cs
- SqlConnectionFactory.cs
- RoleServiceManager.cs
- Char.cs
- HtmlWindow.cs
- QueueProcessor.cs
- SynchronizingStream.cs
- DecoderFallbackWithFailureFlag.cs
- WorkflowMarkupSerializerMapping.cs
- DynamicDataExtensions.cs
- RuntimeHelpers.cs
- EncryptedData.cs
- DataGridCommandEventArgs.cs
- HostedTcpTransportManager.cs
- TextServicesCompartmentEventSink.cs
- FileUtil.cs
- NativeMethods.cs
- SystemException.cs
- WindowsProgressbar.cs
- DataGridViewSortCompareEventArgs.cs
- StringInfo.cs
- ApplicationBuildProvider.cs
- SerializationUtility.cs
- SecurityTokenProvider.cs
- StylusPointProperties.cs
- CurrencyWrapper.cs
- PersistenceProviderBehavior.cs
- ItemCheckedEvent.cs
- EmptyControlCollection.cs
- ProcessHostConfigUtils.cs
- FrameworkElementFactoryMarkupObject.cs
- NavigationWindow.cs
- IArgumentProvider.cs
- HtmlInputCheckBox.cs
- AsyncResult.cs
- SevenBitStream.cs
- CompilerCollection.cs
- TypeUtils.cs
- OutputChannel.cs
- BooleanToVisibilityConverter.cs
- DescendentsWalkerBase.cs
- ComponentCollection.cs
- DynamicILGenerator.cs
- Brush.cs
- SamlNameIdentifierClaimResource.cs
- WebPartDisplayModeEventArgs.cs
- BitmapMetadataBlob.cs
- DataSysAttribute.cs
- DocumentPaginator.cs
- ExpandCollapsePattern.cs
- LassoSelectionBehavior.cs
- GenericTypeParameterConverter.cs
- StringStorage.cs
- ListViewItemMouseHoverEvent.cs
- BreakRecordTable.cs
- QilTargetType.cs
- EntryPointNotFoundException.cs