3.2. デモプログラムについて

Hi folks!

これは LOGITECH SCANMAN+ スキャナ用ドライバのための小さなデモンストレーション プログラムです。

このプログラムの一部は、Thomas Faehnle <Thomas.Faehnle@student.uni-ulm.de> によって書かれたもので、私は彼の努力に感謝したいと思います。

私はオリジナルの 'scandemo' を LOGI32 ドライバ/スキャナの拡張された能力(スキャ ナの識別、SIB-ioctl,ディザ中間調)に合わせ、且つスキャンした画像を共通のフォーマ ットに格納するための信頼できる方法を提供するためにかなり変更しました。

scandemo のこのバージョンは gifscan にリネームし、このパッケージの早期バージョ ンで提供されていたスクリプトをすっかり置き換えました。

スクリプトは、スキャナが送っているライン幅を正しく決定するための可能性が 無いし、従って異なったスキャナや間違ったパラメータで使った時、間違った結果を 作るのでスクリプトは捨てました。

私は主に下記の理由から GIF フォーマット(これは (c) by Compuserve だと思う)を 選択しました。

【訳注】: Mess按OS というのは MS-DOS のことを茶化しているのです。

GIF 圧縮は遅く PBM フォーマットは記述するのが大変容易であることに気が付いている ので、私はその能力をも追加しました。申し訳ないけど誰がオリジナルの PPM (P4)コー ドを gifscan に追加したか思い出せません。(彼に感謝します) 私はそれを Greyscale (P5) 画像に書くための変更をしたところです。

プログラムをビルドするために "make" をします。 #include <scanner.h> は、スキャナドライバをコンパイルするために使われる ものと同じであることに注意して下さい。 このファイルは頻繁に変更されるので、常に最新版を /usr/local/include に入れる ようにして下さい。 ioctl インタフェースはまだまだ工事の最中ですから、古い gifscan のバイナリは これを新しいドライバと共に使うと通常はブレークします。

Logitech スキャナには黒白モードとグレースケールモードがあります。 これは不幸にもソフトウェアで検出不可能です。(それともだれかこの方法を知って ますか?)

そこで私は -g x というスイッチ(x はグレースケール・マトリクスのサイズ)を 追加しました。(未熟なオプション処理であることは分かっていますが、たった一つ のスイッチのために getopt をインクルードしたくなかったのです...)

  **************************************************************************
  現バージョンでもこのスイッチは使えますが、新しいスタイルのスキャナドライバ
  はオプションとしてディザを提供する(Logi32 は)筈なので、今後は使うべきでは
  ありません。
  **************************************************************************

黒白モードにはこれを1(デフォルト)に、グレースケールモードには6をセットし なければなりません。(これはスキャナ内部マトリクスのサイズなので) 1から16までの範囲の値は、他のスキャナでは有効かもしれませんが、LOGITECH では強いモアレ効果が出てしまいます。

【訳注】: モアレ効果というのは、原画像には無い模様が発生する現象です。

今度サポートされた Scanman256 には真のグレースケールモードがあります。 そのモードの全て(黒白、4,6,8 bit)が、今サポートされるべきでした。

スキャン中は下記のキーが使えます。(ビジー待ちや、入力されるスキャンデータの 選択をしたくないのでキーは、スキャナが動くまでは認識されません)

  <Esc>,q,x,Q,X   : gifscan を終了します。
  i,I             : (I)nverse モードを切替えます。
  w,W             : スキャン速度ワーニングモードを切替えます。
                    (バッファが満杯に近くなると、画面が赤/紫になります)
  f               : GIF ファイルへの格納を開始します。
                    (何らかのキーを押すと停止します)
  p               : ppm ファイルへの格納を開始します。
  0-9             : オプション番号を切替えます。
  b/B,c/C,h/H,s/S : Brightness(輝度)、Contrast(コントラスト)、Hue(色調)、
                    Saturation(彩度)を調整します。
  'm'             : 強制的に SCM_MONO (モノクロモード)処理にします。
  'g'             : force SCM_GREY-operation
                    強制的に SCM_GREY (グレースケールモード)処理にします。
  'a'             : SCM (スキャナモード)の自動検出を許可します。

オプションは起動時に表示されます。これらのキーはファイルをスキャン(セーブ モード)中は無効であることに注意して下さい。これは、(読み取り幅や bpp のような) スキャン画像の基本パラメータを変更し、セーブするコードをあいまいにするかも しれないからです。(GIF では異なるライン幅を使うことはできません)

また、GIF 圧縮は能率的ですが遅く、特に 1ビット GIF でエンコードすると セーブモードを使った場合、スキャナをかなり遅く操作する必要があります。

このオプションはすぐに消え去るだろうから、だれも "bit-count-code" (私は以前の バージョンであるとほのめかした)を書き直す必要はありません。

Bye, Andreas.