出来ること

  • Canvas の PNG 出力
    • 仕様にあるチャンク全てに対応

ライセンス

MIT License

使用方法

 
var pngEncoder = new CanvasTool.PngEncoder(data, opt_params);
pngEncoder.convert();

  • data: CanvasPixelArray もしくは互換の配列
  • opt_params:
    {
      bitDepth: number,
      colourType: CanvasTool.PngEncoder.ColourType,
      compressionMethod: CanvasTool.PngEncoder.CompressionMethod,
      filterMethod: CanvasTool.PngEncoder.FilterMethod,
      filterType: CanvasTool.PngEncoder.BasicFilterType,
      interlaceMethod: CanvasTool.PngEncoder.InterlaceMethod,
      gamma: number;
      chrm: {
        whitePointX: number,
        whitePointY: number,
        redX: number,
        redY: number,
        greenX: number,
        greenY: number,
        blueX: number,
        blueY: number
      },
      splt: {
        name: string,
        num: number
      },
      srgb: CanvasTool.PngEncoder.RenderingIntent,
      sbit: Array.;
      iccp: Array,
      hist: boolean,
      phys: {
        x: number,
        y: number,
        unit: CanvasTool.PngEncoder.UnitSpecifier
      },
      time: Date,
      text: {
        keyword: string,
        text: string
      },
      ztxt: {
        keyword: string,
        text: string,
        compressionMethod: CanvasTool.PngEncoder.CompressionMethod
      },
      trns: boolean
    }
    
    ※詳細はソースコードのコメントを参照

戻り値は String (binary string)

デモ(jsdo.it)

Pure JS PNG Encoder - jsdo.it - share JavaScript, HTML5 and CSS

ダウンロード

GitHub のリポジトリからどうぞ。