Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / ImageCodecInfo.cs / 1305376 / ImageCodecInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System; using System.Drawing; using System.Drawing.Internal; // sdkinc\imaging.h ////// /// public sealed class ImageCodecInfo { Guid clsid; Guid formatID; string codecName; string dllName; string formatDescription; string filenameExtension; string mimeType; ImageCodecFlags flags; int version; byte[][] signaturePatterns; byte[][] signatureMasks; internal ImageCodecInfo() { } ///[To be supplied.] ////// /// public Guid Clsid { get { return clsid; } set { clsid = value; } } ///[To be supplied.] ////// /// public Guid FormatID { get { return formatID; } set { formatID = value; } } ///[To be supplied.] ////// /// public string CodecName { get { return codecName; } set { codecName = value; } } ///[To be supplied.] ////// /// public string DllName { [SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")] get { if (dllName != null) { //a valid path is a security concern, demand //path discovery permission.... new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.PathDiscovery, dllName).Demand(); } return dllName; } [SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")] set { if (value != null) { //a valid path is a security concern, demand //path discovery permission.... new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.PathDiscovery, value).Demand(); } dllName = value; } } ///[To be supplied.] ////// /// public string FormatDescription { get { return formatDescription; } set { formatDescription = value; } } ///[To be supplied.] ////// /// public string FilenameExtension { get { return filenameExtension; } set { filenameExtension = value; } } ///[To be supplied.] ////// /// public string MimeType { get { return mimeType; } set { mimeType = value; } } ///[To be supplied.] ////// /// public ImageCodecFlags Flags { get { return flags; } set { flags = value; } } ///[To be supplied.] ////// /// public int Version { get { return version; } set { version = value; } } ///[To be supplied.] ////// /// [CLSCompliant(false)] public byte[][] SignaturePatterns { get { return signaturePatterns; } set { signaturePatterns = value; } } ///[To be supplied.] ////// /// [CLSCompliant(false)] public byte[][] SignatureMasks { get { return signatureMasks; } set { signatureMasks = value; } } // Encoder/Decoder selection APIs ///[To be supplied.] ////// /// public static ImageCodecInfo[] GetImageDecoders() { ImageCodecInfo[] imageCodecs; int numDecoders; int size; int status = SafeNativeMethods.Gdip.GdipGetImageDecodersSize(out numDecoders, out size); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } IntPtr memory = Marshal.AllocHGlobal(size); try { status = SafeNativeMethods.Gdip.GdipGetImageDecoders(numDecoders, size, memory); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } imageCodecs = ImageCodecInfo.ConvertFromMemory(memory, numDecoders); } finally { Marshal.FreeHGlobal(memory); } return imageCodecs; } ///[To be supplied.] ////// /// public static ImageCodecInfo[] GetImageEncoders() { ImageCodecInfo[] imageCodecs; int numEncoders; int size; int status = SafeNativeMethods.Gdip.GdipGetImageEncodersSize(out numEncoders, out size); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } IntPtr memory = Marshal.AllocHGlobal(size); try { status = SafeNativeMethods.Gdip.GdipGetImageEncoders(numEncoders, size, memory); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } imageCodecs = ImageCodecInfo.ConvertFromMemory(memory, numEncoders); } finally { Marshal.FreeHGlobal(memory); } return imageCodecs; } /* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future. internal static ImageCodecInfoPrivate ConvertToMemory(ImageCodecInfo imagecs) { ImageCodecInfoPrivate imagecsp = new ImageCodecInfoPrivate(); imagecsp.Clsid = imagecs.Clsid; imagecsp.FormatID = imagecs.FormatID; imagecsp.CodecName = Marshal.StringToHGlobalUni(imagecs.CodecName); imagecsp.DllName = Marshal.StringToHGlobalUni(imagecs.DllName); imagecsp.FormatDescription = Marshal.StringToHGlobalUni(imagecs.FormatDescription); imagecsp.FilenameExtension = Marshal.StringToHGlobalUni(imagecs.FilenameExtension); imagecsp.MimeType = Marshal.StringToHGlobalUni(imagecs.MimeType); imagecsp.Flags = (int)imagecs.Flags; imagecsp.Version = (int)imagecs.Version; imagecsp.SigCount = imagecs.SignaturePatterns.Length; imagecsp.SigSize = imagecs.SignaturePatterns[0].Length; imagecsp.SigPattern = Marshal.AllocHGlobal(imagecsp.SigCount*imagecsp.SigSize); imagecsp.SigMask = Marshal.AllocHGlobal(imagecsp.SigCount*imagecsp.SigSize); for (int i=0; i[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Imaging { using System.Text; using System.Runtime.InteropServices; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System; using System.Drawing; using System.Drawing.Internal; // sdkinc\imaging.h /// /// /// public sealed class ImageCodecInfo { Guid clsid; Guid formatID; string codecName; string dllName; string formatDescription; string filenameExtension; string mimeType; ImageCodecFlags flags; int version; byte[][] signaturePatterns; byte[][] signatureMasks; internal ImageCodecInfo() { } ///[To be supplied.] ////// /// public Guid Clsid { get { return clsid; } set { clsid = value; } } ///[To be supplied.] ////// /// public Guid FormatID { get { return formatID; } set { formatID = value; } } ///[To be supplied.] ////// /// public string CodecName { get { return codecName; } set { codecName = value; } } ///[To be supplied.] ////// /// public string DllName { [SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")] get { if (dllName != null) { //a valid path is a security concern, demand //path discovery permission.... new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.PathDiscovery, dllName).Demand(); } return dllName; } [SuppressMessage("Microsoft.Security", "CA2103:ReviewImperativeSecurity")] set { if (value != null) { //a valid path is a security concern, demand //path discovery permission.... new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.PathDiscovery, value).Demand(); } dllName = value; } } ///[To be supplied.] ////// /// public string FormatDescription { get { return formatDescription; } set { formatDescription = value; } } ///[To be supplied.] ////// /// public string FilenameExtension { get { return filenameExtension; } set { filenameExtension = value; } } ///[To be supplied.] ////// /// public string MimeType { get { return mimeType; } set { mimeType = value; } } ///[To be supplied.] ////// /// public ImageCodecFlags Flags { get { return flags; } set { flags = value; } } ///[To be supplied.] ////// /// public int Version { get { return version; } set { version = value; } } ///[To be supplied.] ////// /// [CLSCompliant(false)] public byte[][] SignaturePatterns { get { return signaturePatterns; } set { signaturePatterns = value; } } ///[To be supplied.] ////// /// [CLSCompliant(false)] public byte[][] SignatureMasks { get { return signatureMasks; } set { signatureMasks = value; } } // Encoder/Decoder selection APIs ///[To be supplied.] ////// /// public static ImageCodecInfo[] GetImageDecoders() { ImageCodecInfo[] imageCodecs; int numDecoders; int size; int status = SafeNativeMethods.Gdip.GdipGetImageDecodersSize(out numDecoders, out size); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } IntPtr memory = Marshal.AllocHGlobal(size); try { status = SafeNativeMethods.Gdip.GdipGetImageDecoders(numDecoders, size, memory); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } imageCodecs = ImageCodecInfo.ConvertFromMemory(memory, numDecoders); } finally { Marshal.FreeHGlobal(memory); } return imageCodecs; } ///[To be supplied.] ////// /// public static ImageCodecInfo[] GetImageEncoders() { ImageCodecInfo[] imageCodecs; int numEncoders; int size; int status = SafeNativeMethods.Gdip.GdipGetImageEncodersSize(out numEncoders, out size); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } IntPtr memory = Marshal.AllocHGlobal(size); try { status = SafeNativeMethods.Gdip.GdipGetImageEncoders(numEncoders, size, memory); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } imageCodecs = ImageCodecInfo.ConvertFromMemory(memory, numEncoders); } finally { Marshal.FreeHGlobal(memory); } return imageCodecs; } /* FxCop rule 'AvoidBuildingNonCallableCode' - Left here in case it is needed in the future. internal static ImageCodecInfoPrivate ConvertToMemory(ImageCodecInfo imagecs) { ImageCodecInfoPrivate imagecsp = new ImageCodecInfoPrivate(); imagecsp.Clsid = imagecs.Clsid; imagecsp.FormatID = imagecs.FormatID; imagecsp.CodecName = Marshal.StringToHGlobalUni(imagecs.CodecName); imagecsp.DllName = Marshal.StringToHGlobalUni(imagecs.DllName); imagecsp.FormatDescription = Marshal.StringToHGlobalUni(imagecs.FormatDescription); imagecsp.FilenameExtension = Marshal.StringToHGlobalUni(imagecs.FilenameExtension); imagecsp.MimeType = Marshal.StringToHGlobalUni(imagecs.MimeType); imagecsp.Flags = (int)imagecs.Flags; imagecsp.Version = (int)imagecs.Version; imagecsp.SigCount = imagecs.SignaturePatterns.Length; imagecsp.SigSize = imagecs.SignaturePatterns[0].Length; imagecsp.SigPattern = Marshal.AllocHGlobal(imagecsp.SigCount*imagecsp.SigSize); imagecsp.SigMask = Marshal.AllocHGlobal(imagecsp.SigCount*imagecsp.SigSize); for (int i=0; i[To be supplied.] ///
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlCharCheckingReader.cs
- PtsHost.cs
- ResourceProviderFactory.cs
- Ppl.cs
- UnsafeNativeMethodsMilCoreApi.cs
- SafeLocalMemHandle.cs
- DateTime.cs
- CallSiteBinder.cs
- MeasureItemEvent.cs
- ReferencedType.cs
- SystemBrushes.cs
- DataGridParentRows.cs
- precedingquery.cs
- ConsumerConnectionPointCollection.cs
- HttpChannelHelper.cs
- StandardMenuStripVerb.cs
- HostedAspNetEnvironment.cs
- SQLByte.cs
- DateTimeUtil.cs
- RowToFieldTransformer.cs
- EncoderBestFitFallback.cs
- FramingEncoders.cs
- SimpleWebHandlerParser.cs
- BaseCodePageEncoding.cs
- QuaternionConverter.cs
- PeerInputChannelListener.cs
- OleDbStruct.cs
- DataGridViewCellStyle.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- CryptoProvider.cs
- AssertSection.cs
- ProfileSettings.cs
- TimelineCollection.cs
- HistoryEventArgs.cs
- MultipartIdentifier.cs
- BasicViewGenerator.cs
- InvalidPrinterException.cs
- ListViewItemSelectionChangedEvent.cs
- MenuItemBindingCollection.cs
- OleDbConnectionInternal.cs
- RowVisual.cs
- TextServicesProperty.cs
- LinqToSqlWrapper.cs
- TypeBuilderInstantiation.cs
- EnumerableCollectionView.cs
- OdbcStatementHandle.cs
- HandledEventArgs.cs
- SqlGenericUtil.cs
- MenuRenderer.cs
- FormatPage.cs
- OletxDependentTransaction.cs
- ServiceChannelProxy.cs
- ScrollChangedEventArgs.cs
- PathParser.cs
- ThreadLocal.cs
- Debug.cs
- PointAnimationUsingPath.cs
- ProfilePropertyMetadata.cs
- BooleanToVisibilityConverter.cs
- Size.cs
- IERequestCache.cs
- SystemDiagnosticsSection.cs
- BypassElementCollection.cs
- ToolStripOverflowButton.cs
- ObjectCloneHelper.cs
- regiisutil.cs
- Debug.cs
- DataSourceCacheDurationConverter.cs
- LineProperties.cs
- PingReply.cs
- Matrix3D.cs
- MD5.cs
- _FtpDataStream.cs
- StylusCaptureWithinProperty.cs
- CaseExpr.cs
- ServiceDiscoveryBehavior.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- ExpressionList.cs
- CodeTypeMember.cs
- SqlNotificationRequest.cs
- MasterPageCodeDomTreeGenerator.cs
- SimplePropertyEntry.cs
- MemberMaps.cs
- SiteMapNodeItem.cs
- PolicyUnit.cs
- NotSupportedException.cs
- ProcessThreadDesigner.cs
- IPGlobalProperties.cs
- shaperfactoryquerycachekey.cs
- _OSSOCK.cs
- HttpProfileBase.cs
- TemplateControlParser.cs
- WinCategoryAttribute.cs
- JoinTreeSlot.cs
- IODescriptionAttribute.cs
- FrugalList.cs
- DynamicPropertyHolder.cs
- CancelRequestedQuery.cs
- EditorPartCollection.cs
- DrawToolTipEventArgs.cs