UNPKG

ybg-screen-shot

Version:

web端自定义截屏插件(原生JS版)

28 lines (25 loc) 943 B
/** * 取出一条历史记录 */ import InitData from "@/lib/main-entrance/InitData"; export function takeOutHistory() { const data = new InitData(); const lastImageData = data.popHistory(); const screenShortCanvas = data.getScreenShortController()?.getContext("2d"); if (screenShortCanvas != null && lastImageData) { const context = screenShortCanvas; if (data.getUndoClickNum() == 0 && data.getHistory().length > 0) { // 首次取出需要取两条历史记录 const firstPopImageData = data.popHistory() as Record<string, any>; context.putImageData(firstPopImageData["data"], 0, 0); } else { context.putImageData(lastImageData["data"], 0, 0); } } data.setUndoClickNum(data.getUndoClickNum() + 1); // 历史记录已取完,禁用撤回按钮点击 if (data.getHistory().length <= 0) { data.setUndoClickNum(0); data.setUndoStatus(false); } }