Package Exports
- png-chunk-text
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (png-chunk-text) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
png-chunk-text
Create or parse a PNG tEXt chunk for storing uncompressed text data in PNG images.
Can be used in combination with png-chunks-extract and png-chunks-encode for adding and reading custom metadata in PNG images.
Works in Node, or in the browser using browserify.
Usage
chunk = text.encode(key, value)
Returns a chunk object containing the metadata for a given key and value:
{
name: 'tEXt',
data: Uint8Array([...])
}const extract = require('png-chunks-extract')
const encode = require('png-chunks-encode')
const text = require('png-chunk-text')
const path = require('path')
const fs = require('fs')
const buffer = fs.readFileSync(path.join(__dirname, 'test.png'))
const chunks = extract(buffer)
// Add new chunks before the IEND chunk
chunks.splice(-1, 0, text.encode('hello', 'world'))
chunks.splice(-1, 0, text.encode('lorem', 'ipsum'))
fs.writeFileSync(
path.join(__dirname, 'test-out.png'),
new Buffer(encode(chunks))
)data = text.decode(chunk)
Reads a Uint8Array or Node.js Buffer instance containing a tEXt PNG chunk's data and returns its keyword/text:
{
keyword: 'hello',
text: 'world'
}const extract = require('png-chunks-extract')
const text = require('png-chunk-text')
const path = require('path')
const fs = require('fs')
const buffer = fs.readFileSync(path.join(__dirname, 'test-out.png'))
const chunks = extract(buffer)
const textChunks = chunks.filter(function (chunk) {
return chunk.name === 'tEXt'
}).map(function (chunk) {
return text.decode(chunk.data)
})
console.log(textChunks[0].keyword) // 'hello'
console.log(textChunks[0].text) // 'world'
console.log(textChunks[1].keyword) // 'lorem'
console.log(textChunks[1].text) // 'ipsum'See Also
License
MIT, see LICENSE.md for details.
