Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- WebPageTraceListener.cs
- CustomValidator.cs
- XmlSerializerNamespaces.cs
- ArrangedElementCollection.cs
- SupportsEventValidationAttribute.cs
- XMLSchema.cs
- XmlSortKey.cs
- DataService.cs
- SqlBinder.cs
- ConfigurationManagerInternalFactory.cs
- CollectionsUtil.cs
- InputBinding.cs
- PipelineModuleStepContainer.cs
- ConnectionManagementElement.cs
- CodeNamespaceCollection.cs
- ClockGroup.cs
- UnionCqlBlock.cs
- SessionSwitchEventArgs.cs
- SQLUtility.cs
- Vector3DCollectionValueSerializer.cs
- UnionExpr.cs
- ExtensionElement.cs
- BaseProcessProtocolHandler.cs
- MapPathBasedVirtualPathProvider.cs
- PipeSecurity.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- EmptyEnumerator.cs
- ConfigUtil.cs
- QilChoice.cs
- TextTreeTextBlock.cs
- LocalClientSecuritySettingsElement.cs
- DiagnosticsElement.cs
- TextEffectCollection.cs
- HttpResponseBase.cs
- DefaultClaimSet.cs
- Soap12FormatExtensions.cs
- SharedStatics.cs
- HMACSHA384.cs
- TextEditorLists.cs
- ListViewHitTestInfo.cs
- GZipObjectSerializer.cs
- CallId.cs
- AmbiguousMatchException.cs
- QueryRewriter.cs
- CharAnimationUsingKeyFrames.cs
- XmlILModule.cs
- AbsoluteQuery.cs
- Brush.cs
- TcpDuplicateContext.cs
- ObjectListTitleAttribute.cs
- StyleSelector.cs
- PasswordRecovery.cs
- HttpWriter.cs
- ZipFileInfo.cs
- FormatPage.cs
- QilLoop.cs
- ObjectTag.cs
- XmlSchemaValidationException.cs
- SafeRegistryKey.cs
- XmlQuerySequence.cs
- GetPageCompletedEventArgs.cs
- OleDbConnectionInternal.cs
- SetterTriggerConditionValueConverter.cs
- InvokerUtil.cs
- ReadingWritingEntityEventArgs.cs
- RTLAwareMessageBox.cs
- Column.cs
- MatrixAnimationBase.cs
- CodeNamespaceCollection.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- DictionarySurrogate.cs
- BinaryWriter.cs
- GPRECT.cs
- EntityDataSource.cs
- AuthStoreRoleProvider.cs
- WindowsToolbarAsMenu.cs
- SingleKeyFrameCollection.cs
- StrokeCollection.cs
- PolyLineSegment.cs
- InputBinding.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- XComponentModel.cs
- ClonableStack.cs
- InfocardInteractiveChannelInitializer.cs
- EnlistmentTraceIdentifier.cs
- TagPrefixCollection.cs
- BindingCompleteEventArgs.cs
- MemberRelationshipService.cs
- ToolStripRendererSwitcher.cs
- DataStreamFromComStream.cs
- FunctionDescription.cs
- WebPartHelpVerb.cs
- AutomationProperties.cs
- GPRECT.cs
- RelatedView.cs
- GridToolTip.cs
- EntityDataSourceValidationException.cs
- RepeatInfo.cs
- Globals.cs
- DocumentViewerAutomationPeer.cs