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
- CombinedHttpChannel.cs
- ObjectDataSource.cs
- ModelItemDictionaryImpl.cs
- HandledMouseEvent.cs
- ISAPIRuntime.cs
- mediapermission.cs
- TextSelection.cs
- ErrorHandler.cs
- RecipientInfo.cs
- HyperLinkField.cs
- ModuleElement.cs
- BinaryMethodMessage.cs
- BaseValidator.cs
- OptimizerPatterns.cs
- ComNativeDescriptor.cs
- ClientRuntimeConfig.cs
- UnmanagedMemoryStream.cs
- TreeIterator.cs
- IRCollection.cs
- ActivationServices.cs
- DataReaderContainer.cs
- SqlDelegatedTransaction.cs
- GridViewPageEventArgs.cs
- InitializationEventAttribute.cs
- SafeNativeMethods.cs
- OdbcConnectionFactory.cs
- DocumentViewerAutomationPeer.cs
- ListenerConnectionDemuxer.cs
- XmlSchemaImporter.cs
- TextCharacters.cs
- SqlDependencyUtils.cs
- DecimalConverter.cs
- ToolboxSnapDragDropEventArgs.cs
- BaseParagraph.cs
- DataBoundControlDesigner.cs
- HTMLTextWriter.cs
- FilterRepeater.cs
- CompleteWizardStep.cs
- VBCodeProvider.cs
- UriTemplateTrieLocation.cs
- AutomationAttributeInfo.cs
- DataListItemCollection.cs
- CachingHintValidation.cs
- DataControlImageButton.cs
- QueryCursorEventArgs.cs
- TextAnchor.cs
- RawStylusInputCustomDataList.cs
- Range.cs
- WebPartCollection.cs
- ObjectMaterializedEventArgs.cs
- ToolStripPanelRow.cs
- SymmetricSecurityBindingElement.cs
- AccessDataSourceView.cs
- WinOEToolBoxItem.cs
- StrongNameMembershipCondition.cs
- DataMemberConverter.cs
- WorkerRequest.cs
- TransformerInfo.cs
- QilPatternFactory.cs
- SqlDataRecord.cs
- EditorPartChrome.cs
- RightsManagementInformation.cs
- GenericIdentity.cs
- Transaction.cs
- MiniModule.cs
- UnsafeNativeMethods.cs
- ObjectConverter.cs
- DataGridTable.cs
- PenThread.cs
- QueryOutputWriter.cs
- Visual3D.cs
- StreamGeometry.cs
- MenuItemStyleCollection.cs
- Attributes.cs
- ToolStripLocationCancelEventArgs.cs
- IdnElement.cs
- WindowsTitleBar.cs
- Vector3DCollection.cs
- NativeObjectSecurity.cs
- ContextStack.cs
- TableAdapterManagerNameHandler.cs
- RichTextBoxAutomationPeer.cs
- Enlistment.cs
- HostingEnvironmentSection.cs
- OleDbStruct.cs
- AttributeProviderAttribute.cs
- RIPEMD160.cs
- TextOutput.cs
- DataGridViewControlCollection.cs
- PaintEvent.cs
- WebReferenceCollection.cs
- DbProviderServices.cs
- ObjectAnimationUsingKeyFrames.cs
- ParameterBuilder.cs
- TaiwanCalendar.cs
- WorkflowViewElement.cs
- EncodingTable.cs
- PriorityRange.cs
- PowerModeChangedEventArgs.cs
- DatagridviewDisplayedBandsData.cs