以下是一个使用Node.js编写的示例代码,用于根据fromDir获取其中所有的jpg或png图片,然后使用imagemagick库压缩,并将压缩后的图片写入destDir目录中:

const fs = require('fs');
const path = require('path');
const { exec } = require('child_process');

const fromDir = './path/to/fromDir';
const destDir = './path/to/destDir';

// 检查目标目录是否存在,如果不存在则创建
if (!fs.existsSync(destDir)) {
  fs.mkdirSync(destDir);
}

// 获取fromDir目录中所有的文件名
fs.readdir(fromDir, (err, files) => {
  if (err) {
    console.error('Error reading directory:', err);
    return;
  }

  // 遍历所有文件
  files.forEach((file) => {
    const filePath = path.join(fromDir, file);

    // 检查文件是否为jpg或png图片
    if (file.match(/\.(jpg|png)$/)) {
      // 使用imagemagick压缩图片
      const destFilePath = path.join(destDir, file);
      exec(`convert ${filePath} -resize 50% ${destFilePath}`, (error) => {
        if (error) {
          console.error(`Error compressing image ${file}:`, error);
        } else {
          console.log(`Image ${file} compressed successfully.`);
        }
      });
    }
  });
});

请确保已经安装了imagemagick库(可通过运行npm install imagemagick进行安装),并将fromDirdestDir变量替换为实际的目录路径。运行此脚本后,将会遍历fromDir目录中的所有jpg和png图片文件,使用imagemagick库对其进行50%大小的压缩,并将压缩后的图片文件写入destDir目录中

js 根据fromDir获取其中所有的jpg或者 png图片然后使用imagemagic压缩完成之后写入destDir

原文地址: https://www.cveoy.top/t/topic/i0zB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录