Class Origami::Filter::Flate
In: sources/parser/filters.rb
Parent: Object

Class representing a Filter used to encode and decode data with zlib/Flate compression algorithm.

Methods

decode   encode   new  

Included Modules

Filter

Classes and Modules

Class Origami::Filter::Flate::DecodeParms

Public Class methods

Create a new Flate Filter.

parameters:A hash of filter options (ignored).

[Source]

     # File sources/parser/filters.rb, line 620
620:       def initialize(parameters = DecodeParms.new)
621:         super(parameters)
622:       end

Public Instance methods

Decodes data using zlib/Inflate decompression method.

stream:The data to decode.

[Source]

     # File sources/parser/filters.rb, line 645
645:       def decode(stream)
646:         
647:         uncompressed = Zlib::Inflate.inflate(stream)
648:         
649:         if not @params[:Predictor].nil?
650:           colors =  @params.has_key?(:Colors) ? @params[:Colors].to_i : 1
651:           bpc =     @params.has_key?(:BitsPerComponent) ? @params[:BitsPerComponent].to_i : 8
652:           columns = @params.has_key?(:Columns) ? @params[:Columns].to_i : 1
653: 
654:           uncompressed = Predictor.do_post_prediction(uncompressed, @params[:Predictor].to_i, colors, bpc, columns)
655:         end
656: 
657:         uncompressed
658:       end

Encodes data using zlib/Deflate compression method.

stream:The data to encode.

[Source]

     # File sources/parser/filters.rb, line 628
628:       def encode(stream)
629: 
630:         if not @params[:Predictor].nil?
631:           colors =  @params.has_key?(:Colors) ? @params[:Colors].to_i : 1
632:           bpc =     @params.has_key?(:BitsPerComponent) ? @params[:BitsPerComponent].to_i : 8
633:           columns = @params.has_key?(:Columns) ? @params[:Columns].to_i : 1
634: 
635:           stream = Predictor.do_pre_prediction(stream, @params[:Predictor].to_i, colors, bpc, columns)
636:         end
637: 
638:         Zlib::Deflate.deflate(stream, Zlib::BEST_COMPRESSION)
639:       end

[Validate]