Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CommonUI / System / Drawing / Advanced / ColorPalette.cs / 2 / ColorPalette.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.Drawing; ////// /// Defines an array of colors that make up a /// color palette. /// public sealed class ColorPalette { /// Note (From VSWhidbey#444618): We don't provide a public constructor for ColorPalette because if we allow /// arbitrary creation of color palettes you could in theroy not only change the color entries, but the size /// of the palette and that is not valid for an image (meaning you cannot change the palette size for an image). /// ColorPalettes are only valid for "indexed" images like GIFs. private int flags; private Color[] entries; ////// /// public int Flags { get { return flags; } } ////// Specifies how to interpret the color /// information in the array of colors. /// ////// /// Specifies an array of public Color[] Entries { get { return entries; } } internal ColorPalette(int count) { entries = new Color[count]; } internal ColorPalette() { entries = new Color[1]; } internal void ConvertFromMemory(IntPtr memory) { // Memory layout is: // UINT Flags // UINT Count // ARGB Entries[size] flags = Marshal.ReadInt32(memory); int size; size = Marshal.ReadInt32((IntPtr)((long)memory + 4)); // Marshal.SizeOf(size.GetType()) entries = new Color[size]; for (int i=0; iobjects. /// // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.Drawing; /// /// /// Defines an array of colors that make up a /// color palette. /// public sealed class ColorPalette { /// Note (From VSWhidbey#444618): We don't provide a public constructor for ColorPalette because if we allow /// arbitrary creation of color palettes you could in theroy not only change the color entries, but the size /// of the palette and that is not valid for an image (meaning you cannot change the palette size for an image). /// ColorPalettes are only valid for "indexed" images like GIFs. private int flags; private Color[] entries; ////// /// public int Flags { get { return flags; } } ////// Specifies how to interpret the color /// information in the array of colors. /// ////// /// Specifies an array of public Color[] Entries { get { return entries; } } internal ColorPalette(int count) { entries = new Color[count]; } internal ColorPalette() { entries = new Color[1]; } internal void ConvertFromMemory(IntPtr memory) { // Memory layout is: // UINT Flags // UINT Count // ARGB Entries[size] flags = Marshal.ReadInt32(memory); int size; size = Marshal.ReadInt32((IntPtr)((long)memory + 4)); // Marshal.SizeOf(size.GetType()) entries = new Color[size]; for (int i=0; iobjects. ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StrokeCollectionConverter.cs
- ContainerTracking.cs
- InputLangChangeEvent.cs
- DataFieldCollectionEditor.cs
- InheritablePropertyChangeInfo.cs
- RelationshipFixer.cs
- SmtpClient.cs
- LoadedEvent.cs
- ETagAttribute.cs
- Variant.cs
- EventDriven.cs
- HtmlString.cs
- _NegoState.cs
- DBParameter.cs
- EntityDataSourceContextCreatedEventArgs.cs
- TransformedBitmap.cs
- DefinitionUpdate.cs
- SettingsPropertyWrongTypeException.cs
- XmlnsDefinitionAttribute.cs
- ExpressionEvaluator.cs
- keycontainerpermission.cs
- Process.cs
- WebControlsSection.cs
- SystemIcons.cs
- ExtractCollection.cs
- ControlIdConverter.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- SequenceRange.cs
- X509Extension.cs
- CompiledIdentityConstraint.cs
- EncryptedKey.cs
- StreamMarshaler.cs
- TextContainerHelper.cs
- XslTransform.cs
- DataGridViewButtonColumn.cs
- XmlConverter.cs
- DataObjectCopyingEventArgs.cs
- MultipleCopiesCollection.cs
- EntityParameter.cs
- ElementAction.cs
- BindingGroup.cs
- TypeLoadException.cs
- FactoryGenerator.cs
- CharEntityEncoderFallback.cs
- AbsoluteQuery.cs
- ConnectionPoolManager.cs
- RenderData.cs
- TextTrailingCharacterEllipsis.cs
- bidPrivateBase.cs
- _KerberosClient.cs
- WebConfigurationHost.cs
- CompositeTypefaceMetrics.cs
- SendMailErrorEventArgs.cs
- EntityDataSourceWrapper.cs
- WebPartEditorApplyVerb.cs
- TextFormatterContext.cs
- XsltSettings.cs
- TextSelectionHelper.cs
- securitymgrsite.cs
- EtwTrace.cs
- DesignTimeTemplateParser.cs
- CodePrimitiveExpression.cs
- StringAnimationBase.cs
- DataGridViewComboBoxEditingControl.cs
- SafeBitVector32.cs
- GatewayIPAddressInformationCollection.cs
- UnmanagedBitmapWrapper.cs
- SiblingIterators.cs
- PropertyFilterAttribute.cs
- CellTreeNode.cs
- IisTraceListener.cs
- basecomparevalidator.cs
- Identifier.cs
- VarRemapper.cs
- ExpressionBuilder.cs
- CipherData.cs
- ObjectNavigationPropertyMapping.cs
- APCustomTypeDescriptor.cs
- RoleServiceManager.cs
- StrongNameMembershipCondition.cs
- RoleGroupCollection.cs
- ModifierKeysConverter.cs
- TransactionTable.cs
- XmlName.cs
- PrintingPermission.cs
- ConsoleEntryPoint.cs
- TableItemPatternIdentifiers.cs
- SecurityStandardsManager.cs
- WebBrowserContainer.cs
- XmlStringTable.cs
- DataSourceControlBuilder.cs
- CompilerWrapper.cs
- SelfIssuedAuthAsymmetricKey.cs
- Rectangle.cs
- AssemblyName.cs
- ChtmlTextWriter.cs
- PieceNameHelper.cs
- TreeNodeStyle.cs
- XmlUtf8RawTextWriter.cs
- XmlSchemaObject.cs