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
- PrinterResolution.cs
- SiteMapDataSource.cs
- TemplateAction.cs
- DomainUpDown.cs
- DocumentationServerProtocol.cs
- DupHandleConnectionReader.cs
- WebPartEventArgs.cs
- InfiniteTimeSpanConverter.cs
- ContentElement.cs
- UrlPropertyAttribute.cs
- RegisteredScript.cs
- AvTraceFormat.cs
- TabItemWrapperAutomationPeer.cs
- EventSinkHelperWriter.cs
- XmlMemberMapping.cs
- TypeInfo.cs
- EdmProperty.cs
- PhonemeEventArgs.cs
- ExpressionContext.cs
- AnnotationObservableCollection.cs
- DesignSurfaceEvent.cs
- CharKeyFrameCollection.cs
- BindMarkupExtensionSerializer.cs
- SystemIPGlobalStatistics.cs
- ReaderWriterLock.cs
- BamlVersionHeader.cs
- FileEnumerator.cs
- EmbeddedObject.cs
- metadatamappinghashervisitor.cs
- ItemChangedEventArgs.cs
- PropertyItemInternal.cs
- StylusCollection.cs
- SqlStatistics.cs
- GeneralTransformGroup.cs
- DataGridViewButtonCell.cs
- DataGridViewCellMouseEventArgs.cs
- FactoryMaker.cs
- DataAdapter.cs
- PeerObject.cs
- XmlSerializer.cs
- EntryPointNotFoundException.cs
- SqlFunctions.cs
- CodeCompiler.cs
- TickBar.cs
- UserInitiatedNavigationPermission.cs
- MenuStrip.cs
- Line.cs
- FileDialogCustomPlace.cs
- Duration.cs
- TreeView.cs
- InputScopeAttribute.cs
- SchemaDeclBase.cs
- Matrix3D.cs
- TextTreeDeleteContentUndoUnit.cs
- Unit.cs
- RectangleConverter.cs
- DictionaryEntry.cs
- ComponentResourceManager.cs
- ProfileInfo.cs
- XmlSerializerSection.cs
- PropertyRef.cs
- SurrogateSelector.cs
- CapabilitiesRule.cs
- util.cs
- ConfigXmlWhitespace.cs
- ThumbAutomationPeer.cs
- CollectionViewGroupInternal.cs
- WebServiceData.cs
- EnumBuilder.cs
- ProcessModuleCollection.cs
- XmlSchemaAnyAttribute.cs
- AbstractSvcMapFileLoader.cs
- DataGridHeaderBorder.cs
- XsdCachingReader.cs
- TouchesOverProperty.cs
- SchemaImporterExtensionElement.cs
- AttributeConverter.cs
- IsolatedStorageFileStream.cs
- HMACSHA512.cs
- CultureMapper.cs
- CompiledXpathExpr.cs
- BaseConfigurationRecord.cs
- EntityDataSourceConfigureObjectContext.cs
- DependencyPropertyChangedEventArgs.cs
- NestPullup.cs
- Stopwatch.cs
- DataSourceView.cs
- FlowDocumentPageViewerAutomationPeer.cs
- NTAccount.cs
- CombinedGeometry.cs
- PrintDialogException.cs
- DateTimeStorage.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SessionStateSection.cs
- StylusPoint.cs
- FormViewInsertedEventArgs.cs
- ValidationErrorCollection.cs
- WizardStepBase.cs
- Rect.cs