Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / ImageSource.cs / 1305600 / ImageSource.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved. // // File: ImageSource.cs // //----------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using System.Windows.Markup; using MS.Win32; namespace System.Windows.Media { #region ImageSource ////// Interface for Bitmap Sources, included decoders and effects /// [TypeConverter(typeof(System.Windows.Media.ImageSourceConverter))] [ValueSerializer(typeof(ImageSourceValueSerializer))] [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] public abstract partial class ImageSource : Animatable { #region Constructor ////// Don't allow 3rd party extensibility. /// internal ImageSource() { } #endregion Constructor ////// Get the width of the image in measure units (96ths of an inch). /// abstract public double Width { get; } ////// Get the height of the image in measure units (96ths of an inch). /// abstract public double Height { get; } ////// Get the metadata associated with this image source /// abstract public ImageMetadata Metadata { get; } ////// Get the Size associated with this image source /// internal virtual Size Size { get { return new Size(Width, Height); } } #region ToInstanceDescriptor ////// Can serialze "this" to a string /// internal virtual bool CanSerializeToString() { return false; } #endregion ////// Converts pixels to DIPs in a way consistent with MIL. Protected here is okay /// because ImageSource isn't extensible by 3rd parties. /// protected static double PixelsToDIPs(double dpi, int pixels) { // Obtain the natural size in MIL Device Independant Pixels (DIPs, or 1/96") of the bitmap. // This is: (Bitmap Pixels) / (Bitmap DotsPerInch) * (DIPs per inch) float dpif = (float)dpi; // To be consistent with BitmapBrush // // Floating-point precision is used to maintain consistent // logic with BitmapBrush DPI scaling, which is implemented in // unmanaged code using single-precision math. Any changes to // this logic must also be updated in the UCE BitmapBrush // resource to maintain this consistency. if (dpif < 0.0F || FloatUtil.IsCloseToDivideByZero(96.0F, dpif)) { dpif = 96.0F; } return (double)(pixels * (96.0F / dpif)); } } #endregion // ImageSource } // 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: ImageSource.cs // //----------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using System.Windows.Markup; using MS.Win32; namespace System.Windows.Media { #region ImageSource ////// Interface for Bitmap Sources, included decoders and effects /// [TypeConverter(typeof(System.Windows.Media.ImageSourceConverter))] [ValueSerializer(typeof(ImageSourceValueSerializer))] [Localizability(LocalizationCategory.None, Readability = Readability.Unreadable)] public abstract partial class ImageSource : Animatable { #region Constructor ////// Don't allow 3rd party extensibility. /// internal ImageSource() { } #endregion Constructor ////// Get the width of the image in measure units (96ths of an inch). /// abstract public double Width { get; } ////// Get the height of the image in measure units (96ths of an inch). /// abstract public double Height { get; } ////// Get the metadata associated with this image source /// abstract public ImageMetadata Metadata { get; } ////// Get the Size associated with this image source /// internal virtual Size Size { get { return new Size(Width, Height); } } #region ToInstanceDescriptor ////// Can serialze "this" to a string /// internal virtual bool CanSerializeToString() { return false; } #endregion ////// Converts pixels to DIPs in a way consistent with MIL. Protected here is okay /// because ImageSource isn't extensible by 3rd parties. /// protected static double PixelsToDIPs(double dpi, int pixels) { // Obtain the natural size in MIL Device Independant Pixels (DIPs, or 1/96") of the bitmap. // This is: (Bitmap Pixels) / (Bitmap DotsPerInch) * (DIPs per inch) float dpif = (float)dpi; // To be consistent with BitmapBrush // // Floating-point precision is used to maintain consistent // logic with BitmapBrush DPI scaling, which is implemented in // unmanaged code using single-precision math. Any changes to // this logic must also be updated in the UCE BitmapBrush // resource to maintain this consistency. if (dpif < 0.0F || FloatUtil.IsCloseToDivideByZero(96.0F, dpif)) { dpif = 96.0F; } return (double)(pixels * (96.0F / dpif)); } } #endregion // ImageSource } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AutoGeneratedFieldProperties.cs
- ToolStripOverflow.cs
- CallSiteBinder.cs
- AudioLevelUpdatedEventArgs.cs
- Literal.cs
- XmlNodeList.cs
- RectConverter.cs
- XmlDataContract.cs
- AssemblySettingAttributes.cs
- ServiceModelConfigurationSectionGroup.cs
- DefaultTextStoreTextComposition.cs
- MobileControl.cs
- SqlInternalConnectionSmi.cs
- NativeActivityMetadata.cs
- XsltContext.cs
- TableLayoutPanelCellPosition.cs
- MemberCollection.cs
- TreeViewItemAutomationPeer.cs
- RuleSetReference.cs
- TempFiles.cs
- XmlSchemaGroup.cs
- Crypto.cs
- LocatorPart.cs
- PkcsMisc.cs
- EventEntry.cs
- Exceptions.cs
- InputLanguage.cs
- Vector3DCollection.cs
- HtmlGenericControl.cs
- Math.cs
- storepermissionattribute.cs
- NameValueFileSectionHandler.cs
- DrawingContextDrawingContextWalker.cs
- ProxyGenerationError.cs
- DesignBindingEditor.cs
- ServicesUtilities.cs
- ToolStripItemRenderEventArgs.cs
- DBCommandBuilder.cs
- Vector.cs
- SqlDelegatedTransaction.cs
- PtsHost.cs
- IgnoreFlushAndCloseStream.cs
- DecoderFallback.cs
- AutomationAttributeInfo.cs
- ButtonDesigner.cs
- EntityCollection.cs
- BooleanFunctions.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SessionParameter.cs
- FlowDocumentReaderAutomationPeer.cs
- WindowsSecurityTokenAuthenticator.cs
- WebMessageEncodingElement.cs
- QilInvoke.cs
- SecureConversationSecurityTokenParameters.cs
- ActivityValidator.cs
- DbParameterCollectionHelper.cs
- ObjectRef.cs
- TaiwanLunisolarCalendar.cs
- _AuthenticationState.cs
- LogRestartAreaEnumerator.cs
- XmlStreamStore.cs
- CacheMemory.cs
- ServiceObjectContainer.cs
- PersonalizationProvider.cs
- autovalidator.cs
- XmlSerializer.cs
- SapiAttributeParser.cs
- ToolStripItemCollection.cs
- ImageListImage.cs
- COM2ExtendedBrowsingHandler.cs
- IncrementalCompileAnalyzer.cs
- SHA1.cs
- ImmutableCommunicationTimeouts.cs
- CircleHotSpot.cs
- ViewService.cs
- FileCodeGroup.cs
- ScrollBar.cs
- WebContext.cs
- DeploymentExceptionMapper.cs
- ImageCodecInfo.cs
- TreeNodeBinding.cs
- UriTemplateMatch.cs
- InkCanvasSelection.cs
- ResetableIterator.cs
- AppDomain.cs
- MissingFieldException.cs
- WhitespaceReader.cs
- LowerCaseStringConverter.cs
- IntegerFacetDescriptionElement.cs
- TableParaClient.cs
- DbProviderConfigurationHandler.cs
- DoubleLink.cs
- DataGridViewRowConverter.cs
- SourceItem.cs
- BaseParser.cs
- SessionStateItemCollection.cs
- TdsParserSafeHandles.cs
- ComponentCache.cs
- SoapDocumentMethodAttribute.cs
- ToolStripGripRenderEventArgs.cs