TWAINとは
TWAIN(トウェイン)は、
イメージスキャナや
デジタルカメラなどの
画像入力機器から
パーソナルコンピュータ(PC)へ
画像データを転送するための、広く利用されている技術標準の一つです。この規格は、WindowsやmacOSといった主要なプラットフォーム上で、
画像取り込みのためのAPIを提供しています。
概要
TWAINは、主に
画像処理ソフトウェアとスキャナや
デジタルカメラといったハードウェアの間で、
アプリケーションプログラミングインタフェース(API)として機能します。これにより、さまざまな
画像処理アプリケーションから、異なるメーカーの
画像入力機器を共通の方法で制御できます。TWAINは、
Microsoft Windows、macOS、
Linuxなど、主要な
オペレーティングシステムでサポートされています。
TWAIN規格は、
1992年に最初のバージョンがリリースされ、その後、バージョンアップを重ねてきました。
2005年11月にはバージョン2.0がリリースされ、最新版は
2015年にリリースされたバージョン2.4です。TWAINの標準仕様は、TWAINワーキンググループによって管理されています。
手順
通常、スキャナや
複合機などの
デバイスドライバをインストールする際に、TWAINドライバも同時にインストールされます。アプリケーション側では、インストール済みのTWAINデータソース(スキャナ)を選択することで、各機器固有のユーザーインターフェース(GUI)が呼び出されます。これにより、ユーザーは解像度や色設定などの各種設定を行い、スキャンを実行して
画像データをアプリケーションへ転送できます。
名前の由来
TWAINという名前は、公式には略語ではありませんが、「Technology Without An Interesting Name」(面白い名前のない技術)の略語として広く知られています。この名前は、
ラドヤード・キップリングの詩「東西の歌(The Ballad of East and West)」の一節「...and never the twain shall meet...」(二つのものは決して出会わない)に由来するとも言われています。これは、当時のスキャナとPCを接続する際の困難さを暗示していたと考えられます。
ワーキンググループの初期段階で、「Technology Without An Interesting Name」というフレーズが使われましたが、これがTWAINの正式な略語として採用されることはありませんでした。
欠点
TWAINの欠点として、ユーザーインターフェースが機器の
デバイスドライバと密接に結びついている点が挙げられます。アプリケーションが機器のTWAINドライバを読み込む際に、機器メーカーが提供するGUIが必ず表示されます。このため、ネットワーク経由での透過的なアクセスが難しくなる場合があります。例えば、ネットワーク接続された
複合機から
画像を取り込む場合、
複合機内に共有ドライブを設定するか、特定のクライアントやデータサーバに
JPEGやPDFなどの
画像ファイルを書き込んだ後、クライアントのアプリケーションから読み込む必要があります。
ただし、このような問題はTWAINの仕様そのものではなく、ドライバの実装に起因するものであると言えます。TWAIN制御を行う場合は、TWAINドライバ(DLL)の先頭にある関数をエントリポイントとして使用します。関数名に依存すべきではありません。制御命令は、3つの引数を渡して実行されるため、「トリプレットを発行する」と表現されます。小数値を扱う際には注意が必要です。TWAIN内部では小数は
構造体として扱われるため、一般的なプログラミング言語では適切な変換が必要になります。
関連項目
脚注
この文章は、2008年11月1日以前にFree On-line Dictionary of Computingから取得した情報に基づいており、GFDLバージョン1.3以降の
ライセンスに基づいて利用されています。
外部リンク