1. 製品
  2.   画像
  3.   Node.js
  4.   Sharp
 
  

画像を作成および変換するための無料の Node.js API

オープンソースの Node.js ライブラリは、Node.js アプリケーション内での自動画像変換、サイズ変更、編集、回転などを完全にサポートします。

画像処理は、Web 開発からモバイル アプリまで、多くの最新アプリケーションの基本的な側面です。Node.js での効率的で高性能な画像処理に関しては、Sharp API が主要なオープン ソース ライブラリとして際立っています。Sharp は、libvips ライブラリ上に構築されたオープン ソースの高性能画像処理ライブラリです。速度とメモリ使用量の少なさで知られる Sharp は、大規模な画像処理タスクを効率的に処理できるように設計されています。使いやすさ、広範な形式のサポート、強力な機能により、開発者の間で特に人気があります。パーソナライズされた画像の動的な生成、画像のサイズ変更、画像の自動変換、画像の切り取りや反転など、いくつかの重要な機能をサポートしています。

Sharp API は、Node.js アプリケーションに高性能な画像処理を組み込むことを目指すソフトウェア開発者にとって強力なツールです。JPEG、PNG、WebP、TIFF、GIF、AVIF、さらには生のピクセル データを含むさまざまな画像ファイル形式をサポートしています。この汎用性により、ソフトウェア開発者は互換性の問題を気にすることなく、さまざまなソースからの画像を扱うことができます。API は完全に非同期であるため、複数の画像処理タスクを同時に処理できます。この非ブロッキング アーキテクチャは、高いスループットとスケーラビリティを必要とするアプリケーションに最適です。速度、効率、幅広い機能の組み合わせにより、リアルタイムの画像操作、形式変換、複雑な画像処理タスクを必要とするプロジェクトに最適です。

Previous Next

Sharp を使い始める

NPM 経由で Sharp をインストールする推奨方法。インストールするには、次のコマンドを使用してください。

NPM 経由で Sharp をインストールする

npm install sharp
const sharp = require('sharp');

Node.js アプリでの自動画像処理

開発者は Sharp ライブラリを使用して、サムネイルの生成、画像形式の変換、透かしの適用などの画像処理タスクを自動化できます。これは、大量の画像を一貫して処理する必要があるコンテンツ管理システム (CMS)、e コマース プラットフォーム、ソーシャル メディア アプリケーションに特に役立ちます。その広範な変換機能により、カスタム画像エディターの構築に適した基盤となります。Web ベースのフォト エディターを作成する場合でも、画像編集用のモバイル アプリを作成する場合でも、Sharp は高度な画像操作機能を実装するために必要なツールを提供します。Node.js 環境内で画像の明るさとコントラストを調整する方法を示す例を次に示します。

Node.js アプリ内で画像の明るさとコントラストを調整するには?

sharp('input.jpg')
  .modulate({
    brightness: 1.2, // Increase brightness by 20%
    contrast: 1.5    // Increase contrast by 50%
  })
  .toFile('output.jpg')
  .then(() => console.log('Image brightness and contrast adjusted'))
  .catch(err => console.error('Error:', err));

Node.js での画像のサイズ変更と最適化

画像を提供する Web アプリケーションでは、パフォーマンスが重要です。オープンソースの Sharp ライブラリを使用すると、ソフトウェア開発者は、さまざまなデバイスや画面サイズに合わせて画像のサイズを自動的に変更して最適化するサービスを作成できます。たとえば、e コマース プラットフォームでは、Sharp を使用して、複数のバージョンの製品画像 (サムネイル、中サイズの画像、高解像度の画像) を即座に生成できます。これにより、ユーザーはデバイスに関係なく、最高の画像品質と読み込み速度を実現できます。ソフトウェア開発者が Node.js アプリケーション内で画像を読み込み、サイズを変更する方法を示す簡単な例を次に示します。

Node.js アプリ内で JPG イメージを読み込み、サイズを変更する方法

const sharp = require('sharp');

sharp('input.jpg')
  .resize({ width: 300 })
  .toFile('output.jpg')
  .then(() => {
    console.log('Image resized successfully');
  })
  .catch(err => {
    console.error('Error processing image:', err);
  });

コンテンツ管理システムにおける自動画像変換

ブログやニュース Web サイトなどのコンテンツの多いプラットフォームでは、画像がさまざまな形式で提供されることがよくあります。オープンソースの Sharp ライブラリを使用すると、これらの画像を Web での使用に最適化された標準形式に自動的に変換できます。たとえば、すべての画像を WebP 形式に変換すると、品質を損なうことなくファイル サイズを大幅に削減し、読み込み時間を短縮できます。ソフトウェア開発者が Node.js アプリケーション内でパーソナライズされた画像を作成する方法を示す非常に強力なコード例を以下に示します。

Node.js アプリ内でパーソナライズされた画像を作成するには?

sharp({
  create: {
    width: 300,
    height: 200,
    channels: 4,
    background: { r: 255, g: 255, b: 255, alpha: 0.5 }
  }
})
  .composite([{ input: 'overlay.png', gravity: 'center' }])
  .toFile('output.png')
  .then(() => {
    console.log('Personalized image created');
  })
  .catch(err => {
    console.error('Error generating image:', err);
  });

複数の画像形式のサポート

オープンソースの Sharp ライブラリは、JPEG、PNG、TIFF、GIF、さらには WebP や AVIF などの最新の形式など、さまざまな画像ファイル形式をサポートしています。この汎用性により、ソフトウェア開発者はさまざまな種類の画像を操作できるようになり、さまざまなプラットフォームやデバイス間での互換性が確保されます。

 日本