Class: Pura::Png::Encoder
- Inherits:
-
Object
- Object
- Pura::Png::Encoder
- Defined in:
- lib/pura/png/encoder.rb
Constant Summary collapse
- PNG_SIGNATURE =
[137, 80, 78, 71, 13, 10, 26, 10].pack("C8")
Class Method Summary collapse
Instance Method Summary collapse
- #encode ⇒ Object
-
#initialize(image, compression: 6) ⇒ Encoder
constructor
A new instance of Encoder.
Constructor Details
#initialize(image, compression: 6) ⇒ Encoder
Returns a new instance of Encoder.
17 18 19 20 |
# File 'lib/pura/png/encoder.rb', line 17 def initialize(image, compression: 6) @image = image @compression = compression end |
Class Method Details
.encode(image, output_path, compression: 6) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/pura/png/encoder.rb', line 10 def self.encode(image, output_path, compression: 6) encoder = new(image, compression: compression) data = encoder.encode File.binwrite(output_path, data) data.bytesize end |
Instance Method Details
#encode ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/pura/png/encoder.rb', line 22 def encode out = String.new(encoding: Encoding::BINARY) out << PNG_SIGNATURE out << make_chunk("IHDR", ihdr_data) out << make_chunk("IDAT", idat_data) out << make_chunk("IEND", "") out end |