1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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);
- });
|