示例#1
0
        public MemoryFilterProvider(IDecodeParameterResolver decodeParameterResolver, IPngPredictor pngPredictor, ILog log)
        {
            var ascii85   = new Ascii85Filter();
            var asciiHex  = new AsciiHexDecodeFilter();
            var ccitt     = new CcittFaxDecodeFilter();
            var dct       = new DctDecodeFilter();
            var flate     = new FlateFilter(decodeParameterResolver, pngPredictor, log);
            var jbig2     = new Jbig2DecodeFilter();
            var jpx       = new JpxDecodeFilter();
            var runLength = new RunLengthFilter();
            var lzw       = new LzwFilter(decodeParameterResolver, pngPredictor);

            filterInstances = new Dictionary <string, IFilter>
            {
                { NameToken.Ascii85Decode.Data, ascii85 },
                { NameToken.Ascii85DecodeAbbreviation.Data, ascii85 },
                { NameToken.AsciiHexDecode.Data, asciiHex },
                { NameToken.AsciiHexDecodeAbbreviation.Data, asciiHex },
                { NameToken.CcittfaxDecode.Data, ccitt },
                { NameToken.CcittfaxDecodeAbbreviation.Data, ccitt },
                { NameToken.DctDecode.Data, dct },
                { NameToken.DctDecodeAbbreviation.Data, dct },
                { NameToken.FlateDecode.Data, flate },
                { NameToken.FlateDecodeAbbreviation.Data, flate },
                { NameToken.Jbig2Decode.Data, jbig2 },
                { NameToken.JpxDecode.Data, jpx },
                { NameToken.RunLengthDecode.Data, runLength },
                { NameToken.RunLengthDecodeAbbreviation.Data, runLength },
                { NameToken.LzwDecode, lzw },
                { NameToken.LzwDecodeAbbreviation, lzw }
            };
        }
示例#2
0
        public MemoryFilterProvider(IDecodeParameterResolver decodeParameterResolver, IPngPredictor pngPredictor, ILog log)
        {
            IFilter Ascii85Func() => new Ascii85Filter();
            IFilter AsciiHexFunc() => new AsciiHexDecodeFilter();
            IFilter FlateFunc() => new FlateFilter(decodeParameterResolver, pngPredictor, log);
            IFilter RunLengthFunc() => new RunLengthFilter();

            filterFactories = new Dictionary <CosName, Func <IFilter> >
            {
                { CosName.ASCII85_DECODE, Ascii85Func },
                { CosName.ASCII85_DECODE_ABBREVIATION, Ascii85Func },
                { CosName.ASCII_HEX_DECODE, AsciiHexFunc },
                { CosName.ASCII_HEX_DECODE_ABBREVIATION, AsciiHexFunc },
                { CosName.FLATE_DECODE, FlateFunc },
                { CosName.FLATE_DECODE_ABBREVIATION, FlateFunc },
                { CosName.RUN_LENGTH_DECODE, RunLengthFunc },
                { CosName.RUN_LENGTH_DECODE_ABBREVIATION, RunLengthFunc }
            };
        }
示例#3
0
        public MemoryFilterProvider(IDecodeParameterResolver decodeParameterResolver, IPngPredictor pngPredictor, ILog log)
        {
            IFilter Ascii85Func() => new Ascii85Filter();
            IFilter AsciiHexFunc() => new AsciiHexDecodeFilter();
            IFilter FlateFunc() => new FlateFilter(decodeParameterResolver, pngPredictor, log);
            IFilter RunLengthFunc() => new RunLengthFilter();

            filterFactories = new Dictionary <string, Func <IFilter> >
            {
                { NameToken.Ascii85Decode.Data, Ascii85Func },
                { NameToken.Ascii85DecodeAbbreviation.Data, Ascii85Func },
                { NameToken.AsciiHexDecode.Data, AsciiHexFunc },
                { NameToken.AsciiHexDecodeAbbreviation.Data, AsciiHexFunc },
                { NameToken.FlateDecode.Data, FlateFunc },
                { NameToken.FlateDecodeAbbreviation.Data, FlateFunc },
                { NameToken.RunLengthDecode.Data, RunLengthFunc },
                { NameToken.RunLengthDecodeAbbreviation.Data, RunLengthFunc }
            };
        }
示例#4
0
 public LzwFilter(IDecodeParameterResolver decodeParameterResolver, IPngPredictor pngPredictor)
 {
     this.decodeParameterResolver = decodeParameterResolver ?? throw new ArgumentNullException(nameof(decodeParameterResolver));
     this.pngPredictor            = pngPredictor ?? throw new ArgumentNullException(nameof(pngPredictor));
 }
示例#5
0
 public FlateFilter(IDecodeParameterResolver decodeParameterResolver, IPngPredictor pngPredictor, ILog log)
 {
     this.decodeParameterResolver = decodeParameterResolver;
     this.pngPredictor            = pngPredictor;
     this.log = log;
 }