class BT::PngQuant
Public Class Methods
new(bit: 256, min: 65, max: 80, speed: 3, iebug: false)
click to toggle source
# File lib/bt_pngquant.rb, line 10 def initialize(bit: 256, min: 65, max: 80, speed: 3, iebug: false) raise ArgumentError.new("Bit cannot be smaller than 8") if bit < 8 raise ArgumentError.new("at least 0% quality") if min < 0 or max < 0 raise ArgumentError.new("at most 100% quality") if max > 100 or min > 100 raise ArgumentError.new("max must be larger than min") if min > max raise ArgumentError.new("Lowest speed is 1") if speed < 1 raise ArgumentError.new("Maximum speed is 11") if speed > 11 @min = min @max = max @speed = speed @ie_bug = iebug ? "--iebug " : "" @bit = bit end
Public Instance Methods
accepted_type()
click to toggle source
@return [Array<String>]
# File lib/bt_pngquant.rb, line 30 def accepted_type ["image/png"] end
transform(bytes)
click to toggle source
# File lib/bt_pngquant.rb, line 24 def transform(bytes) ret = "pngquant #{@bit} --speed #{@speed} #{@ie_bug}--quality=#{@min}-#{@max}" << bytes ret.length > bytes.length ? bytes : ret end