nodejs实现的设置windows壁纸
wallpaper
sindresorhus • Updated Apr 23, 2024
底层依赖的是rust的一个实现:
windows-wallpaper
sindresorhus • Updated Apr 1, 2024
缺点:
windows不支持设置双屏的
优点:
这两个库是一个人写的,希望后边把双屏的实现加上
import { getWallpaper, setWallpaper } from "wallpaper"; import path from "path"; const run = async () => { await setWallpaper(path.resolve(process.cwd(), "./wallpaper.jpg")); await getWallpaper(); }; run();
nodejs实现图片转清晰度
下载对应平台的可执行文件后,可以用代码调用:
const childProcess = require("node:child_process"); const { promisify } = require("node:util"); const path = require("path"); // realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n realesr-animevideov3 -s 2 const imageDir = path.join(process.cwd(), "images"); const execFile = promisify(childProcess.execFile); // console.log(process.cwd()); const input = path.join(imageDir, "example1.png"); const output = path.join(imageDir, "example1-output.png"); const binary = path.join(__dirname, "realesrgan-ncnn-vulkan.exe"); const arguments_ = ["-i", input, "-o", output]; const run = async () => { const { stdout } = await execFile(binary, arguments_); console.log(stdout); }; run();
最大放大四倍,需要处理很模糊的图像的话需要写一个递归处理的逻辑
nodejs一个图像处理库
强大的图床工具
picx
XPoet • Updated Apr 26, 2024
图床处理工具
要将图片上传到 jsDelivr,你需要先将图片上传到 GitHub 仓库,然后通过 jsDelivr CDN 访问该图片。
以下是使用 Node.js 将图片上传到 jsDelivr 的一般步骤:
- 创建一个 GitHub 仓库并将图片上传到该仓库。你可以使用 GitHub 提供的 API 或 Git 命令行工具来完成这个任务。
- 确保你的 GitHub 仓库中的图片文件是公开可访问的,即其他人可以通过 URL 访问到它们。
- 构建 jsDelivr 图片访问 URL。jsDelivr 的 URL 格式如下:替换上述 URL 模板中的
{GitHub用户名}
、{仓库名称}
、{版本号}
和{图片文件路径}
为你的实际信息。
复制代码 https://cdn.jsdelivr.net/gh/{GitHub用户名}/{仓库名称}@{版本号}/{图片文件路径}
- 使用得到的 jsDelivr 图片访问 URL 进行图片加载和使用。
请注意,上传图片到 jsDelivr 实际上是将图片托管在 GitHub 仓库中,并使用 jsDelivr CDN 来提供快速的全球访问。因此,你需要确保图片文件在 GitHub 仓库中的正确位置,并设置相应的权限以允许公开访问。
另外,请注意遵守 GitHub 和 jsDelivr 的相关政策和限制,包括带宽限制和使用条款等。
nodejs操作sqlite3
import Database from "better-sqlite3"; // 创建数据库连接 const db = new Database("./foobar.db", { verbose: console.log }); // 在内存中创建一个临时数据库 const createTableQuery = ` CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT) `; const statement = db.prepare(createTableQuery); statement.run(); const stmt = db.prepare("INSERT INTO users (name) VALUES (?)"); stmt.run("John Doe"); stmt.run("Jane Smith"); const res = db.prepare("SELECT * FROM users").all(); const iterate = db.prepare("SELECT * FROM users").iterate(); for (const cat of iterate) { console.log(cat); }