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
- SqlPersonalizationProvider.cs
- FileDialog_Vista_Interop.cs
- ColorBlend.cs
- StringValidatorAttribute.cs
- FlowDocumentPageViewerAutomationPeer.cs
- InternalSafeNativeMethods.cs
- Geometry3D.cs
- PartialCachingAttribute.cs
- HostedNamedPipeTransportManager.cs
- NavigationWindow.cs
- ListControl.cs
- CngKey.cs
- _NTAuthentication.cs
- MethodBuilderInstantiation.cs
- MouseButtonEventArgs.cs
- MSAAWinEventWrap.cs
- EventWaitHandle.cs
- DisplayNameAttribute.cs
- TdsParserStateObject.cs
- FullTextLine.cs
- CatalogPartCollection.cs
- FlowLayoutSettings.cs
- ColumnBinding.cs
- PropertyOverridesDialog.cs
- SecurityPermission.cs
- ServiceNameElement.cs
- DataSourceCache.cs
- SynchronizationHandlesCodeDomSerializer.cs
- BuildProvider.cs
- BitFlagsGenerator.cs
- BindStream.cs
- SplitterCancelEvent.cs
- CodeBlockBuilder.cs
- PageThemeBuildProvider.cs
- SerializeAbsoluteContext.cs
- MasterPage.cs
- DBBindings.cs
- BaseAddressPrefixFilterElementCollection.cs
- AppDomainGrammarProxy.cs
- TransformConverter.cs
- TypeReference.cs
- HyperLinkStyle.cs
- DictionaryBase.cs
- MediaTimeline.cs
- sqlpipe.cs
- ControlValuePropertyAttribute.cs
- XmlTextAttribute.cs
- EmbeddedMailObjectsCollection.cs
- MetadataException.cs
- MailWriter.cs
- WebGetAttribute.cs
- StorageSetMapping.cs
- PackWebRequest.cs
- EdmProperty.cs
- IDQuery.cs
- ObjectNavigationPropertyMapping.cs
- DataGridViewCellMouseEventArgs.cs
- RestClientProxyHandler.cs
- WindowsListViewScroll.cs
- MenuBase.cs
- DoubleAnimationUsingPath.cs
- AmbientProperties.cs
- AncillaryOps.cs
- HostedHttpTransportManager.cs
- OracleParameterCollection.cs
- Binding.cs
- Bezier.cs
- xmlglyphRunInfo.cs
- CalendarDesigner.cs
- SafeMILHandle.cs
- EntityPropertyMappingAttribute.cs
- StyleModeStack.cs
- ExceptionUtil.cs
- UserControlFileEditor.cs
- StrokeCollectionConverter.cs
- SegmentInfo.cs
- WebCategoryAttribute.cs
- BitmapCache.cs
- LicFileLicenseProvider.cs
- ProcessModelSection.cs
- ObjectItemCollection.cs
- DetailsViewUpdateEventArgs.cs
- TextBoxLine.cs
- MessageLoggingFilterTraceRecord.cs
- HandleCollector.cs
- QueryOutputWriter.cs
- MenuCommand.cs
- Keywords.cs
- SyndicationPerson.cs
- EntityConnectionStringBuilder.cs
- BuildManager.cs
- BuildResultCache.cs
- EdmItemCollection.cs
- RunInstallerAttribute.cs
- ConfigurationPropertyAttribute.cs
- DataColumnCollection.cs
- RecipientInfo.cs
- sqlnorm.cs
- VerticalAlignConverter.cs
- Activation.cs