Sha256: c56ac7f2cedd3c7a1a5549b5bc15d63baa8ee1bbb4b51b4e71e0a29c4460edca
Contents?: true
Size: 1.01 KB
Versions: 1
Compression:
Stored size: 1.01 KB
Contents
module ZPNG class Color < Struct.new(:r,:g,:b,:a) def initialize *args super self.a ||= 0xff end alias :alpha :a def alpha= v; self.a = v; end BLACK = Color.new(0,0,0,0xff) WHITE = Color.new(0xff,0xff,0xff,0xff) def white? r == 0xff && g == 0xff && b == 0xff end def black? r == 0 && g == 0 && b == 0 end def transparent? a == 0 end def to_grayscale (r+g+b)/3 end def self.from_grayscale value, alpha = nil Color.new value,value,value, alpha end def to_s "%02X%02X%02X" % [r,g,b] end def to_i ((a||0) << 24) + ((r||0) << 16) + ((g||0) << 8) + (b||0) end def inspect if r && g && b && a "#<ZPNG::Color #%02x%02x%02x a=%d>" % [r,g,b,a] else rs = r ? "%02x" % r : "??" gs = g ? "%02x" % g : "??" bs = b ? "%02x" % b : "??" as = a ? "%d" % a : "?" "#<ZPNG::Color #%s%s%s%s a=%s>" % [rs,gs,bs,as] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zpng-0.1.0 | lib/zpng/color.rb |