DioDocs for Imaging クイックスタート!(Imageビューワ)

DioDocs for Imaging(ディオドック)」のImageビューワは、Webアプリケーションで画像の表示および編集を可能にするJavaScriptベースのビューワです。クライアントサイドで画像の表示・編集・加工・保存が可能で、必要に応じてプラグインを追加して機能を拡張することにも対応しています。本記事では、Imageビューワの基本的な機能をコードを交えつつ紹介します。

Imageビューワの機能・特長

ブラウザだけで画像を表示・編集

クライアントサイド(ブラウザ側)だけで表示から編集、保存までを行うことができます。Imageビューワのツールバーから以下のようなビューワとしての基本操作が標準で行えます。

  • 画像の表示・操作:ズーム(拡大・縮小)、全画面表示
  • 画像の入出力:画像の読み込み・保存、印刷

なお、ブラウザはEdge/Chrome/Firefox/Safariといった主要なモダンブラウザに対応しています。

マルチフレーム画像にも対応

Imageビューワでは、業務システムで使われる標準的な画像フォーマット(JPEG、PNG、BMP、GIF、WebP、TIFF、ICO、SVG)に対応しています。アニメーションGIFやマルチページTIFFなどのページの移動や指定も行うことが可能です。

豊富な画像編集機能を実装可能

Imageビューワ自体の基本機能は非常に軽量に設計されています。画像の回転や色調補正、フィルターの適用、ペイント(図形やテキスト)などの編集機能は「プラグイン」として実装されており、要件に応じて必要な機能だけを選択して追加することができます。

  • ページツールプラグイン:回転、反転、切り抜き、リサイズ
  • ペイントツールプラグイン:テキスト、フリーハンド、図形の描画、色調補正(明るさ、コントラスト、彩度)、エフェクト(ぼかし、モザイク)
  • 画像フィルタープラグイン:サイドパネルを使用して画像に各種エフェクトを適用

「元に戻す(アンドゥ)」「やり直す(リドゥ)」に対応

Imageビューワでは、画像の編集操作が履歴として記録されます。この編集履歴を利用して、画像の編集操作を元に戻したり、やり直したりすることが可能です。

WebアプリケーションにImageビューワを実装する

まず、Visual Studio Codeを起動してターミナルでプロジェクトのフォルダimageviewer-quickstartを作成してimageviewer-quickstartフォルダに移動します。

mkdir imageviewer-quickstart
cd imageviewer-quickstart

npm installコマンドを使用してImageビューワのパッケージをインストールします。

npm install @mescius/dsimageviewer@9.0.3

index.htmlを作成してbody要素にImageビューワを表示するためのdiv要素を追加します。さらにscript要素を追加してImageビューワ(dsimageviewer.js)を設定します。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="utf-8">
    <title>Imageビューワクイックスタート</title>
    <script src="./node_modules/@mescius/dsimageviewer/dsimageviewer.js" type="text/javascript"></script>
    <script src="./index.js" type="text/javascript"></script> 
</head>

<body>
    <div id="imageviewer"></div>
</body>

</html>

index.jsを作成してImageビューワで表示する画像ファイルを設定します。

window.onload =  function() {
  const viewer = new DsImageViewer("#imageviewer");  
  viewer.open("./sample1.jpg");
}

ローカルで動作確認するための開発用のサーバーとして、Visual Studio Codeの拡張機能「Live Server」をインストールします。その後、index.htmlを右クリックして、[Open with Live Server]を実行します。

WebアプリケーションにImageビューワを実装する

実行すると、Imageビューワで読み込んだ画像ファイルが表示されます。

WebアプリケーションにImageビューワを実装する

ツールバーからローカルの画像を指定して表示したり、表示している画像をローカルに保存することができます。また、画像の表示倍率を変更することも可能です。

WebアプリケーションにImageビューワを実装する

マルチページTIFFやアニメーションGIFを読み込んだ場合は、ツールバーにページナビゲーションを行うためのボタンが表示されます。

WebアプリケーションにImageビューワを実装する

プラグインを追加する

プラグインを追加するには、対象となるプラグインのJSファイルを読み込む必要があります。JSファイルはImageビューワのパッケージ内にある「plugins」フォルダに格納されています。

  • pageTools.js:ページツールプラグイン
  • paintTools.js:ペイントツールプラグイン
  • imageFilters.js:画像フィルタープラグイン
プラグインを追加する

