Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / EncoderParameter.cs / 1305376 / EncoderParameter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System; using System.Text; using System.Diagnostics; using System.Drawing; using System.Runtime.InteropServices; using System.Drawing.Internal; ////// /// [StructLayout(LayoutKind.Sequential)] public sealed class EncoderParameter : IDisposable { [MarshalAs(UnmanagedType.Struct)] Guid parameterGuid; // GUID of the parameter int numberOfValues; // Number of the parameter values int parameterValueType; // Value type, like ValueTypeLONG etc. IntPtr parameterValue; // A pointer to the parameter values ///[To be supplied.] ///~EncoderParameter() { Dispose(false); } /// /// /// Gets/Sets the Encoder for the EncoderPameter. /// public Encoder Encoder { get { return new Encoder(parameterGuid); } set { parameterGuid = value.Guid; } } ////// /// Gets the EncoderParameterValueType object from the EncoderParameter. /// public EncoderParameterValueType Type { get { return (EncoderParameterValueType)parameterValueType; } } ////// /// Gets the EncoderParameterValueType object from the EncoderParameter. /// public EncoderParameterValueType ValueType { get { return (EncoderParameterValueType)parameterValueType; } } ////// /// Gets the NumberOfValues from the EncoderParameter. /// public int NumberOfValues { get { return numberOfValues; } } ////// /// public void Dispose() { Dispose(true); GC.KeepAlive(this); GC.SuppressFinalize(this); } void Dispose(bool disposing) { if (parameterValue != IntPtr.Zero) Marshal.FreeHGlobal(parameterValue); parameterValue = IntPtr.Zero; } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Byte))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteByte(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte value, bool undefined) { parameterGuid = encoder.Guid; if (undefined == true) parameterValueType = (int)EncoderParameterValueType.ValueTypeUndefined; else parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Byte))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteByte(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, short value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeShort; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int16))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt16(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLong; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int32))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, (int)value); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int numerator, int demoninator) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeRational; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, numerator); Marshal.WriteInt32(Add(parameterValue, size), demoninator); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long rangebegin, long rangeend) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLongRange; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, (int)rangebegin); Marshal.WriteInt32(Add(parameterValue, size), (int)rangeend); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int numerator1, int demoninator1, int numerator2, int demoninator2) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeRationalRange; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(4*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, numerator1); Marshal.WriteInt32(Add(parameterValue, size), demoninator1); Marshal.WriteInt32(Add(parameterValue, 2*size), numerator2); Marshal.WriteInt32(Add(parameterValue, 3*size), demoninator2); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, string value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeAscii; numberOfValues = value.Length; parameterValue = Marshal.StringToHGlobalAnsi(value); GC.KeepAlive(this); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = value.Length; parameterValue = Marshal.AllocHGlobal(numberOfValues); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte[] value, bool undefined) { parameterGuid = encoder.Guid; if (undefined == true) parameterValueType = (int)EncoderParameterValueType.ValueTypeUndefined; else parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = value.Length; parameterValue = Marshal.AllocHGlobal(numberOfValues); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, short[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeShort; numberOfValues = value.Length; int size = Marshal.SizeOf(typeof(short)); parameterValue = Marshal.AllocHGlobal(numberOfValues*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public unsafe EncoderParameter(Encoder encoder, long[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLong; numberOfValues = value.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); int* dest = (int*)parameterValue; fixed (long* source = value) { for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int[] numerator, int[] denominator) { parameterGuid = encoder.Guid; if (numerator.Length != denominator.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeRational; numberOfValues = numerator.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long[] rangebegin, long[] rangeend) { parameterGuid = encoder.Guid; if (rangebegin.Length != rangeend.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeLongRange; numberOfValues = rangebegin.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int[] numerator1, int[] denominator1, int[] numerator2, int[] denominator2) { parameterGuid = encoder.Guid; if (numerator1.Length != denominator1.Length || numerator1.Length != denominator2.Length || denominator1.Length != denominator2.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeRationalRange; numberOfValues = numerator1.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*4*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public EncoderParameter(Encoder encoder, int NumberOfValues, int Type, int Value) { int size; switch((EncoderParameterValueType)Type) { case EncoderParameterValueType.ValueTypeByte: case EncoderParameterValueType.ValueTypeAscii: size = 1; break; case EncoderParameterValueType.ValueTypeShort: size = 2; break; case EncoderParameterValueType.ValueTypeLong: size = 4; break; case EncoderParameterValueType.ValueTypeRational: case EncoderParameterValueType.ValueTypeLongRange: size = 2*4; break; case EncoderParameterValueType.ValueTypeUndefined: size = 1; break; case EncoderParameterValueType.ValueTypeRationalRange: size = 2*2*4; break; default: throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.WrongState); } int bytes = size*NumberOfValues; parameterValue = Marshal.AllocHGlobal(bytes); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System; using System.Text; using System.Diagnostics; using System.Drawing; using System.Runtime.InteropServices; using System.Drawing.Internal; /// /// /// [StructLayout(LayoutKind.Sequential)] public sealed class EncoderParameter : IDisposable { [MarshalAs(UnmanagedType.Struct)] Guid parameterGuid; // GUID of the parameter int numberOfValues; // Number of the parameter values int parameterValueType; // Value type, like ValueTypeLONG etc. IntPtr parameterValue; // A pointer to the parameter values ///[To be supplied.] ///~EncoderParameter() { Dispose(false); } /// /// /// Gets/Sets the Encoder for the EncoderPameter. /// public Encoder Encoder { get { return new Encoder(parameterGuid); } set { parameterGuid = value.Guid; } } ////// /// Gets the EncoderParameterValueType object from the EncoderParameter. /// public EncoderParameterValueType Type { get { return (EncoderParameterValueType)parameterValueType; } } ////// /// Gets the EncoderParameterValueType object from the EncoderParameter. /// public EncoderParameterValueType ValueType { get { return (EncoderParameterValueType)parameterValueType; } } ////// /// Gets the NumberOfValues from the EncoderParameter. /// public int NumberOfValues { get { return numberOfValues; } } ////// /// public void Dispose() { Dispose(true); GC.KeepAlive(this); GC.SuppressFinalize(this); } void Dispose(bool disposing) { if (parameterValue != IntPtr.Zero) Marshal.FreeHGlobal(parameterValue); parameterValue = IntPtr.Zero; } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Byte))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteByte(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte value, bool undefined) { parameterGuid = encoder.Guid; if (undefined == true) parameterValueType = (int)EncoderParameterValueType.ValueTypeUndefined; else parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Byte))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteByte(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, short value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeShort; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int16))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt16(parameterValue, value); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLong; numberOfValues = 1; parameterValue = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int32))); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, (int)value); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int numerator, int demoninator) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeRational; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, numerator); Marshal.WriteInt32(Add(parameterValue, size), demoninator); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long rangebegin, long rangeend) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLongRange; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, (int)rangebegin); Marshal.WriteInt32(Add(parameterValue, size), (int)rangeend); GC.KeepAlive(this); } // Consider supporting a 'float' and converting to numerator/denominator ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int numerator1, int demoninator1, int numerator2, int demoninator2) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeRationalRange; numberOfValues = 1; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(4*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.WriteInt32(parameterValue, numerator1); Marshal.WriteInt32(Add(parameterValue, size), demoninator1); Marshal.WriteInt32(Add(parameterValue, 2*size), numerator2); Marshal.WriteInt32(Add(parameterValue, 3*size), demoninator2); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, string value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeAscii; numberOfValues = value.Length; parameterValue = Marshal.StringToHGlobalAnsi(value); GC.KeepAlive(this); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = value.Length; parameterValue = Marshal.AllocHGlobal(numberOfValues); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, byte[] value, bool undefined) { parameterGuid = encoder.Guid; if (undefined == true) parameterValueType = (int)EncoderParameterValueType.ValueTypeUndefined; else parameterValueType = (int)EncoderParameterValueType.ValueTypeByte; numberOfValues = value.Length; parameterValue = Marshal.AllocHGlobal(numberOfValues); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, short[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeShort; numberOfValues = value.Length; int size = Marshal.SizeOf(typeof(short)); parameterValue = Marshal.AllocHGlobal(numberOfValues*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); Marshal.Copy(value, 0, parameterValue, numberOfValues); GC.KeepAlive(this); } ///[To be supplied.] ////// /// public unsafe EncoderParameter(Encoder encoder, long[] value) { parameterGuid = encoder.Guid; parameterValueType = (int)EncoderParameterValueType.ValueTypeLong; numberOfValues = value.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); int* dest = (int*)parameterValue; fixed (long* source = value) { for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int[] numerator, int[] denominator) { parameterGuid = encoder.Guid; if (numerator.Length != denominator.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeRational; numberOfValues = numerator.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, long[] rangebegin, long[] rangeend) { parameterGuid = encoder.Guid; if (rangebegin.Length != rangeend.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeLongRange; numberOfValues = rangebegin.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*2*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// public EncoderParameter(Encoder encoder, int[] numerator1, int[] denominator1, int[] numerator2, int[] denominator2) { parameterGuid = encoder.Guid; if (numerator1.Length != denominator1.Length || numerator1.Length != denominator2.Length || denominator1.Length != denominator2.Length) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.InvalidParameter); parameterValueType = (int)EncoderParameterValueType.ValueTypeRationalRange; numberOfValues = numerator1.Length; int size = Marshal.SizeOf(typeof(Int32)); parameterValue = Marshal.AllocHGlobal(numberOfValues*4*size); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ////// /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public EncoderParameter(Encoder encoder, int NumberOfValues, int Type, int Value) { int size; switch((EncoderParameterValueType)Type) { case EncoderParameterValueType.ValueTypeByte: case EncoderParameterValueType.ValueTypeAscii: size = 1; break; case EncoderParameterValueType.ValueTypeShort: size = 2; break; case EncoderParameterValueType.ValueTypeLong: size = 4; break; case EncoderParameterValueType.ValueTypeRational: case EncoderParameterValueType.ValueTypeLongRange: size = 2*4; break; case EncoderParameterValueType.ValueTypeUndefined: size = 1; break; case EncoderParameterValueType.ValueTypeRationalRange: size = 2*2*4; break; default: throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.WrongState); } int bytes = size*NumberOfValues; parameterValue = Marshal.AllocHGlobal(bytes); if (parameterValue == IntPtr.Zero) throw SafeNativeMethods.Gdip.StatusException(SafeNativeMethods.Gdip.OutOfMemory); for (int i=0; i[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RotateTransform.cs
- ResourceExpressionBuilder.cs
- URL.cs
- ThreadInterruptedException.cs
- RegexWorker.cs
- MimeFormReflector.cs
- SQLMembershipProvider.cs
- UseAttributeSetsAction.cs
- ServiceKnownTypeAttribute.cs
- OperandQuery.cs
- Point3DValueSerializer.cs
- TextElementCollectionHelper.cs
- AuthorizationRuleCollection.cs
- Timer.cs
- ExpressionBuilderContext.cs
- ConfigurationErrorsException.cs
- ParagraphVisual.cs
- CodeLabeledStatement.cs
- TextElementEditingBehaviorAttribute.cs
- XmlAnyAttributeAttribute.cs
- XmlDocumentType.cs
- MaterializeFromAtom.cs
- ProfileGroupSettingsCollection.cs
- MaterialCollection.cs
- ToolTipService.cs
- AuthenticationSection.cs
- DataGridLengthConverter.cs
- ConsumerConnectionPointCollection.cs
- SerialPort.cs
- ReadOnlyDataSource.cs
- MouseGestureValueSerializer.cs
- Utils.cs
- Transform.cs
- MemberAccessException.cs
- AuthorizationRuleCollection.cs
- TextServicesProperty.cs
- RelatedPropertyManager.cs
- TemplatedMailWebEventProvider.cs
- StylusDownEventArgs.cs
- DeferredTextReference.cs
- CollectionViewGroup.cs
- SigningCredentials.cs
- sqlser.cs
- XsltSettings.cs
- Label.cs
- Action.cs
- dbenumerator.cs
- CreateUserErrorEventArgs.cs
- NotSupportedException.cs
- ForeignConstraint.cs
- InputProcessorProfiles.cs
- ListChangedEventArgs.cs
- BlockingCollection.cs
- WebPartsPersonalization.cs
- SettingsPropertyValueCollection.cs
- CodeGenerator.cs
- AffineTransform3D.cs
- ModelItem.cs
- CollectionViewGroupInternal.cs
- Rule.cs
- HorizontalAlignConverter.cs
- Context.cs
- WCFModelStrings.Designer.cs
- DebugTracing.cs
- AnnotationResourceCollection.cs
- OleCmdHelper.cs
- KnownBoxes.cs
- DataObjectMethodAttribute.cs
- StatusBar.cs
- RequestQueue.cs
- StylusPointPropertyUnit.cs
- BamlLocalizabilityResolver.cs
- MouseBinding.cs
- AccessibilityHelperForVista.cs
- XPathArrayIterator.cs
- WinInet.cs
- DisposableCollectionWrapper.cs
- XhtmlBasicTextViewAdapter.cs
- RIPEMD160Managed.cs
- SRGSCompiler.cs
- OleDbCommand.cs
- PersonalizableAttribute.cs
- HttpRequestWrapper.cs
- hresults.cs
- PageBuildProvider.cs
- ResolveCriteria11.cs
- ResourceAttributes.cs
- safePerfProviderHandle.cs
- LoginName.cs
- TreeViewItem.cs
- XpsLiterals.cs
- SqlXml.cs
- ProviderUtil.cs
- LayoutUtils.cs
- DataGridViewCheckBoxCell.cs
- diagnosticsswitches.cs
- BaseParser.cs
- HtmlHead.cs
- Inline.cs
- PropertyValueUIItem.cs