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
- DesignerAutoFormatCollection.cs
- Point3DValueSerializer.cs
- LinearQuaternionKeyFrame.cs
- NonBatchDirectoryCompiler.cs
- Menu.cs
- ItemCheckedEvent.cs
- HwndKeyboardInputProvider.cs
- DisplayNameAttribute.cs
- NumberFunctions.cs
- DocumentOrderComparer.cs
- CatalogZone.cs
- documentation.cs
- PreservationFileReader.cs
- SettingsSavedEventArgs.cs
- TransformerTypeCollection.cs
- ServiceOperation.cs
- ObjectManager.cs
- XmlWrappingReader.cs
- StateMachine.cs
- PropertyMetadata.cs
- ExpressionEditorAttribute.cs
- RowCache.cs
- GradientPanel.cs
- CommentEmitter.cs
- SiteMapDesignerDataSourceView.cs
- X509CertificateRecipientClientCredential.cs
- FileClassifier.cs
- EnumBuilder.cs
- PropertyGeneratedEventArgs.cs
- ThreadStateException.cs
- UtilityExtension.cs
- OrderedDictionary.cs
- FlowchartDesigner.xaml.cs
- RoleManagerSection.cs
- InternalBase.cs
- LineSegment.cs
- SecurityContextTokenCache.cs
- XamlSerializationHelper.cs
- JoinCqlBlock.cs
- DPAPIProtectedConfigurationProvider.cs
- MobileListItem.cs
- MissingMethodException.cs
- QilVisitor.cs
- TileModeValidation.cs
- LinqDataSourceUpdateEventArgs.cs
- DataComponentMethodGenerator.cs
- DataGridTablesFactory.cs
- ThreadAttributes.cs
- XmlBinaryWriter.cs
- ResXFileRef.cs
- XsltSettings.cs
- CountdownEvent.cs
- BuildProviderCollection.cs
- DataGridViewCellValidatingEventArgs.cs
- ChtmlFormAdapter.cs
- CompositeActivityDesigner.cs
- RegexStringValidatorAttribute.cs
- AuthenticationModuleElementCollection.cs
- LogExtent.cs
- DecoderNLS.cs
- PathFigureCollection.cs
- SafeMILHandle.cs
- BinaryParser.cs
- AuthenticationSection.cs
- CryptoApi.cs
- InvalidDataException.cs
- MailWriter.cs
- TriggerActionCollection.cs
- ComponentSerializationService.cs
- SpecularMaterial.cs
- TraceSwitch.cs
- UnsafeNetInfoNativeMethods.cs
- SortExpressionBuilder.cs
- httpapplicationstate.cs
- FileDialog.cs
- COM2IProvidePropertyBuilderHandler.cs
- EventDriven.cs
- WebDisplayNameAttribute.cs
- Border.cs
- InfoCardRSACryptoProvider.cs
- PageSetupDialog.cs
- ValueProviderWrapper.cs
- XmlnsCache.cs
- CalendarDay.cs
- WindowsPen.cs
- AttributeProviderAttribute.cs
- HostedTransportConfigurationBase.cs
- VisualTreeHelper.cs
- ObjectPropertyMapping.cs
- AuthenticationConfig.cs
- SmiGettersStream.cs
- IpcClientChannel.cs
- printdlgexmarshaler.cs
- Interlocked.cs
- FocusManager.cs
- HttpCachePolicy.cs
- XmlDataSource.cs
- Color.cs
- TiffBitmapDecoder.cs
- FaultContractInfo.cs