示例#1
0
		public static ImageCodec CreateReader(Guid clsid) {
			ImageCodec codec = null;
			try {
				ImageCodecInfo codecInfo = FindDecoder(clsid);
				java.util.Iterator iter = imageio.ImageIO.getImageReadersByMIMEType( codecInfo.MimeType );
				codec = CreateReader(iter);
			}
			catch {}

			if (codec == null) {
				ImageFormat format = ClsidToImageFormat(clsid);
				string name = (format != null) ? format.ToString() : clsid.ToString();
				throw new NotSupportedException(String.Format("The '{0}' format decoder is not installed.", name));
			}

			return codec;
		}
		private static ImageCodec CreateWriter(java.util.Iterator iter) {
			if ( !iter.hasNext() )
				return null;
			
			ImageCodec imageCodec = new ImageCodec();
			imageCodec.NativeWriter = (imageio.ImageWriter) iter.next();
			return imageCodec;
		}