Node.js の迅速かつ高速な画像処理モジュール

Sharp は、libvips ライブラリを使用して Node.js プロジェクトの高速処理を提供する画像処理モジュールです。

Sharp は、libvips 画像処理ライブラリを利用した Node.js プロジェクト用の高速処理画像モジュールです。この追加により、Sharp はその名前が示すように高速処理能力を備えています。非圧縮画像データのいくつかの領域のみをメモリに保存し、使用されている CPU パワーと L1/L2/L3 キャッシュの多くを解放します。

ライブラリはまた、子プロセスが生成されないようにし、async または await プロセスがサポートされるようにします。オープンソースの画像処理モジュールとして、シャープは複数の画像フォーマットと未圧縮の未加工のピクセル データもサポートしています。最適なパフォーマンスを得るには、Node.js バージョン 10 以降を使用していることを確認してください。

Previous Next

シャープをはじめる

NPM 経由で Sharp をインストールするための推奨される方法。以下のコマンドでインストールしてください。

NPM経由でシャープをインストール

 npm install sharp 

無料の JavaScript API を使用して画像のサイズを変更する

オープン ソースのシャープ ライブラリを使用すると、JavaScript 開発者はプログラムで画像のサイズを変更できます。 Sharp では、大きな画像形式を、さまざまな Web アプリケーションと互換性のある小さなサイズに変換できます。 Sharp ライブラリの助けを借りて、Sharp は、ImageMagick や GraphicsMagick などの他の画像形式コンバーターと比較して、4 倍から 5 倍高速な画像処理速度を備えています。 Sharp は、Lanczos リサンプリング モジュールによって画質が損なわれないようにします。

読書及びサイズ イメージ: JavaScript

const transformer = sharp()
  .resize({
    width: 200,
    height: 200,
    fit: sharp.fit.cover,
    position: sharp.strategy.entropy
  });
// Read image data from readableStream
// Write 200px square auto-cropped image data to writableStream
readableStream
  .pipe(transformer)
  .pipe(writableStream)

無料の JavaScript API による画像処理

シャープなライブラリは、ソフトウェア開発者がJavaScriptフレームワークで画像を処理することを可能にします。 映像の回復、回転、抽出、補正、組成などの画像操作を実行できます。 Sharp は MacOS、Windows、Linux システムと互換性があり、Node.js バージョン 10 以降を使用する場合、追加のインストールは必要ありません。

JavaScriptを経由して地域から画像を抽出する

sharp(input)
  .extract({ left: leftOffsetPre, top: topOffsetPre, width: widthPre, height: heightPre })
  .resize(width, height)
  .extract({ left: leftOffsetPost, top: topOffsetPost, width: widthPost, height: heightPost })
  .toFile(output, function(err) {
    // Extract a region, resize, then extract from the resized image
  });

JavaScript APIで画像を回転させる

const rotateThenResize = await sharp(input)
  .rotate(90)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .toBuffer();
const resizeThenRotate = await sharp(input)
  .resize({ width: 16, height: 8, fit: 'fill' })
  .rotate(90)
  .toBuffer();

JavaScriptアプリで画像メタデータを扱う

オープンソースの鋭いライブラリには、JavaScriptアプリケーション内のイメージメタデータを扱うためのフルサポートが搭載されています。 ライブラリは、圧縮されたピクセルデータを解読することなく、画像メタデータへの迅速なアクセスを提供します。 画像サイズ、フォーマット、高さ、幅、深さ、密度、スペース、レベル、背景、出口、dsprofile、ページなど、いくつかの重要なプロパティのサポートが含まれています。 また、最小、最大、合計、平均、シャープネス、エントロピーなど、画像内のすべてのチャネルでピクセル由来の画像統計に簡単にアクセスできます。

JavaScriptによるアクセスイメージメタデータ

const image = sharp(inputJpg);
image
  .metadata()
  .then(function(metadata) {
    return image
      .resize(Math.round(metadata.width / 2))
      .webp()
      .toBuffer();
  })
  .then(function(data) {
    // data contains a WebP image half the width and height of the original JPEG
  });
 日本