The Physical (pHYs) chunk specifies the intended pixel size or aspect ratio for display of the image.
# File lib/chunky_png/chunk.rb, line 330 def initialize(ppux, ppuy, unit = :unknown) raise ArgumentError, 'unit must be either :meters or :unknown' unless [:meters, :unknown].member?(unit) super('pHYs') @ppux, @ppuy, @unit = ppux, ppuy, unit end
# File lib/chunky_png/chunk.rb, line 346 def self.read(type, content) ppux, ppuy, unit = content.unpack('NNC') unit = unit == 1 ? :meters : :unknown new(ppux, ppuy, unit) end
Creates the content to write to the stream, by concatenating the keyword with the deflated value, joined by a null character.
@return The content that should be written to the datastream.
# File lib/chunky_png/chunk.rb, line 356 def content [ppux, ppuy, unit == :meters ? 1 : 0].pack('NNC') end
# File lib/chunky_png/chunk.rb, line 336 def dpix raise ChunkyPNG::UnitsUnknown, 'the PNG specifies its physical aspect ratio, but does not specify the units of its pixels\ physical dimensions' unless unit == :meters ppux * INCHES_PER_METER end
# File lib/chunky_png/chunk.rb, line 341 def dpiy raise ChunkyPNG::UnitsUnknown, 'the PNG specifies its physical aspect ratio, but does not specify the units of its pixels\ physical dimensions' unless unit == :meters ppuy * INCHES_PER_METER end