/** * @license * Copyright (C) Gnucoop soc. coop. * * This file is part of the Advanced JSON forms (ajf). * * Advanced JSON forms (ajf) is free software: you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * Advanced JSON forms (ajf) is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero * General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Advanced JSON forms (ajf). * If not, see http://www.gnu.org/licenses/. * */ /** * Encodes an image made only of black pixels over a transparent background * (e.g. a signature drawn on a canvas) as a palette-indexed PNG. * * Since every pixel is either transparent or some shade of black * (anti-aliased strokes only vary the alpha channel), the palette never * needs more than 256 entries, so a color type 3 (indexed) PNG can be built * regardless of the image content. This is dramatically smaller than the * plain RGBA PNG produced by `canvas.toDataURL('image/png')`, which the * browser always encodes at 32 bits per pixel with no palette reduction. */ export declare function canvasToIndexedPngDataUrl(canvas: HTMLCanvasElement): string;