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
- XPathSelectionIterator.cs
- PackageDigitalSignatureManager.cs
- WebReference.cs
- Crypto.cs
- NativeObjectSecurity.cs
- ScrollBar.cs
- TextEditorDragDrop.cs
- Attributes.cs
- TabRenderer.cs
- Parameter.cs
- IxmlLineInfo.cs
- DebugView.cs
- SafeNativeMethods.cs
- WebPartZoneBase.cs
- NumberEdit.cs
- WebPartEditorOkVerb.cs
- DbConnectionOptions.cs
- BrushProxy.cs
- MetadataArtifactLoaderCompositeFile.cs
- EncodingConverter.cs
- BinaryEditor.cs
- BaseAppDomainProtocolHandler.cs
- DataSourceXmlClassAttribute.cs
- MethodRental.cs
- TreeBuilderBamlTranslator.cs
- SiteMapSection.cs
- EnumerableValidator.cs
- PointLightBase.cs
- SchemaMerger.cs
- SwitchExpression.cs
- LocalizationComments.cs
- SqlCommandAsyncResult.cs
- BufferedGraphicsContext.cs
- FormattedText.cs
- DecimalConverter.cs
- AmbiguousMatchException.cs
- ProviderCollection.cs
- FontDialog.cs
- HostedHttpContext.cs
- QuadraticBezierSegment.cs
- RoutedCommand.cs
- BaseTemplatedMobileComponentEditor.cs
- SafeBitVector32.cs
- SubpageParagraph.cs
- TdsRecordBufferSetter.cs
- PostBackOptions.cs
- Vector3DKeyFrameCollection.cs
- ReversePositionQuery.cs
- GlyphShapingProperties.cs
- RawKeyboardInputReport.cs
- KeyValueSerializer.cs
- _NetRes.cs
- XmlRawWriterWrapper.cs
- ControlAdapter.cs
- HtmlLink.cs
- CqlParserHelpers.cs
- WinHttpWebProxyFinder.cs
- mediaclock.cs
- NativeWrapper.cs
- AccessorTable.cs
- InstancePersistenceException.cs
- ManagementException.cs
- AxHost.cs
- PlacementWorkspace.cs
- BypassElementCollection.cs
- DataGridViewCellEventArgs.cs
- TransactionInformation.cs
- DbConnectionPool.cs
- CompositeDataBoundControl.cs
- ScopelessEnumAttribute.cs
- COM2IDispatchConverter.cs
- SoapSchemaExporter.cs
- DbFunctionCommandTree.cs
- SubMenuStyleCollection.cs
- RelativeSource.cs
- ComboBox.cs
- UpdateCompiler.cs
- Membership.cs
- PriorityBinding.cs
- OpenTypeLayoutCache.cs
- PopupRootAutomationPeer.cs
- WarningException.cs
- DependencyPropertyValueSerializer.cs
- Decoder.cs
- NameValueSectionHandler.cs
- WebPartRestoreVerb.cs
- VectorCollectionConverter.cs
- MailHeaderInfo.cs
- WebServiceParameterData.cs
- Point.cs
- TableItemStyle.cs
- CheckBoxBaseAdapter.cs
- FormViewCommandEventArgs.cs
- TextEncodedRawTextWriter.cs
- XmlSchemaDatatype.cs
- PathGradientBrush.cs
- SecurityPermission.cs
- RangeBaseAutomationPeer.cs
- SQLMoneyStorage.cs
- SinglePageViewer.cs