Sha256: 23fc6b4e8dc5bda57b3c7a31f7f0c15d42a63eb1501aaad09ddc46e6bf73e496
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
require 'prime' require 'set' module ZSteg class Extractor include ByteExtractor include ColorExtractor # image can be either filename or ZPNG::Image def initialize image, params = {} @image = image.is_a?(ZPNG::Image) ? image : ZPNG::Image.load(image) @verbose = params[:verbose] || 0 end def extract params = {} @limit = params[:limit].to_i @limit = 2**32 if @limit <= 0 if params[:order] =~ /b/i byte_extract params else color_extract params end end def pregenerate_primes h @primes ||= Set.new return if @primes.size >= h[:count] count = h[:count] Prime.each(h[:max]) do |prime| @primes << prime break if @primes.size >= count end end def bits2masks bits masks = [] if (1..8).include?(bits) # number of bits bits.times do |i| masks << (1<<(bits-i-1)) end else # mask bits &= 0xff 8.times do |i| mask = (1<<(bits-i-1)) masks << mask if (bits & mask) != 0 end end masks end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zsteg-0.0.1 | lib/zsteg/extractor.rb |