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
- ObjectQuery.cs
- ComboBoxRenderer.cs
- XmlHierarchicalEnumerable.cs
- DataGridRow.cs
- Site.cs
- IODescriptionAttribute.cs
- ControlPropertyNameConverter.cs
- DbInsertCommandTree.cs
- Marshal.cs
- PaginationProgressEventArgs.cs
- TdsEnums.cs
- ToolStripDropDownItem.cs
- NameValueFileSectionHandler.cs
- FrameworkElementFactoryMarkupObject.cs
- PathSegmentCollection.cs
- SqlOuterApplyReducer.cs
- MetaData.cs
- XamlFigureLengthSerializer.cs
- DesignerActionPanel.cs
- StrongTypingException.cs
- CodeMemberField.cs
- BasicBrowserDialog.cs
- OptimisticConcurrencyException.cs
- HtmlString.cs
- AutoGeneratedFieldProperties.cs
- FolderLevelBuildProvider.cs
- Triplet.cs
- ProfilePropertyNameValidator.cs
- HttpHandlerAction.cs
- ZoomPercentageConverter.cs
- EventDrivenDesigner.cs
- DiscardableAttribute.cs
- XmlReflectionImporter.cs
- MatrixValueSerializer.cs
- WebAdminConfigurationHelper.cs
- CollectionViewSource.cs
- PageBuildProvider.cs
- WebPartDisplayModeEventArgs.cs
- MenuItem.cs
- NamedServiceModelExtensionCollectionElement.cs
- MouseButton.cs
- CodeTypeReference.cs
- TemplateField.cs
- GlyphsSerializer.cs
- XPathChildIterator.cs
- WorkflowApplicationTerminatedException.cs
- ProjectionPlanCompiler.cs
- DocumentPageHost.cs
- WindowsListViewSubItem.cs
- Types.cs
- ManualResetEvent.cs
- ScriptingJsonSerializationSection.cs
- ClassicBorderDecorator.cs
- ManagedCodeMarkers.cs
- TransferRequestHandler.cs
- Connector.cs
- Style.cs
- ExportOptions.cs
- Base64Encoder.cs
- HttpCacheVary.cs
- DataDesignUtil.cs
- Memoizer.cs
- SimpleBitVector32.cs
- Container.cs
- ResetableIterator.cs
- PlatformNotSupportedException.cs
- HotSpotCollection.cs
- PersonalizationAdministration.cs
- XmlEnumAttribute.cs
- CrossSiteScriptingValidation.cs
- ControlDesigner.cs
- TemplateManager.cs
- IPGlobalProperties.cs
- ReliabilityContractAttribute.cs
- ResourceContainer.cs
- Msec.cs
- TCPClient.cs
- WebBrowserHelper.cs
- SqlDuplicator.cs
- UIServiceHelper.cs
- AtomicFile.cs
- HelpFileFileNameEditor.cs
- PrivateFontCollection.cs
- CatalogZoneBase.cs
- ParallelLoopState.cs
- InputScopeConverter.cs
- MobileControlsSection.cs
- StorageInfo.cs
- ListControl.cs
- DateTime.cs
- XamlRtfConverter.cs
- PermissionListSet.cs
- PresentationSource.cs
- UntrustedRecipientException.cs
- StreamWriter.cs
- GB18030Encoding.cs
- InstanceNameConverter.cs
- RtfControls.cs
- ArraySortHelper.cs
- ScalarConstant.cs