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 / Media / ImageSource.cs / 1 / 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 ////// Derived classes must override this method and update realizations on dependent /// resources if required. /// internal virtual void UpdateRealizations(RealizationContext ctx) { return; } ////// 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 ////// Derived classes must override this method and update realizations on dependent /// resources if required. /// internal virtual void UpdateRealizations(RealizationContext ctx) { return; } ////// 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
- WebServicesSection.cs
- FormParameter.cs
- Rotation3DAnimationUsingKeyFrames.cs
- AccessDataSourceView.cs
- XmlSerializerVersionAttribute.cs
- IntellisenseTextBox.cs
- MultiPageTextView.cs
- DataSetMappper.cs
- SortDescription.cs
- Selector.cs
- PerspectiveCamera.cs
- WebOperationContext.cs
- DBSqlParserColumn.cs
- TextDecorationCollection.cs
- _NestedMultipleAsyncResult.cs
- UIPermission.cs
- DelayedRegex.cs
- SecurityTokenInclusionMode.cs
- HighlightComponent.cs
- ComponentCommands.cs
- KerberosTicketHashIdentifierClause.cs
- OrderedDictionary.cs
- FileDialogCustomPlacesCollection.cs
- SystemFonts.cs
- XmlTypeAttribute.cs
- Scripts.cs
- GradientStopCollection.cs
- TreeNodeStyleCollectionEditor.cs
- ProtocolsConfigurationEntry.cs
- MediaContextNotificationWindow.cs
- DecoderFallback.cs
- VersionPair.cs
- DiscardableAttribute.cs
- RecordBuilder.cs
- LiteralControl.cs
- NumericUpDownAcceleration.cs
- SharedDp.cs
- AlphaSortedEnumConverter.cs
- GroupPartitionExpr.cs
- DelegatingTypeDescriptionProvider.cs
- VirtualizingPanel.cs
- DefaultParameterValueAttribute.cs
- DataRelationCollection.cs
- WhileDesigner.cs
- ToolStripArrowRenderEventArgs.cs
- ObjectPersistData.cs
- ZoneMembershipCondition.cs
- SQLGuidStorage.cs
- XsdDataContractExporter.cs
- RuntimeEnvironment.cs
- Visual3D.cs
- XmlDesigner.cs
- IDictionary.cs
- PropertyValueUIItem.cs
- VBCodeProvider.cs
- FontDriver.cs
- TraceListener.cs
- SqlDataRecord.cs
- SecureStringHasher.cs
- TemplateField.cs
- EmulateRecognizeCompletedEventArgs.cs
- Exception.cs
- Evidence.cs
- AppliedDeviceFiltersEditor.cs
- SecurityResources.cs
- DispatchProxy.cs
- FormViewDeleteEventArgs.cs
- XmlWriterSettings.cs
- SqlCacheDependencyDatabase.cs
- PropertyMapper.cs
- ColumnTypeConverter.cs
- FieldDescriptor.cs
- __TransparentProxy.cs
- PackWebResponse.cs
- HttpSocketManager.cs
- DataServiceHostFactory.cs
- IntegrationExceptionEventArgs.cs
- PostBackTrigger.cs
- _HeaderInfoTable.cs
- DefaultValueConverter.cs
- _LazyAsyncResult.cs
- ModuleBuilderData.cs
- OdbcConnectionString.cs
- InputMethodStateChangeEventArgs.cs
- GACIdentityPermission.cs
- WindowsListBox.cs
- AutomationProperties.cs
- SqlDependencyUtils.cs
- AmbientLight.cs
- TextEncodedRawTextWriter.cs
- TextTreePropertyUndoUnit.cs
- SelectionRangeConverter.cs
- CodeObject.cs
- FragmentQueryKB.cs
- QilStrConcatenator.cs
- ResourcesGenerator.cs
- SqlRowUpdatedEvent.cs
- DictionarySectionHandler.cs
- ReflectionServiceProvider.cs
- ToolStripPanelSelectionBehavior.cs