index.htmlにscript要素を追加して各プラグイン(pageTools.js、paintTools.js、imageFilters.js)を設定します。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="utf-8">
    <title>Imageビューワクイックスタート</title>
    <script src="./node_modules/@mescius/dsimageviewer/dsimageviewer.js" type="text/javascript"></script>
    <script src="./node_modules/@mescius/dsimageviewer/plugins/pageTools.js" type="text/javascript"></script>
    <script src="./node_modules/@mescius/dsimageviewer/plugins/paintTools.js" type="text/javascript"></script>
    <script src="./node_modules/@mescius/dsimageviewer/plugins/imageFilters.js" type="text/javascript"></script>
    <script src="./index.js" type="text/javascript"></script> 
</head>

<body>
    <div id="imageviewer"></div>
</body>

</html>

index.jsでaddPluginメソッドを用いてプラグインをツールバーに追加します。

window.onload =  function() {
  const viewer = new DsImageViewer("#imageviewer");  

  viewer.addPlugin(new PageToolsPlugin({ 
    toolbarLayout: ["rotate-image", "flip-horizontal", "flip-vertical", "crop-image", "resize-image"]
  }));
  viewer.addPlugin(new PaintToolsPlugin());
  viewer.addPlugin(new ImageFiltersPlugin());
  
  viewer.open("./sample1.jpg");
}

index.htmlを右クリックして、[Open with Live Server]を実行します。実行すると、Imageビューワのツールバーにプラグインのボタンが表示されます。また、サイドパネルに画像フィルターのアイコンが表示されます。

プラグインを追加する

ページツール

ツールバーから「ページツール」ボタンをクリックするとセカンドツールバーが表示されます。セカンドツールバーには「画像を回転」、「左右反転」、「上下反転」、「画像を切り抜く」、「画像のサイズを変更」ボタンがあり、クリックすることでそれぞれの処理を実行できます。

  • 画像を回転:時計回りに90度単位で画像を回転します。
  • 左右・上下反転:画像を左右または上下に反転します。
  • 画像を切り抜く:画像を任意の矩形に切り抜きます。
  • 画像のサイズを変更:画像を任意のサイズに変更します。
プラグインを追加する

以下は「画像を回転」ボタンをクリックして画像を90度時計回りに回転させた結果です。

プラグインを追加する

ペイントツール

ツールバーから「ペイントツール」ボタンをクリックするとセカンドツールバーが表示されます。セカンドツールバーには「鉛筆」、「ブラシ」、「クローンスタンプ」、「消しゴム」ボタンがあり、クリックすることでそれぞれの処理を実行できます。

  • 鉛筆:アンチエイリアスなしで図形や自由曲線を描画します。
  • ブラシ:筆のような流動的で精密なアーティスティックなストロークを描画します。ぼかしやアンチエイリアス処理により滑らかな線を表現できます。
  • クローンスタンプ:選択した領域のピクセルを他の領域にコピーします。
  • 消しゴム:鉛筆やブラシで描画したものを削除します。
プラグインを追加する

以下は「鉛筆」ボタンをクリックして画像にフリーハンドな線を描画した結果です。

プラグインを追加する

エフェクト

ツールバーから「エフェクト」ボタンをクリックするとセカンドツールバーが表示されます。セカンドツールバーには「明るさ/コントラスト」、「自然な彩度」、「ぼかし」、「モザイク」、「消しゴム」ボタンがあり、クリックすることでそれぞれの処理を実行できます。

プラグインを追加する

以下は「明るさ/コントラスト」ボタンをクリックして画像の明るさとコントラストを変更した結果です。

プラグインを追加する

テキストとオブジェクト

ツールバーから「テキストとオブジェクト」ボタンをクリックするとセカンドツールバーが表示されます。セカンドツールバーには「テキスト」、「矩形」、「線」、「矢印」、「楕円」、「括弧」、「画像」ボタンがあり、クリックすることでそれぞれの処理を実行できます。

  • テキスト:テキストを描画します。
  • 矩形:矩形図形を描画します。
  • 線:直線を描画します。
  • 矢印:矢印を描画します。
  • 楕円:円形または楕円形の図形を描画します。
  • 括弧:カーブや矢印の調整が可能な括弧を描画します。
  • 画像:画像ファイルを挿入します。
プラグインを追加する

以下は「テキスト」ボタンをクリックして画像にテキストを描画した結果です。

プラグインを追加する

以上のように、Imageビューワは画像の表示、編集、保存を少ないコードで実装することが可能です。上記で紹介した動作を確認できるサンプルはこちらです。

今回紹介したImageビューワの機能については以下のデモやヘルプで詳細を確認いただけます。

さいごに

弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。

また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /