mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
add png-async definition
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
/// <reference path="png-async.d.ts" />
|
||||
|
||||
import fs = require('fs');
|
||||
import png = require('png-async');
|
||||
|
||||
var devnull = process.platform === 'win32' ? 'nul' : '/dev/null';
|
||||
|
||||
// stream test
|
||||
var img = new png.Image({
|
||||
width: 1,
|
||||
height: 1,
|
||||
fill: true
|
||||
})
|
||||
.pack()
|
||||
.pipe(png.createImage({
|
||||
deflateStrategy: png.EDeflateStrategy.FIXED,
|
||||
filterType: png.EFilterType.Auto
|
||||
})
|
||||
.on('parsed', function () {
|
||||
|
||||
if (this.data[0] !== 0) {
|
||||
throw new Error('invalid data');
|
||||
}
|
||||
|
||||
this.data[0] = 255;
|
||||
this.data[3] = 255;
|
||||
|
||||
this.pack().pipe(fs.createWriteStream(devnull)).on('finish', () => {
|
||||
console.log('done');
|
||||
});
|
||||
})
|
||||
);
|
||||
Vendored
+58
@@ -0,0 +1,58 @@
|
||||
// Type definitions for png-async
|
||||
// Project: https://github.com/kanreisa/node-png-async
|
||||
// Definitions by: Yuki KAN <https://github.com/kanreisa>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../node/node.d.ts" />
|
||||
|
||||
declare module 'png-async' {
|
||||
import stream = require('stream');
|
||||
|
||||
export interface IImageOptions {
|
||||
width?: number;
|
||||
height?: number;
|
||||
fill?: boolean;
|
||||
checkCRC?: boolean;
|
||||
deflateChunkSize?: number;
|
||||
deflateLevel?: number;
|
||||
deflateStrategy?: EDeflateStrategy;
|
||||
filterType?: EFilterType;
|
||||
}
|
||||
|
||||
export enum EDeflateStrategy {
|
||||
DEFAULT_STRATEGY = 0,
|
||||
FILTERED = 1,
|
||||
HUFFMAN_ONLY = 2,
|
||||
RLE = 3,
|
||||
FIXED = 4,
|
||||
}
|
||||
|
||||
export enum EFilterType {
|
||||
Auto = -1,
|
||||
None = 0,
|
||||
Sub = 1,
|
||||
Up = 2,
|
||||
Average = 3,
|
||||
Paeth = 4,
|
||||
}
|
||||
|
||||
export function createImage(option?: IImageOptions): Image;
|
||||
|
||||
export class Image extends stream.Duplex {
|
||||
width: number;
|
||||
height: number;
|
||||
gamma: number;
|
||||
data: Buffer;
|
||||
constructor(option?: IImageOptions);
|
||||
pack(): Image;
|
||||
parse(data: Buffer, callback?: (err: Error, image: Image) => void): Image;
|
||||
write(data: any, cb?: any): boolean;
|
||||
end(data?: any): void;
|
||||
bitblt(dst: Image, sx: number, sy: number, w: number, h: number, dx: number, dy: number): Image;
|
||||
|
||||
on(event: string, listener: Function): Image;
|
||||
once(event: string, listener: Function): Image;
|
||||
removeListener(event: string, listener: Function): Image;
|
||||
removeAllListeners(event: string): Image;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user