Rumah > hujung hadapan web > tutorial js > Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node

Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node

青灯夜游
Lepaskan: 2022-02-16 20:12:23
ke hadapan
2952 orang telah melayarinya

Bagaimana untuk menambah tera air pada imej dalam kelompok dalam Nodejs? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pustaka imageinfo untuk menambah tera air pada gambar dalam kelompok dalam projek Nod saya harap ia akan membantu anda!

Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node

NodejTambah tera air pada imej dalam kelompok

Persediaan persekitaran

Pasang pustaka imej

npm install images
Salin selepas log masuk

Pasang pustaka info imej

npm install imageinfo
Salin selepas log masuk

Pelaksanaan

Dalam contoh ini, addimageinfo.js berada dalam direktori yang sama seperti marklogo.png, folder imagest dan folder node_modules.

Mengandungi subfail juga boleh dilaksanakan

kod JS

Jika anda menggunakannya secara langsung, anda perlu mengubah suai maklumat

var logomarkimg = images('./marklogo.png');//水印位置
var rmimgpath = "./imagest/img/";//添加图片文件加位置
var mark = "logo_";//另存图片前缀,若为""则替换原图片
Salin selepas log masuk

Kod lengkap addimageinfo.js

//引用文件系统模块
var fs = require("fs");
//引用imageinfo模块
var imageInfo = require("imageinfo");
//引用images模块
var images = require('images');

var logomarkimg = images('./marklogo.png');//水印位置
var rmimgpath = "./imagest/img/";//添加图片文件加位置
var mark = "logo_";//另存图片前缀,若为""则替换原图片

function readFileList(path, filesList) {
    var files = fs.readdirSync(path);
    files.forEach(function (itm, index) {
        var stat = fs.statSync(path + itm);
        if (stat.isDirectory()) {
            //递归读取文件
            readFileList(path + itm + "/", filesList)
        } else {
            var obj = {};//定义一个对象存放文件的路径和名字
            obj.path = path;//路径
            obj.filename = itm//名字
            filesList.push(obj);
        }
    })
}
var getFiles = {

    //获取文件夹下的所有文件
    getFileList: function (path) {
        var filesList = [];
        readFileList(path, filesList);
        return filesList;
    },
    //获取文件夹下的所有图片
    getImageFiles: function (path) {
        var imageList = [];
        this.getFileList(path).forEach((item) => {
            var ms = imageInfo(fs.readFileSync(item.path + item.filename));
            ms.mimeType && (imageList.push(item))
        });
        return imageList;
    }
};
//获取文件夹下的所有图片
var photos = getFiles.getImageFiles(rmimgpath);
for (var i = 0; i < photos.length; i++) {
    var sourceImgpath = photos[i].path;
    var sourceImgname = photos[i].filename;
    var sourceImg = images(sourceImgpath + sourceImgname);
    var sWidth = sourceImg.width();
    var sHeight = sourceImg.height();
    var wmWidth = logomarkimg.width();
    var wmHeight = logomarkimg.height();

    images(sourceImg)
        // 设置绘制的坐标位置,右下角距离 10px
        .draw(logomarkimg, sWidth - wmWidth - 10, sHeight - wmHeight - 10)
        // 保存格式会自动识别
        .save(sourceImgpath + mark + sourceImgname + '');
}
Salin selepas log masuk

Jalankan

Dalam direktori, jalankan arahan nod

node ./addimageinfo.js
Salin selepas log masuk

Lihat kesan

Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node
Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node
Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node

Untuk lebih banyak nod pengetahuan berkaitan, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Gunakan perpustakaan imageinfo imej untuk menambah tera air pada imej dalam kelompok dalam projek Node. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan