@shangxueink/koishi-plugin-puppeteer-without-canvas
Version:
37 lines (36 loc) • 1.44 kB
TypeScript
import CanvasService, { Canvas, CanvasRenderingContext2D, Image } from '@koishijs/canvas';
import { Awaitable, h } from 'koishi';
import { ElementHandle, Page } from 'puppeteer-core';
declare const kElement: unique symbol;
declare class BaseElement {
protected page: Page;
protected id: string;
[kElement]: boolean;
constructor(page: Page, id: string);
get selector(): string;
dispose(): Promise<void>;
}
declare class CanvasElement extends BaseElement implements Canvas {
width: number;
height: number;
private fontFaceSet;
private styleHandles;
private stmts;
private ctx;
constructor(page: Page, id: string, width: number, height: number, fontFaceSet?: FontFace[], styleHandles?: ElementHandle<Element>[]);
getContext(type: '2d'): CanvasRenderingContext2D<Canvas, Image>;
toDataURL(type: 'image/png'): Promise<string>;
toBuffer(type: 'image/png'): Promise<Buffer<ArrayBuffer>>;
dispose(): Promise<void>;
}
export default class extends CanvasService {
static inject: string[];
private page;
private counter;
start(): Promise<void>;
stop(): Promise<void>;
createCanvas(width: number, height: number): Promise<CanvasElement>;
render(width: number, height: number, callback: (ctx: CanvasRenderingContext2D) => Awaitable<void>): Promise<h>;
loadImage(source: string | URL | Buffer | ArrayBufferLike, type?: string): Promise<Image>;
}
export {};