mirror of
https://github.com/alibaba/GCanvas.git
synced 2025-12-08 17:36:42 +00:00
67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
const out1 = fs.createWriteStream(path.join(__dirname, "..")+ '/imageCanvas1.png');
|
|
const out2 = fs.createWriteStream(path.join(__dirname, "..")+ '/imageCanvas2.png');
|
|
|
|
const { createCanvas, Image } = require('../export');
|
|
|
|
function localFunctionCreateCanvas() {
|
|
let canvas = createCanvas(400, 400);
|
|
let canvas2 = createCanvas(400, 400);
|
|
let canvas3 = createCanvas(400, 400);
|
|
let canvas4 = createCanvas(400, 400);
|
|
}
|
|
|
|
localFunctionCreateCanvas();
|
|
try {
|
|
if (global.gc) {
|
|
console.log(`called gc force`);
|
|
global.gc();
|
|
} else {
|
|
console.log("not called gc ");
|
|
}
|
|
} catch (e) {
|
|
console.log("`node --expose-gc index.js`");
|
|
process.exit();
|
|
}
|
|
|
|
setTimeout(() => {
|
|
const canvas = createCanvas(400, 400);
|
|
const ctx = canvas.getContext('2d');
|
|
const img = new Image()
|
|
|
|
img.onload = () => {
|
|
console.log("image1 onload success!");
|
|
ctx.fillStyle = "#000000";
|
|
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
|
|
ctx.drawImage(img, 0, 0, 100, 100);
|
|
canvas.createPNGStream().pipe(out1);
|
|
|
|
nextCanvasDrawImage();
|
|
}
|
|
img.onerror = err => {
|
|
console.log(err)
|
|
}
|
|
img.src = "https://img.alicdn.com/imgextra/i3/80/O1CN011CSgGWymNlCrNO3_!!80-2-luban.png"
|
|
|
|
|
|
function nextCanvasDrawImage() {
|
|
const canvas2 = createCanvas(400, 400);
|
|
const ctx2 = canvas2.getContext('2d');
|
|
let img2 = new Image();
|
|
img2.onerror = err => {
|
|
console.log(err)
|
|
}
|
|
img2.onload = () => {
|
|
console.log("image2 onload success!");
|
|
ctx2.fillStyle = "#000000";
|
|
ctx2.fillRect(0, 0, ctx2.canvas.width, ctx2.canvas.height);
|
|
ctx2.drawImage(img, 0, 0, 100, 100);
|
|
canvas2.createPNGStream().pipe(out2);
|
|
|
|
}
|
|
img2.src = "https://img.alicdn.com/imgextra/i3/80/O1CN011CSgGWymNlCrNO3_!!80-2-luban.png"
|
|
}
|
|
}, 100);
|
|
|