ショコラ
Node.js 画像の一部を切り取る(トリミング)には?
パソコンで大量に撮ったスクリーンショットの不要な部分を切り抜く方法です。
スクリーンショットを撮るには、「Windowsキー」と「PrintScreenキー」の同時押しを使うと便利ですよ。今回は、Node.js でいきます。
もっさん先輩
- フォルダを作成します。
capture
captureフォルダ に入って作業します。
- 画像を加工するために、sharpライブラリ をインストールします。
npm install sharp
- 試しにスクリーンショットを撮ってトリミングしてみましょう。
const sharp = require('sharp')
let input = `Screenshots\\スクリーンショット (1).png`
let outout = 'page1.png';
//↓の部分を調整します。
const left = 1147
const right = 2292
const top = 0
const bottom = 1440
const width = right - left
const height = bottom - top
sharp(input).extract({top,left,width,height}).toFile(outout)
↑input、output、left、right、top、bottom を各自調整するように。超簡単です。
- 次に複数ページをループで処理する方法です。
const sharp = require('sharp')
const start = 1
const end = 100
const left = 1147
const right = 2292
const top = 0
const bottom = 1440
const width = right - left
const height = bottom - top
let page = 0;
for (let n=start; n<=end; n++) {
let input = `Screenshots\\スクリーンショット (${n}).png`
page++
let outout = `output\\page${page}.png`;
sharp(input).extract({top,left,width,height}).toFile(outout)
}
以上