const { createCanvas, loadImage } = require('canvas'); const fs = require('fs'); // 定义图片文件路径 const rasterImagePath = './data/image/raster.png'; const wktImagePath = './data/image/wkt.png'; // 创建一个新的 Canvas const canvas = createCanvas(); const ctx = canvas.getContext('2d'); // 加载并绘制第一张图片(假设为 raster.png) loadImage(rasterImagePath).then((rasterImage) => { // 设置 Canvas 的尺寸为第一张图片的尺寸 canvas.width = rasterImage.width; canvas.height = rasterImage.height; // 将第一张图片绘制到 Canvas 上 ctx.drawImage(rasterImage, 0, 0); // 加载并绘制第二张图片(假设为 wkt.png) loadImage(wktImagePath).then((wktImage) => { // 计算第二张图片在 Canvas 上的位置(居中) const centerX = (canvas.width - wktImage.width) / 2; const centerY = (canvas.height - wktImage.height) / 2; // 将第二张图片绘制到 Canvas 上 ctx.drawImage(wktImage, centerX, centerY); // 将合成后的 Canvas 导出为 PNG 图片 const outputFilePath = './data/image/output.png'; const out = fs.createWriteStream(outputFilePath); const stream = canvas.createPNGStream(); stream.pipe(out); out.on('finish', () => console.log('The PNG file was created.')); }).catch(err => { console.error('Error loading wkt.png:', err); }); }).catch(err => { console.error('Error loading raster.png:', err); });