0.0
Low commit activity in last 3 years
No release in over a year
libpng interface for ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 2.3
>= 13.0
 Project Readme

libpng-ruby

libpng interface for ruby.

Installation

gem 'libpng-ruby'

And then execute:

$ bundle

Or install it yourself as:

$ gem install libpng-ruby

If you need to specify the libpng path, use the following options:

$ gem install libpng-ruby -- --with-png-include ~/env/opts/include --with-png-lib ~/env/opts/lib

Usage

decode sample

require 'png'

dec = PNG::Decoder.new(:pixel_format => :BGR)

p dec.read_header(IO.binread("test.png"))

raw = dec << IO.binread("test.png")
p raw.meta

IO.binwrite("test.bgr", raw)

decode options

option value type description
:api_type "simplified" or "classic"
:pixel_format String or Symbol output format
(ignored when to use classic API)
:without_meta Boolean T.B.D
:display_gamma Numeric T.B.D
(ignored when to use simplified API)

supported output color type

GRAY GRAYSCALE GA AG RGB BGR RGBA ARGB BGRA ABGR

encode sample

require 'png'

enc = PNG::Encoder.new(640, 480, :color_type => :YCbCr)

IO.binwrite("test.png", enc << IO.binread("test.raw"))

encode options

option value type description
:pixel_format String or Symbol input pixel format
:interlace Boolean use interlace mode
:compression Integer or String or Symbol compression level
:text Hash text information
:time Boolean with tIME chunk
:gamma Numeric file gamma value

supported input color type

GRAY GRASCALE GA RGB RGBA

available compression level

Integer

0 to 9(0:no compression, 9:best compression).

String

NO_COMPRESSION BEST_SPEED BEST_COMPRESSION DEFAULT