Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Identifier.cs
- SqlConnectionFactory.cs
- UnmanagedMemoryStream.cs
- DesignerDataParameter.cs
- DocumentSequenceHighlightLayer.cs
- StyleBamlTreeBuilder.cs
- DashStyles.cs
- CounterCreationDataCollection.cs
- RenderDataDrawingContext.cs
- MaterialGroup.cs
- ServiceX509SecurityTokenProvider.cs
- MobileTextWriter.cs
- PropertyDescriptor.cs
- BindingGroup.cs
- FontUnit.cs
- XmlSignatureProperties.cs
- CellLabel.cs
- FieldBuilder.cs
- StructuredProperty.cs
- ClientRuntimeConfig.cs
- ContextMenuAutomationPeer.cs
- DataGridViewCellEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- StrongTypingException.cs
- EntityModelSchemaGenerator.cs
- OledbConnectionStringbuilder.cs
- WebColorConverter.cs
- MetaTable.cs
- ObjectDataSourceMethodEditor.cs
- Metafile.cs
- OracleTimeSpan.cs
- XmlSchemaChoice.cs
- selecteditemcollection.cs
- OdbcConnectionStringbuilder.cs
- XmlDownloadManager.cs
- FunctionMappingTranslator.cs
- BitmapEffectGroup.cs
- IndicFontClient.cs
- ToggleButtonAutomationPeer.cs
- DrawToolTipEventArgs.cs
- AutomationProperties.cs
- CaseInsensitiveComparer.cs
- StandardToolWindows.cs
- ClaimTypeElementCollection.cs
- WebPartUserCapability.cs
- DataGridViewToolTip.cs
- GridViewCancelEditEventArgs.cs
- PolyLineSegment.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- SelectionService.cs
- PropertyTab.cs
- IntSecurity.cs
- ImageList.cs
- HttpException.cs
- ContextQuery.cs
- HttpCacheParams.cs
- X509ThumbprintKeyIdentifierClause.cs
- NativeRightsManagementAPIsStructures.cs
- DbDataAdapter.cs
- ArraySegment.cs
- SiteMapNodeItemEventArgs.cs
- SqlUtils.cs
- ConditionalAttribute.cs
- EntityDataSourceDataSelectionPanel.cs
- DBSchemaTable.cs
- Sequence.cs
- EmbeddedObject.cs
- ControlParameter.cs
- Assembly.cs
- MimeXmlReflector.cs
- AlphabeticalEnumConverter.cs
- XmlSerializerFactory.cs
- EventLogTraceListener.cs
- Run.cs
- TraceHwndHost.cs
- PropertyManager.cs
- EntityObject.cs
- ClientSettingsStore.cs
- IIS7UserPrincipal.cs
- AsyncCodeActivityContext.cs
- XmlILOptimizerVisitor.cs
- VirtualDirectoryMappingCollection.cs
- TimeoutStream.cs
- InfoCardSymmetricCrypto.cs
- KeyPullup.cs
- SqlReorderer.cs
- mediaeventargs.cs
- basenumberconverter.cs
- RecordsAffectedEventArgs.cs
- XmlSchemaType.cs
- FormViewPageEventArgs.cs
- ConnectionOrientedTransportChannelFactory.cs
- DragEvent.cs
- Base64Encoder.cs
- SearchForVirtualItemEventArgs.cs
- Walker.cs
- DateTimeUtil.cs
- WebPartManagerDesigner.cs
- RSAOAEPKeyExchangeFormatter.cs
- ValidationSummaryDesigner.cs