Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / InterOp / Imaging.cs / 1305600 / 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: [....] (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
- Models.cs
- ModelPerspective.cs
- ScriptingSectionGroup.cs
- Tablet.cs
- XamlTemplateSerializer.cs
- ConfigurationManagerInternal.cs
- EmptyEnumerator.cs
- FunctionDetailsReader.cs
- UrlPath.cs
- IsolatedStorageFileStream.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- AutomationProperties.cs
- Expressions.cs
- WizardPanel.cs
- WebPartConnectionsConnectVerb.cs
- SQLStringStorage.cs
- MonitoringDescriptionAttribute.cs
- DesignerResources.cs
- OptimisticConcurrencyException.cs
- StylusPointProperties.cs
- ModuleElement.cs
- sortedlist.cs
- BindingMemberInfo.cs
- BasicHttpMessageSecurityElement.cs
- XmlSchemaGroup.cs
- SynchronousSendBindingElement.cs
- HtmlSelect.cs
- XhtmlBasicLiteralTextAdapter.cs
- EllipseGeometry.cs
- JsonFormatMapping.cs
- TransactionManager.cs
- TraceRecord.cs
- EncryptedPackageFilter.cs
- DbReferenceCollection.cs
- ComponentEditorPage.cs
- PackageRelationshipCollection.cs
- OLEDB_Enum.cs
- ClientConfigPaths.cs
- WebEvents.cs
- RichTextBox.cs
- BinaryKeyIdentifierClause.cs
- XsdCachingReader.cs
- InfoCardKeyedHashAlgorithm.cs
- RSAPKCS1SignatureFormatter.cs
- OleDbFactory.cs
- xsdvalidator.cs
- UrlPath.cs
- UIElement.cs
- BitmapMetadata.cs
- CommandDevice.cs
- MenuItemStyle.cs
- DataGridViewCellStyle.cs
- ImageConverter.cs
- TrustManager.cs
- HandlerFactoryWrapper.cs
- TreeView.cs
- DocumentGridContextMenu.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- User.cs
- TdsParserStateObject.cs
- SettingsSection.cs
- CookieProtection.cs
- ExtensibleClassFactory.cs
- EndpointIdentityExtension.cs
- ConnectionsZone.cs
- ToolboxComponentsCreatedEventArgs.cs
- ResourceProperty.cs
- WmlControlAdapter.cs
- HttpCapabilitiesSectionHandler.cs
- TdsRecordBufferSetter.cs
- SharedPersonalizationStateInfo.cs
- SqlBuilder.cs
- PerformanceCounterLib.cs
- GifBitmapDecoder.cs
- ManagementObjectSearcher.cs
- CodeDOMUtility.cs
- GeneralTransform3DGroup.cs
- ADMembershipProvider.cs
- MenuStrip.cs
- SQLConvert.cs
- UnsettableComboBox.cs
- Schema.cs
- SubMenuStyleCollection.cs
- AssociationSetEnd.cs
- LogicalCallContext.cs
- HierarchicalDataSourceControl.cs
- EventQueueState.cs
- ExecutionTracker.cs
- DataGridViewImageCell.cs
- SqlMultiplexer.cs
- WrapPanel.cs
- BuildProvidersCompiler.cs
- RemotingServices.cs
- ToolboxDataAttribute.cs
- CommunicationObject.cs
- SimpleTypeResolver.cs
- FontEditor.cs
- ProtocolsConfiguration.cs
- MdiWindowListItemConverter.cs
- AddressingVersion.cs