V4(Multi Frame Image Viewer)


履歴
'08 2上 公開
'08 2下 Linux上でWineにてWin2000/Xpモードでの起動確認を記載、一時的に実行画像を変更
'08 4上 2.1にバージョンアップ。説明を一部変更
'08 6上 2.2にバージョンアップ。説明を変更
'08 6上 バグ修正 V2.2.1
'08 6下 バグ修正 V2.2.2。チュートリアルページリンク追加
'08 11中 2.3にバージョンアップ。説明を変更。フォローアップ掲示板リンク追加
'08 11下 V4Start修正版を追加
'08 11下 自動操作スクリプトサンプルを追加。説明を一部修正。注意に高負荷状態の対応を追加
'08 12上 使用方法ページリンク追加
'08 12中 2.3.5にバージョンアップ。説明を一部変更
'09 5中 2.4にバージョンアップ。説明を変更
'09 7中 WinXpでの起動不具合への対応
'09 10上 新機能紹介ページリンク追加
'10 1上 自動操作スクリプトサンプルを追加
'10 1中 自動操作スクリプトサンプル修正版を差換え
'10 12上 K2PLTE公開
'11 9中 自動操作スクリプトサンプル2を追加
'14 02下 K2PLTE使用方法 解説ページ追加
'14 05中 ジオシティーズのサービス再編のためフォローアップ掲示板廃止
'14 06中 WindowsVista以後へのインストール方法説明および追加ファイル提供を追加





!! 不具合情報あり。詳細はフォローアップ掲示板参照 !!



目次

名称
機能紹介、チュートリアル、使用方法、新機能紹介、フォローアップ掲示板
バージョンアップ情報
事前準備
対象
作成に使用したソフト
配布物、ダウンロード
インストール方法、WindowsVista以後へのインストール方法
アンインストール方法
表記と図について
実行方法とファイル
操作の概要
各部の説明
ツールバー
コンテクストメニューコマンド機能
画像操作
レンズ/レンズマスク機能
コンポジットオーバレイレイヤ(COL)
ウィンドウ
フレーム分割方法
フレーム削除方法
履歴
画像ブラウザ
動作モード
アニメ
自動操作機能
キャプチャ
情報表示
ファイル
スクリーンコマンドエリア(SCA)
マウス操作による機能
設定ファイル
問題の回避方法
注意点
連絡先




名称

V4 (読み ブイフォー) Ver. 2.4 type "H4" "Qash"




機能紹介

V4は自在に画像を楽しむ為、画像表示のみに特化した画像ビューワである。

ウィンドウの分割表示
コウィンドウによる複数ウィンドウ表示
ウィンドウ自体の操作
コウィンドウ切替
全レイヤでのGIFアニメーション対応
画像のインタラクティブな自由移動、自由拡大縮小、自由回転、反転
レンズ機能によるインタラクティブな画像変形
レンズマスク機能による特殊な画像変形
COLによる透明度付画像合成
画像の色変更
フルスクリーン表示
表示中画像のタイトルバーアイコン表示
タイトルバー、ウィンドウフレーム消去
背景色指定
自由割当ツールバー
画像ブラウザとの連携
複数画像のリスト保持
画像リストファイル、画像ファイルパス文字列の受付
外部プログラムからの直接画像ファイルパス受付
画像キャプチャ
各種履歴の保存、復帰
各種履歴のサムネイル表示
自動操作


V4HH のチュートリアルページ
(V4H4 の前身版。画像入力は異なるが、画像への基本的な操作は V4H4 と同じ)


「いせのV4使いまくりっ」


V4HHH の使用方法ページ('08 12上 追加)
(V4HHH Ver. 2.3 版。現在の Ver. 2.4 は追加スクリプト統合済)


「V4 やみぃーな使い方」


V4H4 の新機能紹介ページ('09 10上 追加)
(注意!巨大アニメーションGIF多用によりページ読込に時間を要する)


「いせのV4使いたおしっ」


フォローアップ掲示板('14 05中 過去記録のみ)

今回で V4 制作は完了とする。今後 V4 本体は放置するので
今のうちに完成度を高めるべくフォローアップ掲示板を設置した。
機能不備があれば出来得る限り対応するので御協力願う。
あくまで機能不備への対処なので使用方法の質問、機能付加の要望には
対応しない。

フォローアップ掲示板で使用していたジオシティーズの
掲示板機能がサービス再編につき'14 06/09以後は使用できない。
'14 05/15現在、当サイトは実質的に終了しているので
過去のフォローアップ掲示板の記録のみ残し
フォローアップ掲示板は廃止する。


V4H4フォローアップ掲示板の過去の記録






バージョンアップ情報
Version 2.4('09 5中)

機能改良点
画像処理速度の向上
コンテクストメニュー右クリックポップアップ抑止
コンテクストメニューショートカットキー対応
状態保存ファイルに保存時スナップショット画像記録

追加機能
コウィンドウによる複数ウィンドウ表示
コウィンドウ切替
ウィンドウ操作モード
COLによる透明度付画像合成
全レイヤでのGIFアニメーション対応
画像キャプチャ
クイック状態保存
表示中画像のタイトルバーアイコン表示
背景色指定

変更点
オートリサイズ機能は大量に資源を消費する実情に合わないので廃止
状態保存ファイル任意状態で受付可能
大サイズ画像縮小時のエラー処理修正



事前準備

マイクロソフト提供の MSVCR71.DLL, MSVCP71.DLL, GDIPLUS.DLL が必要。Win95/98 は UNICOWS.DLL も必要。これらを V4 をインストールしたフォルダに置く。システムフォルダにあれば不要(昨今のWindowsには既にシステムフォルダにある('14 06/10 Vista以後のWindowsについてはWindowsVista以後へのインストール方法参照))。



対象

対象OS:Windows95/98(OpenCVを用いたスクリプトは対象外), Windows2000, WindowsXp, WindowsVista, PuppyLinux4.3.1+wine
動作確認環境:
OS:Win95 OSR2 CPU:PentiumV550MHz メモリ:256M VRAM:4M
OS:Win98 CPU:PentiumU330MHz メモリ:128M VRAM:2.5M
OS:Win2000 CPU:PentiumV 450MHz メモリ:256M VRAM:4M
OS:WinXp SP3 CPU:Duron 950MHz メモリ:512M VRAM:16M(メインメモリ共用)
OS:WinVista 32bit版 CPU:Core2Duo 2GHz メモリ:2G VRAM:512M(メインメモリ共用) ('14 06/10追加)
関連調査ソフト: VIX 2.21, ApViewer 1.68, Linar 1.6.0.0,
IrfanView 3.91(問題の回避方法 6.b.を参照), GQView-win 2.1.4, Garan 2.2.2,
GIMP 1.25, まめファイラー2 3.28a, Explorer



作成に使用したソフト

Python 2.5 http://www.python.org/
wxPython 2.8 UNICODE Version http://www.wxpython.org/
PIL 1.1.6 http://www.pythonware.com/products/pil/
Pyrex 0.9.6.4 http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/
MinGW 3.4.5 http://www.mingw.org/
Py2Exe 0.6.6 http://www.py2exe.org/
UPX 3.03w http://upx.sourceforge.net/
Borland C++ compiler 5.5.1(V4Start.exe作成のみ使用)



配布物、ダウンロード

ダウンロード提供ファイルには以下のファイルが圧縮してある。

V4.EXE V4本体
V4Start.EXE V4起動用プログラム
ProfilePlanes.pyd, UserMirror.pyd, ImageBlit6C.pyd
RotScale1Channel.pyd, UserRotScale3.pyd, ConvFilterD3.pyd
YUV.pyd, ProfilePlanes2.pyd 拡張pythonライブラリ
config V4設定ファイル
Readme 説明
intro.txt V4の紹介
ExtDirフォルダ 自動操作スクリプトファイルおよびスクリプト規定文書
MaskDirフォルダ マスクパターン画像ファイル
tempフォルダ テンポラリファイル用フォルダ
 srcフォルダ ソースファイル(実行には不要)

Pythonライブラリ
wxPythonライブラリ
PILライブラリ
Py2Exeライブラリ


ダウンロード

!! Win2000/Xpで使用する場合以下も必要('09 07/15追加) !!
詳細は同梱のドキュメントおよびフォローアップ掲示板を参照

Win2000/Xp用 追加ダウンロード

!! WinVista以後で使用する場合以下も必要('14 06/10追加) !!
詳細は同梱のドキュメントおよびWindowsVista以後へのインストール方法を参照

WinVista以後用 追加ダウンロード


追加サンプルスクリプト('10 01/01追加 '10 01/11バグ修正)

自動操作スクリプト追加サンプル ダウンロード


画像情報強調ツール K2PLTE 紹介、ダウンロードページ('10 12/02追加)

K2PLTE

K2PLTE 使用方法 解説ページ('14 02/25追加 18歳未満の閲覧を制限)

いせのK2PLTEことはぢめっ


追加サンプルスクリプト2(提供ファイル名の通番は無関係)

自動操作スクリプト2追加サンプル ダウンロード



インストール方法

適当なフォルダに配布物全てを置く。
インストールフォルダ配下にファイル書込を行なうので
書込禁止のドライブにはインストール出来ない。


WindowsVista以後へのインストール方法('14 06/10追加)

V4H4で使用している
Python2.5.2およびwxPython2.8 UNICODE Versionはそれぞれ
マイクロソフト提供のMSVCR71.DLL、MSVCP71.DLLが必要である。
WindowsXp以前ではそれらはOSとして提供してあったが
WindowsVista以後は提供していない。
またマイクロソフトはこれらのライブラリは
VisualStudio.NET2003で作成したプログラムに
付随する形でのみ再配布を認めており、
単体で再配布していない。
参照 msvcp.dllの再配布について
http://social.msdn.microsoft.com/Forums/netframework/ja-JP/3efa4d05-ea5a-4386-b7a7-0ca4ea0f7bb3/msvcpdll?forum=netfxgeneralja

ライブラリ単体として提供するのはライセンス上問題あると思われたが
PythonおよびwxPythonのインストールパッケージにそれらが同梱されているので
インストールパッケージから取り出したそれらを
Python、wxPythonの付随ライブラリとして追加提供した。

今回Vista用に当方が提供したファイルを
解凍してできたライブラリを
V4H4をWinXp対応でインストールしたフォルダに置けば、
WindowsVista以後でもV4H4の使用は可能になる。

起動に際しセキュリティのメッセージが出る件については
Vistaの仕様なのでUACなどをキーワードにして各自検索してほしい。



アンインストール方法

インストールしたフォルダを廃棄する。レジストリは使用していない。
サムネイルキャッシュファイルを作成した場合、不要ならそれらも廃棄する。



表記と図について

コンテクストメニューのアイテムは<…>と記述する。
サブメニューの階層は<…>→<…>と記述する。

一部表現が異なるだけの語句は異なった部分だけ”|”を用いて
表現する(例.下COL、上COL を 下|上 COL)

コマンドへのキーバインドおよびツールバーボタン割付けは
ユーザにより自由に割付け可能なのでデフォルトの割付けは
あえて説明していない。

今回使用した図は過去のバージョンの解説に使用したものが
混在している。説明内容に差異はないので流用している。



実行方法とファイル

インストールしたフォルダにある実行ファイル V4Start.EXE を実行する。
実行時にファイルをパラメータとして渡す事も可能。
起動後の V4 にはドラッグアンドドロップ(以下D&D)、
クリップボード経由、V4Start.EXE 経由でパラメータを渡せる。
V4 の画像読込コマンドのファイルダイアログから直接
ファイルを選択する事も出来る。

対応ファイル

画像ファイル: V4 で対応している画像ファイル
(jpg, png, bmp, gif, pcx, tif, tga, ico, cur)

画像リストファイル:画像ファイルパスを1行ずつ列挙した
テキストリストファイル(通常のテキストファイル、 
または V4 で保存したファイル
拡張子:"fl"(読込時画像ファイル自体をチェックする),
"if"(読込時画像ファイルの拡張子のみチェックする))

履歴リストファイル:フレームで表示した画像の状態を保持した
テキストリストファイル
(V4 で保存したファイル 
拡張子:"hl"(読込時画像ファイル自体をチェックする),
"ih"(読込時画像ファイルの拡張子のみチェックする) )

状態保存ファイル:V4 の全てのウィンドウ状態、
各フレームの画像登録履歴、フレーム状態、
保存時のスナップショット画像を保持したテキストファイル
(V4 で保存したファイル
 拡張子:"ss"(全履歴保存), "ss1"(表示中履歴のみ保存))

上記以外の対応画像パラメータ

ビットマップ形式データ:クリップボードから受付
ファイルパスを1行ずつ列挙したテキストリスト:D&D、または
クリップボードから受付

画像ブラウザとの連携を明確にするため複数の V4 は
存在出来ない。V4 本体はメインウィンドウであり、
コウィンドウは V4 本体ではない。
初回起動時、起動完了前に連続起動すると複数起動するが
画像ブラウザとの連携は不定になる。

同梱の V4.exe から実行すると起動にとても時間がかかるので
V4Start.exe から実行する事を勧める。
V4.exe から起動しても他の実害はない。
複数実行はいづれから起動しても出来ない。

対応していないパラメータは無視する。

パラメータとして有効ならば実態の状況に関わらず履歴として登録する。

基本的には同一ファイルが複数存在するパラメータでも個々に独立した
履歴として登録する。
但しウィンドウオープンモードや履歴モードに拠り動作は異なる。


ビットマップ形式はファイルではないので一時的な保持のみを行ない、
履歴として登録しない。

1回の起動で渡せるパラメータ数は1024ファイルまで指定出来る。
但し状態保存ファイルはパラメータ1ファイルの場合のみ有効と見なし、
複数ファイルパラメータに混在しても無視する。

起動後パラメータはフレーム単位に受け付ける。
D&Dでは基本的にはそのフレームがパラメータを受け付ける。
V4Start.exe 経由ならばカーソルを表示しているフレームが対象になる。
フレームカーソルが表示されていない場合は任意のフレームが対象になる。

パラメータを受け付けるフレームは初回起動時は
最初に開いているフレームになる。
この時フレームカーソルを表示してない場合があるが、受け付けられる。

既に起動した V4 にパラメータを渡す場合は
フレームへの直接渡し、新規コウィンドウを開いての表示、
ウィンドウの重なり、フレームカーソルの移動等をモードの設定により 変更出来る。
詳細は<動作モード>→<ウィンドウオープンモード>参照。



操作の概要

操作の概要1

ウィンドウを分割してその中の画像をマウスで自由に移動変形する。



実行例1

操作の概要2

タイトルバー、枠(サッシュ)を消去してシームレスに画像をウィンドウ全域に並べる。
別のウィンドウを開いてウィンドウ毎に切替えて表示する。



実行例2

操作の概要3

画像ブラウザウィンドウを呼び出してロードする画像を選ぶ。
画像は画像ブラウザからD&Dまたはクリップボード、 「アプリケーションから開く」等でロードする。



実行例3




部品名

各部の説明(青枠で囲った部位)
 フレーム
  サッシュで分割されたウィンドウの区画。1フレームに1画像を表示する
 メインウィンドウ   V4 本体。タイトルバーに "V4 MultiFrameImageViewer" と表示しているウィンドウ  コウィンドウ   メインウィンドウのフレーム1つを親とするウィンドウ。タイトルバー先頭に "[Co]" と表示している  ツールバー
  コマンドを割り当てたボタン群。マウス左ボタンクリックすると割り当てたコマンドを実行する。
 フレームカーソル
  フレームの右端、下端部。黄色ならばユーザの操作対象フレームである事を示す。V4全体には多くても1つだけ存在する
 サッシュ
  ウィンドウを分割する枠。ドラッグするとフレームのサイズが変わる
 クリエータ
  マウス左ボタンでドラッグすると新しくフレームを分割する
 クローザ
  マウス左ボタンでクリックすると左に隣接するフレームだけを閉じる
 コンテクストメニュー
  マウス右ボタンクリックで現れるポップアップメニュー
 レンズ(分かりやすいように詳細度を下げて画像を粗くしている)
  レンズ機能で画像を変形する範囲
 COL   COLで合成した画像



ツールバー

 V4の操作は基本的にマウスのみで行なえるように設計されている。
しかしバージョンアップ毎にコマンドが膨大になりマウス操作だけでは
対応が困難になっていた。その解決策として1操作のみで
コマンド実行出来るツールバーを導入した。

 コマンドは各アイコンのマウス左ボタンクリックで実行する。
コンテクストメニューのコマンドを割り当ててあるので
アイコンの上にマウスカーソルを置くと割り当てた
コマンドのメニュー表示の一部がツールチップとして表示される。

 ツールバーコマンドの操作対象は「ツールバーが属している
ウィンドウ」に存在する「フレームカーソルを表示したフレーム」である。

 ツールバーのコマンドは左から1番目はツールバーの
非表示コマンド、2番目はコンテクストメニュー表示コマンドに
割り当ててある。これらは固定されているので変更出来ない。
左から3番目以後はユーザにより自由に割当が出来る。
 割当を変更する場合は設定ファイル 'config' を
参照して欲しい。



コンテクストメニューコマンド機能

 V4 は画像表示範囲を可能な限り広くするためメニューバーを装備していない。
ほとんどのコマンドはコンテクストメニューに纏めてある。

 フレーム内でマウス右ボタンをクリックするとそのフレームの状態に
応じたメニューを表示する。
 項目の右端に右方向を向いた三角形がある場合サブメニューを持つ。
 コマンドが複数選択の中の1つを選択する場合、現在選択状態にある
メニューアイテムをアイテム名先頭に"*"で表示している。
 現在の状態により使用制限されるコマンドがある場合そのコマンドは
メニューに表示されない。

 コンテクストメニュー各項目の右端に記述してある文字をキー入力すると
アクセラレータキーとして各コマンドを直接実行する。
 コンテクストメニュー表示状態でメニューアイテムに表示する小括弧で
閉じた文字をキー入力するとショートカットキーとしてそのアイテムを直接選択する。

 マウス右ボタンはドラッグ操作に多くの機能を割り振っているので
コンテクストメニューポップアップ表示の誤動作が起き易い。これを回避する為
マウス右ボタンクリックでもメニューを表示しないモードがある。
<動作モード>→<ローカルモード>→<ドラッグ中カーソル&右クリックメニュー>か、
マウス左ボタントリプルクリックで表示|非表示を切替える。
コンテクストメニュー表示はマウス右クリックの他に
ツールバー左から2番目、またはアクセラレータキー "_" にも
割り当てられているので必要ならばそれらを使用して欲しい。


コンテクストメニュー最上位アイテムの内容

<画像操作>
 画像、レンズを操作する。

<COL操作>
 COL画像を操作する。

<ウィンドウ>
 ウィンドウのスタイル、新規作成、削除、移動、フレームの状態を変更する。

<履歴>
 登録履歴の移動、削除、複製、検索を行なう。

<画像ブラウザ>
 外部画像ブラウザ呼び出しを行なう。

<動作モード>
 レンズ/レンズマスク/COLの表示、各レイヤのドラッグ動作モード、
画像表示位置の基準位置、登録履歴サムネイルの読み書き動作、
履歴操作モード、V4全体に影響するモード、パラメータを受けた時の
新規ウィンドウを開くモード、フレーム固有のモード、背景色を指示する。

<アニメ>
 GIFアニメーションの動作を指定する。

<自動操作>
 自動操作機能リストから自動操作を実行する。

<キャプチャ>
 フレーム、ウィンドウ、スクリーンの連続スナップショット画像を保存する。

<情報表示>
 登録履歴の現在表示インデックス、COLの画像情報、レンズ/COL範囲、
スクリーンコマンドエリアを表示する。

<ファイル>
 クリップボードからの画像受付、画像リスト/登録履歴リスト/状態の保存、
状態復帰を行なう。

<その他>
 V4の概要説明表示、外部ファイルの関連付け実行を行なう。


以下メニュー項目に順じて機能および実行方法を列挙する。



画像操作

フレームに表示している画像は、移動、拡大縮小、回転、横反転が自由に出来る。


マウスで行なう場合
移動:マウス左ボタンドラッグ。ドラッグ開始点からのマウス移動量だけ移動する。
移動は制約を全く受けないので現在表示しているフレーム外に移動する事も可能

相対移動:マウス中ボタンドラッグ。ドラッグ開始点から現在のマウス位置との
相対距離分移動する。マウスの移動を止めると画像移動も止まる。
大きな画像を一動作で大きく移動する場合に使用する

拡大縮小、回転:マウス右ボタンドラッグ。フレーム中心を基準にして
ドラッグ開始点からマウス移動量だけ拡大縮小、回転を行なう
拡大縮小:マウスボタンを押さずにマウスホイール回転。設定値の拡大率で拡大縮小する
回転:マウス左ボタンを押してマウスホイール回転。設定値の回転量で回転する

メニューからは
<画像操作>→<一定値変化>配下のコマンドで設定した一定値で操作を行なえる。

ドラッグ動作は操作を限定出来る。一時的に限定したい場合
移動:SHIFTキーを押下した状態ならば横方向のみ、 
CTRLキーを押下した状態ならば縦方向のみ
拡大縮小、回転:SHIFTキーを押下した状態ならば拡大のみ、 
CTRLキーを押下した状態ならば回転のみ

恒常的に拡大縮小、回転のドラッグ動作を限定したい場合は
<動作モード>→<画像ドラッグモード>→<ドラッグ機能限定>で
状態を指定出来る。
移動でSHIFTキーとCTRLキーを両方押してドラッグすると誤操作を回避する為
移動を行なわない。
拡大縮小、回転でSHIFTキーとCTRLキーを両方押してドラッグすると
動作モードによる限定を無視して拡大縮小、回転両方を行なう。

ドラッグ動作中は常に画像を書換える必要があるため計算負荷が高い。
非力なPCではインタラクティブ性を著しく損なうので画像の詳細度を
粗くする事で計算負荷を抑えインタラクティブ性をある程度確保出来る。
<動作モード>→<画像ドラッグモード>→<ドラッグ中詳細度>で
ドラッグ中の詳細度を指定出来る。

ドラッグ動作から静止した時の画像詳細度も指定可能である。
<動作モード>→<画像ドラッグモード>→<静止中詳細度>で
詳細度を指定する。

横反転はSCAの下辺の左から4番目をマウス左ボタンクリックするか、
<画像操作>→<反転>→<画像 横反転>で行なう。
反転操作は表示中画像の中心で反転する。画像の本来の横幅の中心ではない。

画像の位置やサイズをフレームサイズに合せる場合
<画像操作>→<フィット>配下のコマンドを用いる。
このコマンドでサイズを合わせる場合、画像が回転した状態ならば
その画像が全て収まる矩形範囲が対象になる。
また配置は<動作モード>→<固定位置>の状態に依存する。

画像の位置を戻す必要がある場合<画像操作>→<戻し>配下のコマンドで
各パラメータの初期値に戻せる。

画像をより見やすくする為、画像の先鋭度、コントラスト、明るさ、色みを
変化させる事が出来る。
<画像操作>→<OMAKE>配下のコマンドを用いる。これらの機能は画像の
画素情報を直接操作するので画像が本来持っていた情報を失う。相反する
操作であっても繰返すと画像に荒れが見られるようになる
(例.赤み+と赤みーを交互に繰返す)。元の画像に戻す場合は
<画像操作>→<リロード>で画像ファイルから
元の画像情報を再び読込む。

OMAKE機能を用いると画素情報そのものを操作するので、表示する画像は
本来の画像ファイルと異なるものと見なす。
よって、「この操作を行なったフレーム」の分割に由来しない「別のフレーム」で
同ファイルを表示した場合同一画像であっても別の画素情報を持つ事になる。
つまりこの場合は同一ファイルの表示であってもメモリは画像分の2倍消費される。
横反転機能も同様である。

OMAKE機能の情報は一時的な画像変更なので履歴に保存されない。



レンズ/レンズマスク機能

レンズ機能とはレンズの光学的な性質を模して、指定した円範囲内の
画像変形を行なう機能である。
レンズマスク機能とはレンズ機能が及ぶ範囲を
マスクパターンで制限して、画像変形に
特徴を与える機能である。

レンズ/レンズマスク機能は場合によっては操作の邪魔になるので、
レンズ/レンズマスク機能操作を停止出来る。

レンズ機能操作モードの操作は
マウスからはレンズ表示状態でマウス中ボタンクリックして
レンズ操作稼動モードまたは操作停止モードになる。
メニューからは<動作モード>→<表示と操作>→<レンズ操作>を
選択する。
トグル動作をする。

レンズマスク機能操作モードの操作は
マウスからはレンズマスク表示状態でレンズマスク中心付近を
マウス中ボタンクリックして操作稼動モードまたは操作停止モードになる。
メニューからは<動作モード>→<表示と操作>→<レンズマスク操作>を
選択する。
トグル動作をする。

レンズ/レンズマスク機能は画像処理に時間がかかるので
不要な場合はレンズ/レンズマスクを非表示に出来る。

レンズ表示モードの操作は
マウスからはマウス中ボタンダブルクリックするとレンズ表示と非表示が切替わる。
メニューからは<動作モード>→<表示と操作>→<レンズ操作>を選択する。
トグル動作をする。

レンズマスク表示モードの操作は
マウスからはレンズ中心付近をマウス中ボタンダブルクリックすると
レンズマスク表示と非表示が切替わる。
メニューからは<動作モード>→<表示と操作>→<レンズマスク操作>を選択する。
トグル動作をする。

マウス操作または<画像操作>配下のコマンドにより以下のパラメータを変更できる。

パラメータ 意味
レンズ位置
レンズ機能が及ぶ円状の範囲の中心位置
半径 レンズ機能が及ぶ円状の範囲の半径
有効半径 実際にレンズ変形処理を行なう範囲の半径。レンズ半径以下。有効半径の外はレンズ半径までの変形処理をなだらかに弱める。
オフセット レンズ変形処理の中心の偏芯量。レンズ範囲の中心からオフセットがずれるとその方向に変形処理の中心が引っ張られる。
曲率 レンズ変形処理の拡大率。
曲率変化量 レンズ変形処理の拡大率を変化させる。曲率変化量が大きいほどレンズのひずみが大きくなる。
レンズマスク範囲 レンズマスク機能が及ぶ範囲。
レンズマスク角度 レンズマスクパターンがレンズ中心を軸として回転する角度。
レンズマスク方向 レンズマスクパターンは横方向に反転出来る。


レンズマスクのパターンは画像ファイルである。
V4をインストールしたフォルダ配下の MaskDir フォルダに格納してある。

レンズマスク選択はレンズマスク選択ダイアログから行なう。
ダイアログ呼出しは
マウスからは
レンズマスク操作稼動中に
レンズ中心付近をマウス中ボタントリプルクリックすることで表示する。
メニューからは
<画像操作>→<レンズマスク選択…>で表示する。
パターンをサムネイル表示するのでそれらをマウス左ボタンクリックすると
選択される。
キャンセルする場合はダイアログの左辺もしくは上辺を
マウスカーソルが通過すると自動で閉じる。


以下にレンズマスクのファイルフォーマットを示す。

サイズ:自由
データ形式:RGB各プレーンで独立したパターンを持つ
V4 で対応した画像ファイル

画像1ファイルで最大3パターンを格納できる。
同一ファイルに格納する場合、格納したパターンのサイズは全て同じになる。
作成はRGB各プレーンを分割して編集出来るツールを用いる。
当方は GIMP で作成した。不可逆形式の画像フォーマットで保存すると
意図しないノイズが入るので避けた方が良い。

マスクのアルゴリズムはパターンのピクセル値 0~255 を -1.0~1.0 に変換して
レンズ機能のピクセル変位量に乗ずることでピクセル変位量を変更する。
つまりパターンピクセル値が 0(黒)でレンズの変位量を符号反転、
128(灰)で変位量 0、 255(白)で変位量そのものになる。


初期状態ではレンズ/レンズマスクは非表示になっている。

レンズマスクはレンズが操作稼動状態で表示出来る。

レンズ/レンズマスク機能の状態を把握出来るよう以下の
マウスカーソルで状態を表示している。

レンズマスク表示、
レンズマスク操作稼働
レンズマスク表示、
レンズマスク操作停止
レンズ表示、
レンズ操作稼働
レンズ表示、
レンズ操作停止
レンズ非表示

レンズ範囲は非常に分りにくいので<情報表示>→<レンズ範囲>、または
レンズ操作稼働時にレンズ範囲をマウス左ボタンクリックすると明示する事が出来る。



コンポジットオーバレイレイヤ(COL)

フレームで表示している画像に別の画像を合成するため透明度を
持った画像を重ねる機能である。
一番下層が履歴により表示する画像(以後ベース画像)、その上に
レンズが層状に重なっていると考える。
ベース画像とレンズの間、レンズの上の2層にそれぞれ
下COL、上COLが存在している。

下COLはレンズの影響を受けるが、上COLは影響を受けない。

COLの画像は合成する画像(以後オーバレイ画像)に透明度の範囲を
指定するマスク(以後アルファマスク)を合成して出来た
透明度を持った画像である。

オーバレイ画像はベース画像で表示可能な全形式を表示出来る。
GIFアニメーションも対応している。また透明度を持つPNGやGIFを
指定するとその透明度と範囲を引継ぐ。

アルファマスクはレンズマスクと全く同じ物である。透明度はパターンの
ピクセル値0~255が透明~不透明に対応する。
但し左上と右上の1ピクセルはマスクと重ならないオーバレイ画像域の
アルファ値も意味している。

COLはフレームに属する機能なので履歴には保存されない。

COL表示はトグル動作をする。
マウスで行なう場合、SCA上辺の右から3番目(上COL)、
または二番目(下COL)の範囲をマウス左ボタンクリックする。
メニューからは
<動作モード>→<表示と操作>→<上|下COL 表示|非表示>
を選択する。

COL操作はCOL表示中であればメニューから常時操作可能である。
マウスからのCOL操作は他のレイヤ操作と干渉するので
操作モードで限定している。
モード切替えをマウスで行なう場合、
COLの可視範囲をマウス中ボタンクリックすると
COL操作稼動モードと停止モードが切替わる。
メニューからは
<動作モード>→<表示と操作>→<上|下COL 稼働|停止>を選択する。

COLをマウスで操作する場合は
COL操作対象モードで操作対象をCOL、アルファマスク、オーバーレイ画像の
いづれかに切替えて操作する。COL中心付近を
マウス中ボタンダブルクリックすると
COL→アルファマスク→オーバーレイ画像
の順に巡回して切替わる。

COLはCOL、アルファマスク、オーバーレイ画像いづれもベース画像と
全く同じ操作が可能である。拡大縮小、回転の中心はアルファマスクの
中心になる。 但しマウスホイールでの操作は他レイヤとの重なりが
複雑過ぎて分かりにくいので対応していない。

オーバレイ画像選択はCOL表示状態で
<上|下COL操作>→<画像読込元指定>を指示すると
その動作を行なったフレームがオーバレイ画像の読込元になる。
指定してあればオーバレイ画像操作モードでCOLの可視範囲を
マウス中ボタントリプルクリックすると読み込む。
読込時にアルファマスクのサイズに自動で合せる。
読込元を指定してあればメニューの
<上|下COL操作>→<画像読込>で読み込める。
読込元を指定していない場合はCOLを表示する初回のみ
自身のフレームのベース画像を読み込む。
便宜上メニューのトップ項目で<上|下COL操作>いづれにも
<画像読込元指定>項目があるがどちらから画像読込元フレームを
指定しても上|下COLいづれでもその指定フレームを
画像読込元として認識可能である。
また画像読込元は V4 全体で共用している。

アルファマスク選択はアルファマスク選択ダイアログで行なう。
マウスで行なう場合はアルファマスク操作モードに切替えて、
COLの可視範囲をマウス中ボタントリプルクリックすると
アルファマスク選択ダイアログが現れる。
メニューからは
<下|上COL操作>→<アルファマスク選択…>でダイアログが現れる。
ダイアログ操作方法はレンズマスク選択ダイアログと同様である。

透明度および透明度強度のレベルは指定出来る。
マウスで行なう場合は、COLの中心付近をマウス中ボタンドラッグする。
上方向で透明になり下方向で不透明になる。
右方向で透明不透明の境界が鮮明に、左方向で透明不透明の
境界が不鮮明になる。

初期状態ではCOLは非表示になっている。

COLの操作状態を把握出来るよう以下の
マウスカーソルで状態を表示している。

COLレイヤ COL操作 アルファマスク操作 オーバレイ画像操作 COL表示、
操作停止
COL非表示
上COL
下COL

COL範囲は非常に分りにくいので<情報表示>→<全レイヤ範囲>、または
COL範囲をマウス左ボタンクリックすると明示する事が出来る。



ウィンドウ

ウィンドウ作成方法
ウィンドウはメインウィンドウとコウィンドウの2種類が有る。
メインウィンドウは V4 本体である。重複起動を禁止しているので
1つのみ存在出来る。
コウィンドウは履歴を共有するウィンドウである。いくつでも
存在可能である。
メインウィンドウの履歴はフレーム毎に全て独立している。
コウィンドウの履歴はメインウィンドウの1つのフレームを
親として共有している。よってコウィンドウから開いた新規ウィンドウは
同じ親フレームの子供になり履歴も共有する。またフレーム分割しても
全て親フレームの履歴と共有する。表示中の履歴を他のフレームから削除した場合
表示は変更される。共有履歴が空の場合共有したフレームの
履歴も空になる。
SCAの状態などフレームに固有するもの以外の状態は
全て親フレームと共有する。

コウィンドウの作成方法は、フレームからコマンドで直接ユーザが開く方法と、
ウィンドウオープンモードの設定によりフレームがパラメータを受け付けた時点で
自動で開く方法がある。
フレームから直接開くコマンドは<ウィンドウ>→<開>配下に以下のコマンドが有る。
<現履歴開>:現在フレームで表示している履歴を新規ウィンドウで表示する
<前履歴開>:現在フレームで表示している履歴の1つ前のインデックスを新規ウィンドウで表示する
<次履歴開>:現在フレームで表示している履歴の1つ次のインデックスを新規ウィンドウで表示する
<現履歴複製>:現在フレームで「表示している履歴だけを複製」して新規ウィンドウで
表示する。複製した履歴の挿入位置はモードの<履歴追加位置>で指定した位置になる。
これは共有履歴に同一画像で異なる表示位置を残す際に用いる。
<全同名履歴>:現在フレームで表示している履歴が履歴リストの中に
同一ファイルがあればそれらを全て新規ウィンドウで表示する。
同一ファイルがない場合何もしない。
これは<現履歴複製>の機能をフォローするコマンドである

SCA の上下中央付近をマウス中ボタンクリックする事により<前履歴開>、<次履歴開>を
呼び出せる。
また履歴検索時、サムネイル選択でマウス中ボタンを離すタイミングで
ALT キーを押下していればその履歴を新規ウィンドウで表示出来る。

フレームがパラメータを受け付けた時点で開く動作はモードによる。
<動作モード>→<ウィンドウオープンモード>を参照して欲しい。

ウィンドウ操作方法
ウィンドウ自体の表示形態は変更可能である。
メニューの<ウィンドウ>→<スタイル>配下のモードを操作する。
<ツールバー>:ツールバーの表示|非表示
<サッシュ幅変更>:サッシュの表示|非表示
<ウィンドウ枠>:ウィンドウ枠の表示|非表示
<最大化>:ウィンドウの最大化
<最小化>:ウィンドウの最小化
<フルスクリーン>:ウィンドウのフルスクリーン化
<全非最小化>:最小化したウィンドウを全て表示状態に戻す
<全枠反転>:サッシュ、ウィンドウ枠、ツールバーの状態を1コマンドで反転する

ウィンドウの外枠を表示していない場合ウィンドウの配置変更が
ウィンドウシステム標準の方法では出来ないので
SCA をドラッグする事でも同様の操作を可能にしてある。
マウス左ボタンドラッグでウィンドウ移動、マウス右ボタンドラッグで
ウィンドウシステム標準のリサイズと同様の動作をする。
ウィンドウ外枠がない状態での操作は画像の配置を決定する事を
目的としているので常に操作に合せて画像を表示している。
外枠がない状態ではフレーム端を認識しづらいので
直接 SCA を判別出来るようマウス左ボタン4回クリックで
SCA 範囲を表示出来る。
操作中一部画像が乱れるが操作確定後再描画される。
SCA を無効にするとフレーム4角以外の SCA では当機能も無効になる。

複数のウィンドウを表示するとウィンドウが重なり
操作しづらいのでウィンドウ検索機能を持つ。
メニューの<ウィンドウ>→<移動>配下に以下のコマンドが有る。
<親フレームへ>:共有履歴フレームから親フレームに
フレームカーソルを移動してメインウィンドウを前面に上げる。
その時親フレームの表示を当コマンドを実行したフレームで
表示中の履歴に切替える
<ウィンドウ移動 前|次>: V4 内部で保持する表示順で
ウィンドウを前面に上げる
<共有履歴ウィンドウ移動 前|次>共有する履歴を持つ
ウィンドウを V4 内部で保持する表示順に前面に上げる
<同一名履歴ウィンドウ移動 前|次>:履歴を共有し、
なおかつ複数存在する同一名ファイル履歴を表示している
ウィンドウを V4 内部で保持する表示順で前面に上げる
<メインウィンドウへ>:メインウィンドウを前面に上げる

<ウィンドウ移動>の操作は SCA の上下辺中央付近で
マウス中ボタンドラッグして左右に移動する事でも可能である。
最小化したウィンドウは検索操作では無視する。

またウィンドウ表示順を入替える事が出来る。
順番を入替えるウィンドウで<順入替元>を
実行した後、もう一方のウィンドウで<順入替>を実行すると
両者のウィンドウ表示順は入替わる。表示順は V4 内部で
保持しているのでタスクバー表示順番は変更しない。
タスクバー表示順を同一にする場合<タスクバー順並替>で
V4 内部の表示順と同一並びになる。

ウィンドウ検索時のウィンドウ切替えに伴う画像再描画は
設定で指定した詳細度に従う。これはウィンドウ検索高速化のために
行なっている。


ウィンドウ操作モード
ウィンドウ配置をウィンドウシステム標準の方法ではなく
フレーム内の画像操作と同じ方法で行なうモードである。
ウィンドウ検索も備える。
メニューの
<動作モード>→<グロ−バルモード>→<マウス操作対象>を
<ウィンドウ>に指定すると当モードになる。
このモードは画像操作モードとのトグル動作をする。

マウス操作は以下のようになる。
マウス左ドラッグ:ウィンドウの移動
マウス右ドラッグ:ウィンドウ中心を中心としたウィンドウの拡大縮小
マウスボタン押下無しホイール回転:ウィンドウ検索
マウス左ボタンホイール回転:共有履歴ウィンドウ検索
マウス右ボタンホイール回転:同一名履歴ウィンドウ検索

当モードではマウスカーソルが以下の表示になる。

ウィンドウ操作モード時のマウスカーソル


当モードでは通常のマウスによる画像操作はほとんど
不可能になる。
一時的にマウスによる画像操作を行ないたい場合
ドラッグ動作と同時に ALT キーを押下すると画像操作が
可能になる。また画像操作モードから一時的に
ウィンドウ操作モードにしたい場合も同様の操作で可能である。
この場合 ALTキーをユーザが押下するモード変更は明白なので
マウスカーソルは変更しない。
ALT キーはシステムメニュー操作キーでもあるので、この操作後
キー入力フォーカスがシステムメニューに移動する場合がある。
再度 ALT キーを押すか、フレームをマウスクリックすれば
フォーカスがフレームに戻る。
この症状はマウスカーソルが矢印になっている事で確認出来る。


ウィンドウ削除
メニューの<ウィンドウ>→<閉>配下のコマンドで行なう。
<閉じる>:当ウィンドウを閉じる
<同一名履歴ウィンドウ閉(自残)>:履歴を共有し、
なおかつ複数存在する同一名ファイル履歴を表示している
ウィンドウを全て閉じる。フレーム分割したウィンドウは無視する。
当フレームのウィンドウは残す
<同一名履歴ウィンドウ閉(自閉)>:履歴を共有し、
なおかつ複数存在する同一名ファイル履歴を表示している
ウィンドウを全て閉じる。フレーム分割したウィンドウは無視する。
当フレームのウィンドウも閉じる
<他ウィンドウ閉>:当フレームが属するウィンドウ以外を閉じる。
自身がメインウィンドウでない場合でもメインウィンドウは閉じない


背景色設定
フレーム毎に背景色を設定できる。
<ウィンドウ>→<背景色設定…>で表示される
色設定ダイアログから指定する。
同一の共有履歴を持つフレームの背景色は色で
判別しやすくする為同色になる。
<ウィンドウ>→<背景色リセット>を実行すると
色を初期状態に戻す。


フレーム分割方法

マウスで行なう場合
フレームのクリエータをフレーム側にドラッグするとその方向に
新たなサッシュが作成されフレームを作成する。
メニューから行なう場合
<ウィンドウ>→<フレーム分割 縦|横>を実行すると
フレームを2分割する。

新規フレームが持つ履歴はメインウィンドウかコウィンドウかで異なる。

メインウィンドウの場合
 フレームカーソルが存在する履歴を「コピー」する。フレームカーソルが
存在しない場合(フレームカーソル表示中のフレームを削除すると起こり得る)、
空の履歴を持つフレームになる。コウィンドウ内にフレームカーソルが存在する場合
(<動作モード>→<グロ−バルモード>→<ウィンドウアクティブでフォーカス>を
「しない」で起こり得る)、
同一の共有履歴はメインウィンドウに複数存在出来ないのでフレームを作成しない。

コウィンドウの場合
 同じコウィンドウ内のフレームカーソルが存在するフレームの履歴を「共有」する。
異なるウィンドウのフレームやフレームカーソルが存在しない場合、コウィンドウでは
同一の共有履歴以外存在できないのでフレームを作成しない。



フレーム削除方法

マウスで行なう場合
フレームのクローザをクリックすると左に隣接するフレームだけを閉じる。
メニューから行なう場合
<ウィンドウ>→<閉>→<フレーム閉>を実行する。

フレーム1つだけならば削除しない。
残ったフレーム1つの表示を削除する時は
<履歴>→<削除>→<全削除>でフレームを空の履歴にする。

コウィンドウを持つメインウィンドウのフレームを削除すると
そのコウィンドウは全て閉じる。

メニューには当ウィンドウ内の自身「以外」のフレームだけ削除する
<ウィンドウ>→<閉>→<他フレーム閉>がある。この機能は<履歴>と
関係が深いのでその項目で説明する。



履歴

V4では時間順の画像情報を履歴と定義している。

履歴には以下の種類がある。

1.登録履歴
各フレームでの画像の登録順。
各画像毎にフレーム内で最後に表示した画像のファイルパスと
その配置/レンズ/レンズマスク情報を保持している。
但し履歴情報を常にリセットするモードであると
登録履歴には配置情報を保存しない。
登録履歴の中の履歴の登録位置をインデックスと呼ぶ。

2.表示履歴
各フレームでの実際に表示した画像順。
フレーム内で表示が切り替わる直前の登録履歴のインデックスと
配置/レンズ/レンズマスク情報を保持している。
履歴情報を常にリセットするモードであってもこの機能は有効である。

3.窓閉履歴
閉じたフレームの履歴。
閉じる直前の登録履歴を保持している。
登録履歴が存在しないフレームは保存しない。
履歴情報を常にリセットするモードであってもこの機能は有効である。
窓閉履歴はフレーム毎に独自の登録履歴を持っている事に意味があるので
共有履歴のみのコウィンドウでは窓閉履歴を保存しない。

クリップボード経由のビットマップ画像はファイルではないので
登録履歴には登録しない。よってインデックスを移動すると
そのビットマップ画像の情報は削除される。

登録履歴の初期状態は登録履歴が初めて表示された時に決定する。

最初の表示位置は画像の原寸とフレームのサイズ、フレームサイズが
変化する時の画像基準点を基に表示する。

登録履歴で現在表示しているインデックスの移動、削除、
フレーム間複製はメニューコマンドで行なえる。
<履歴>配下に以下のコマンドが有る。
<移動>→
 <移動 +|−|先頭|終端>:インデックスの移動
 <同一名移動 +|−>:同一名履歴を検索してインデックスを移動する
<削除>→
 <現表示>:現フレームで現在表示中の履歴を削除
 <現以外>:現フレームで現在表示中の履歴「以外を全て」削除
 <始ー現>:履歴先頭から現在履歴までの履歴を削除
 <現−終>:現在履歴から履歴終端までの履歴を削除
 <全削除>:現フレームの全履歴を削除
全履歴を削除した場合は空の履歴になる。
<複製>→
 <現フレーム>:現フレームで現在表示中の履歴を複製
 <複製 元>:複製元になるフレームを指定
 <複製 現>:複製元フレームで現在表示中の履歴を現フレームの履歴に複製
 <複製 始ー現>:複製元フレームの履歴先頭から現在履歴までを現フレームの履歴に複製
 <複製 現−終>:複製元フレームの現在履歴から履歴終端までを現フレームの履歴に複製
複製処理は<現フレーム>のみ、
<動作モード>→<履歴モード>→<履歴追加位置>に従い
複製した履歴を挿入する。
他は、現在表示中の履歴インデックスの次に複製した履歴を挿入する。
<複製 元>は複製実行後クリアされる。

登録履歴の数が膨大になり確認が必要な場合があるので
サムネイル表示式検索機能がある。
SCA左右中央付近をマウス中ボタンドラッグすることで起動する。
サムネイル表示並びは登録履歴順を縦に並べてある。
横方向は設定ファイル'congif'の'historygainXjump'キー設定値が
登録履歴インデックスの相対オフセットになる。
下方向が登録履歴正順、右方向がオフセット正方向になり
登録履歴を循環して連続表示している。

表示履歴は検索を容易にするため登録時の表示状態を
サムネイルにして保持している。
<履歴>→<検索>→<表示履歴>もしくはSCA下左から
2番目をマウス左ボタンクリックすることで検索ダイアログが起動する。
表示履歴を選択すると登録履歴の状態を選択した
履歴に変更して表示する。
この時切り替わった画像情報は表示履歴に登録される。
削除した登録履歴の表示履歴は自動的に削除する。

窓閉履歴も表示履歴と同様のサムネイルを保持している。
<履歴>→<検索>→<窓閉履歴>もしくはSCA下左から3番目を
マウス左ボタンクリックすることで検索ダイアログが起動する。
窓閉履歴を選択した場合選択操作を行なったフレームの登録履歴を
全て廃棄して選択した履歴に差し替える。この場合は廃棄した登録履歴は
窓閉履歴に登録しない。
メインウィンドウで<ウィンドウ>→<閉>→<他フレーム閉>を行なった場合
閉じたフレームの窓閉履歴が残っていれば閉じたフレーム群を戻すコマンドがある。
<ウィンドウ>→<閉>→<他フレーム戻>で戻せる。
この機能は状態復帰と同一なので<他フレーム閉>を行なった
直前の全体の状態に復帰する。
コウィンドウでは窓閉履歴を保存しないのでこの機能は使用出来ない。

表示履歴、窓閉履歴選択用のサムネイル表示ダイアログは
サムネイル選択、またはダイアログの上端、左端を
マウスカーソルが通過すると閉じる。



画像ブラウザ

V4 側からパラメータの入力元を自動で認識してそのウィンドウを前面に出せる。
ここでは入力元はどのような形式でも画像ブラウザと呼ぶ。
また前面に出す行為を「呼び出す」と呼ぶ。

 画像ブラウザ呼出しコマンドはウィンドウの重なりで画像ブラウザを判断している。
 「画像ファイルをドロップした時」の「V4ウィンドウの直前のウィンドウ」、
「クリップボードから画像をロードした時」の「V4ウィンドウの直後のウィンドウ」、
「既に起動した V4 が画像パラメータを受け取った時」の
「V4ウィンドウの直前のウィンドウ」を画像ブラウザと判断している。
起動時はウィンドウの重なりが不定になりやすいので対応していない

メニューのコマンドは<画像ブラウザ>配下に以下のコマンドがある。
<画像ブラウザ呼出し>:最初に登録した画像ブラウザもしくは
最近登録ブラウザリストから呼び出した画像ブラウザの
ウィンドウを呼び出す
<全ブラウザ呼出>:登録した画像ブラウザのウィンドウ全てを呼び出す
<登録ブラウザリスト>:登録した画像ブラウザのリスト一覧を表示する。
新たな画像ブラウザを認識すると登録する。ウィンドウ自体を認識しているので
タイトルバーの名称が変わった場合は現在のタイトルで表示する。
アイテムを指定するとその画像ブラウザのウィンドウを呼び出す

登録した画像ブラウザはリストから削除しない。

 呼出す画像ブラウザ閉じている場合なにもしない。



動作モード

メニュー表示に順じて説明する。

<画像|レンズ|レンズマスク| COL下|上 ドラッグモード>
全てのレイヤでのドラッグ動作と動作中|静止中の画像詳細度を設定する。
移動以外のドラッグ動作は画像操作で説明した通りSHIFT、CTRLを併用しなくても限定出来る。
<ドラッグ機能限定>配下で示されるモードのいづれかを選択するとその状態になる。
ドラッグ中|静止中の画像詳細度は
<ドラッグ中詳細度><静止中詳細度>配下のモードの
いづれかを選択するとその状態になる。

<ドラッグ同期>
ドラッグ操作は通常マウス操作モードで操作対象を決定しているが、
ドラッグ同期コマンドを用いると別のマウスドラッグ操作も
同時に実行出来る。実行方法はメニューからは当メニューアイテム配下の
設定済みコマンドを指定する。
マウスの場合SCAの上辺左から1番目から4番目に設定済みコマンドを
割り当ててある。ドラッグ同期はトグル動作をするので実行停止する場合は
再度同じコマンドを指定する。ドラッグ同期はユーザにより
12種まで設定可能である。
設定ファイル'config'に詳細を記述してあるので参照して欲しい。
<ドラッグ同期乗数>はマウスドラッグ動作に対する
ドラッグ同期対象操作の変化量を指定する。ダイアログ表示の
左側のスライダー値がX方向もしくは拡大縮小方向、
右側がY方向もしくは回転方向に対する乗数となる。
この乗数がドラッグ操作のマウス移動量に乗算され
その値でドラッグ同期対象操作を実行する。

<グローバルモード>
全ウィンドウで共有するモードである。
<マウス操作対象>:マウス操作をフレーム内の画像にするか
ウィンドウの配置にするかを指定する。<ウィンドウ>と<画像>のトグル動作をする
<入力時ウィンドウを前面へ>:パラメータ入力を受け付けた時
そのウィンドウを前面に出す動作を指定する。
<しない><する>のトグル動作を行ない、<しない>にすると
入力を受け付けてもそのウィンドウの重なりは変化しない
<ウィンドウアクティブでフォーカス>:ウィンドウをアクティブ状態にした場合
そのウィンドウのいずれかのフレームにフレームカーソルを移動する。
通常は最近フレームカーソルがあったフレームに移動する。
<しない><する>のトグル動作を行なう
<入力をメインウィンドウに限定>:V4 の実体はメインウィンドウなので
V4Start.exe 経由のパラメータは常にメインウィンドウで受けているが
そのパラメータを解釈するのはフレームカーソルがあるフレームである。
このモードは散在したコウィンドウでパラメータを受け付ける事で
登録順が崩れる事を防ぐ目的がある。
<しない><する>のトグル動作を行なう
<全SCA 有効|無効>:他のウィンドウも含めた全フレームの SCA の
有効|無効を切替える。
当コマンドを実行した切替え状態を全フレームに設定する

<ウィンドウオープンモード>
パラメータを受け付けた際にその内容を新規にウィンドウを開いて
表示するモードである。
<「送る」でオープン>:V4Start.exe経由でパラメータを受けた場合
新規にウィンドウを開いて表示する。<しない><する>のトグル動作を行なう。
<しない>場合パラメータ受付時に新規ウィンドウは開かない。
また<する>にしてもD&Dなど他のパラメータ受け渡し方では
新規ウィンドウは開かない
<オープン確認>:パラメータを受けた時に新規ウィンドウを開く際
確認ダイアログを表示する。これはD&Dが出来ない画像ブラウザで
指定フレームにファイルを渡したい場合に使用する。
<しない><する>のトグル動作を行なう
<位置指定>:新規ウィンドウを表示する位置を指定する。
<しない><する>のトグル動作を行なう。
<する>にした場合設定ファイル'config'で指定した位置に配置する。
<しない>にした場合初期設定に従う
<サイズ指定>:新規ウィンドウを表示するサイズを指定する。
<しない><する>のトグル動作を行なう。
<する>にした場合設定ファイル'config'で指定したサイズにする。
<しない>にした場合初期設定に従う。
<画像サイズにフィット>を<する>にした場合 指定は無効になる
<画像サイズにフィット>:新規ウィンドウを表示するサイズを画像サイズにする。
<しない><する>のトグル動作を行なう。
<する>にした場合新規ウィンドウを表示するサイズを画像の原寸サイズにする。
<しない>にした場合初期設定に従う
<デスクトップにフィット>:新規ウィンドウを表示するサイズを
デスクトップの表示範囲に収める。
<しない><する>のトグル動作を行なう。
<しない>にした場合他のサイズ指定モードに従う
<入力形式に拠らずオープン>:D&Dによるパラメータ受付でも
新規にウィンドウを開いて表示する。
<しない><する>のトグル動作を行なう
<複数ファイル入力全てオープン>:画像ファイルリストをパラメータを
受けた場合その全ファイルを新規にウィンドウを開いて表示する。
<しない><する>のトグル動作を行なう
<同一名履歴全てオープン>:画像ファイル1つだけをパラメータで受けた場合
そのファイルがパラメータを受けたフレームの履歴の中に存在すれば
それらを新規にウィンドウを開いて全て表示する。
このモードは<履歴モード>→<同一名履歴検索表示>を<する>モード時のみ
指定可能である。<しない><する>のトグル動作を行なう

<履歴サムネイル>
登録履歴検索時に表示するサムネイルの作成や保存を明示的に行なう。
通常のサムネイル作成の挙動は設定ファイル'config'に指定する。
詳細は'config'に記述してあるので参照して欲しい。
<強制読込>:画像操作を一時的に停止してサムネイル作成を優先させる。
大量の履歴から作成する場合かなりの時間を要する
<併行読込>:画像操作と併行してサムネイル作成する
<読込停止>:サムネイル作成を停止する
<強制保存>:画像操作を一時的に停止してサムネイルのファイル保存を優先させる。
大量の履歴から作成する場合かなりの時間を要する


<ローカルモード>
フレーム毎に動作を保持するモード。
<ドラッグ中カーソル&右クリックメニュー >:ドラッグ中のカーソル表示|非表示と
コンテクストメニューコマンド機能で記述したメニュー表示|非表示を
同時に切替える。トグル動作をする
<SCA 有効|無効>:SCAは画像表示範囲に有るのでマウスで誤操作しやすい場合がある。
そのためSCAの有効|無効を切替えられる。
トグル動作をする。
フレーム4角のSCAはSCAそのものの切替えや状態表示等常に
必要なコマンドを割り当ててあるので常時有効である
<ドラッグ限定切替>:ドラッグ機能限定の対象となる操作全てに対し
現在のモードを
 拡大縮小、回転 → 拡大縮小のみ → 回転のみ
と実行毎に循環して切替えする


<履歴モード>
フレームで保持している履歴の操作モードである。共有履歴の場合は
共有する全フレームで同一モードになる。
<履歴情報 常にリセット|保持する>:<常にリセット>にすると表示中の
履歴インデックスを移動しても表示状態を履歴に登録せず、
常に初回表示状態で表示する。
フレームで保持している全履歴をリセットする。
<保持する>にすると表示状態を記録する
<履歴追加位置 現直後へ|履歴最後へ>:受け付けたパラメータの履歴への
挿入インデックスを指定する。
現在表示している履歴インデックスの次か登録履歴の終端を指示する
<履歴書換停止 >:表示状態を保存しない。
<履歴情報 常にリセット>と異なり現在保存している履歴はリセットせず
インデックス移動しても必ず同じ状態で画像を表示する。
<しない><する>のトグル動作を行なう
<同一名履歴検索表示 >:受け付けたパラメータが画像ファイル1つのみの場合、
そのファイルがパラメータを受けたフレームの履歴の中に存在すればそれを表示する。
パラメータは新たな履歴として登録しない。
但し複数ファイルや画像ファイルではない場合この動作は行なわない。
<しない><する>のトグル動作を行なう


<表示と操作>
レンズ/レンズマスク/ 上|下COL の表示と操作モードを指定する。
<表示|非表示>:各レイヤの表示|非表示を切替える
<稼働|停止>:各レイヤの操作モードを稼働|停止に切替える


<固定位置>
フレームやウィンドウのサイズが変化した場合に画像表示位置が変化するが、
その際に表示位置を固定する基準点を選択出来る。履歴に登録される画像表示状態の
変更なので共有履歴ならば共有するフレーム全てが同じモードになる。
<左|中|右|上|下>は現在のフレームの4辺の位置を指す。
<フィット>はフレームサイズに画像を自動で合せる機能である。
画像が回転している場合は画像全体が収まる矩形を基準にしてリサイズする。
フィットした場合の位置は固定位置に従う。
<フィットなし>はフィットしない。フィット状態からこの状態にすると画像原寸に戻す。
<画面>は画像全体がフレーム内に収まるようにサイズ変更する。
<長辺>は画像の短辺がフレーム内に収まるようにサイズ変更する。
長辺方向はフレームをはみ出す場合がある
<画像操作>→<フィット>とは異なりフレームサイズが変更されると
自動で画像をリサイズする。



アニメ

時系列にそった画像を扱う為GIFアニメーション(以後GIFアニメ)に
対応している。
各レイヤで静止画像と全く同様の操作が可能である。

アニメーション動作の開始|停止は
<アニメ>→<開始/停止>で行なう。トグル動作をする。

GIFアニメは遅い処理なのでインターバル時間や
アニメーション画像フレームをとばして表示する機能を備えた。
<アニメ>→<速度 +|−>、
<アニメ>→<フレームスキップ +|−>で変更出来る。

またアニメーションの一部だけを表示出来るよう
アニメーション画像フレームの先頭と終端付近を非表示にする機能を備えた。
<アニメ>→<開始オフセット +|−>
<アニメ>→<終了オフセット +|−>で変更出来る。
どちらも+方向で表示時間が短くなる。

変更したパラメータをリセットする際は
<アニメ>→<リセット>を用いる。


V4 の画像処理はインタラクティブ操作を重視しているので
画像切替えは高速ではない。画像切替えの連続であるGIFアニメでは
GIFファイルに設定されている切替え速度に対応出来ない場合がある。
その場合は上記のパラメータを変更するか、フレームの表示面積を
小さくする事でGIFファイル設定値の切替速度に近付けられる。



自動操作機能

 V4の機能はスクリプトで自動操作出来る。

実行方法は
マウスの場合左ボタンダブルクリックもしくは右ボタンダブルクリック、
メニューの場合<自動操作>配下、
もしくは<自動操作>→<自動操作機能リスト>配下のいずれのアイテムでも実行可能である。

 自動操作は1回のみ実行するタイプと繰返し実行するタイプがある。
繰返すタイプの停止は マウスによる自動操作の再実行、
もしくは<自動操作>→<自動操作 0|1|>による
自動操作コマンドの再実行を行なう。自動操作コマンド自体は再実行しない。
 <自動操作>→<自動操作機能リスト>配下のアイテム実行の場合は
現在の実行中自動操作を停止後、選択した自動操作を実行する。

 自動操作は操作対象が1フレームのみ、または全フレームのタイプがある。
全フレームタイプを実行している場合はどのフレームからでも停止操作で停止する。
対象範囲がウィンドウという場合があるがそれらは自動操作スクリプト内で
全フレーム対象を限定したものなのでそれに準じた動作をする。

1フレームタイプであれば自動操作は複数実行可能である。しかし
自動操作の実行数を増やすと画像処理の負荷が高くなり
一時的に処理が停止する場合がある。また自動操作はタイマを使用しているが
タイマ処理は負荷が高くない状態でもある程度タイマが増えると
処理をシステムで無視する。
自動操作のインターバル時間や同時操作数を調整して負荷を下げる事で
ある程度対応出来る。

 全フレームタイプの停止タイミングは遅れるので停止状態が
分りにくい場合がある。またマウスボタンに自動操作実行/停止コマンドが
割付けてあるが、ダブルクリックはコマンド発行タイミングが
分りにくくなるのでそれ以外で停止コマンドを実行することを勧める。

 繰返すタイプの自動操作はタイマを用いて繰返し実行している。
タイマはマウス操作より入力の優先度が低いのでマウス移動で実行速度が
遅くなる場合がある。

 自動操作の状態を保存する為 ExtDir フォルダに 'ExtStateFile' ファイルを
作成してテキスト形式で自動操作の状態を保存している。

 登録はV4をインストールしたフォルダ配下の ExtDir フォルダに
条件を満たす python スクリプトがあればそれを起動時に自動登録する。
自作する場合は既存サンプルとV4のソースを参考にして欲しい。



 添付スクリプト V4Ext1EditExtState.py は状態保存データの
バックアップと他からのインポートを目的に作成した。内部仕様に
関係が深いのでこのスクリプトのみ解説する。

 起動直後は現在実行中の V4 のスクリプト状態を「現在の状態記録」として
左側パネルにツリー表示する。これを編集し「Ok」ボタンを押すと
V4 スクリプト状態保存データを編集データに更新する。

 ツリーの枝の各段は以下の意味を持つ。
  1段目…各スクリプトを示す名称。現在 V4 で読み込んでいる
スクリプトならばそのメニュー表示名を表示して、名称を<...>で併記する。
  2段目以後…各スクリプトで保存しているデータの名称。

 プリセットとして保存したデータがあればツリーは「プリセット」と
表示した枝の直下に名称を表示する。

 「全表示」ボタンを押していない状態ではスクリプト名称と
各プリセットデータ名称のみ表示している。「全表示」ボタンを押した状態では
全ての保存データ名称を表示する。

 ツリーの各枝はマウス左ボタンクリックすると枝が選択状態になる。
シフトキーやコントロールキーを併用して複数選択出来る。

 「Del」ボタンは左側パネルで選択した枝を削除する。

 「Export]ボタンは現在の編集状態を ExtStateFile ファイルと同じ仕様で
外部ファイルに出力する。

 「Import」ボタンは「Export」ボタンで出力したファイルを入力して
右側パネルにツリー表示する。この状態保存データは編集データにコピー出来る。

 「Copy」ボタンで Import ツリーで選択した枝を、編集ツリーで選択した枝の直下に挿入する。

 「DifMerge]ボタンを押すと Import ツリーから編集ツリーに差分データを
取込む。枝1段目表示のスクリプト自体が編集ツリーにない場合、枝配下全てを
コピーする。同一スクリプトがある場合プリセットのみコピーする。

 「Reset」ボタンを押すと編集データを起動時の状態に戻す。


 注意事項

  1.編集を失敗した場合に備えて当スクリプト起動直後に現在の状態を
Export してバックアップを残す事を勧める。V4 再起動時に ExtStateFile ファイルが
読めない場合、バックアップファイルを'ExtStateFile'にリネームして
ExiDir フォルダに置けば編集前の状態に戻せる。バックアップがない場合は
破損した ExtStateFile ファイルを削除すれば新しいファイルを作成する。
  2.全表示した枝は削除可能だが、枝データの使用状態はスクリプトのコードを
参照しないと不明である。内容が不明な枝は削除しない事。



キャプチャ

画像に動作をつける事が可能なのでそれを保存すべく
V4 で表示している画像を時系列で連続保存する。

<キャプチャ>→<設定と開始…>でキャプチャ設定ダイアログが
表示されるので各パラメータを設定して
OKボタンを押下するとキャプチャを開始する。

各パラメータは以下の意味を持つ。
実行中動作「停止」:キャプチャ時に画像の動きを表示しない。
自動操作のみをキャプチャする場合を想定している。
フレームキャプチャ時のみ有効
開始遅延:キャプチャ開始まで指定動作フレーム分待機する
キャプチャ数:キャプチャする画像枚数
保存ファイル:キャプチャした画像を保存するファイルパス。
ファイル名は終端に"_xxxx.jpg"と追加する。
ファイルフォーマットはJPEG
領域:キャプチャする領域。フレーム、当コマンド実行フレームの
ウィンドウ、全画面を選択可能
画質:保存ファイルの画質
キャプチャを中止する場合は<キャプチャ>→<中止>で中止する。

当機能は連続した画像を保存する機能である。画像が完全に静止した状態では
フレームカウントを行なわないのでキャプチャを行なわない。
画像が何らかの変化をする状態でのみ機能する。

キャプチャ動作は画像処理と併行動作するので負荷が高い。
インタラクティブ操作や自動操作処理などの高負荷状態で
キャプチャを行なうと一部の自動操作が停止したり
入力が反映されなくなる場合がある。自動操作の説明で記述した
負荷軽減方法で対応出来る場合がある。



情報表示

V4 は画像操作に傾注出来るよう
出来得る限り情報を提供していない。
しかし操作する上で必要な情報が
あるので通常表示しない情報を表示する。

メニューの<情報表示>配下に以下のコマンドがある。
<履歴情報>:現在表示中の履歴ファイル情報
表示フォーマット:
{(*:不定、T:テンポラリ、x:表示不可能、A:GIFアニメ)}
〔現在表示中の履歴インデックス/現在フレームで保持する履歴総数
<同一ファイル名履歴インデックス/同一ファイル名履歴総数>;
表示中履歴のファイルパス〕
<COL情報>:現在表示中のCOLファイル情報
表示フォーマット:
{(*:不定、T:テンポラリ、x:表示不可能、A:GIFアニメ)}
〔┰(上COL)|┸(下COL);COLのオーバレイ画像ファイルパス〕
<全レイヤ範囲>:レンズ/レンズマスク/COLのフレーム上での配置
<SCA範囲>:現在のマウス左ボタンクリック対応 SCA の状態で SCA の区域を表示する



ファイル

入出力コマンドが纏まっている。
メニューの<ファイル>配下に以下のコマンドがある。

<クリップボードから>:クリップボード経由でパラメータを受け取る。
クリップボードの形式は以下を受け付ける。
テキスト;画像ファイルリスト、履歴ファイル形式のテキスト
ビットマップ;ビットマップ画像
<画像読込…>:読み込む画像ファイル、履歴ファイルを V4 から直接指示する。
ファイル指定ダイアログではSHIFTキー、CTRLキーを
併用して選択すれば複数ファイルを指定可能

<画像リスト保存…>:現フレームで保持する履歴の
画像ファイルパスをインデックスの並び順にテキストファイルに保存する
<履歴保存…>:当コマンドを実行中の現フレームで
保持する履歴をインデックスの並び順にテキストファイルに保存する

<状態保存…>:現在の V4 の状態をウィンドウの配置、フレームと
その履歴、モード等全てをテキストファイルとして保存する。
内容の確認の為保存直前のデスクトップの表示状態も
スナップショット画像として保存している。
通常拡張子は"ss"であるが
"ss1"にすると現在表示中の履歴のみ保存する
<状態復帰…>:状態保存ファイルを読込み、状態を復帰する。
ファイルに保存したスナップショット画像を確認出来る

<クイック保存>:<状態保存…>と異なりダイアログを表示せず
直接"ss1"形式で指定したフォルダに
状態保存ファイルを作成する。
保存フォルダは設定で指定する。
デフォルトではインストールディレクトリ配下の temp ディレクトリである。
ファイル名フォーマットは以下の通り。
V4QSS年-月-日-時-分-秒.ss1
<クイック復帰…>:クイック保存で保存対象になっているフォルダを開いて状態復帰する。
このコマンドから「"ss1"形式ファイル」で状態復帰すると
復帰直前に現在の状態をクイック保存フォルダに"ss"形式で保存する。
ファイル名フォーマットは以下の通り。
V4QRSS年-月-日-時-分-秒.ss


クィック保存|復帰では必要以上にファイルを
保存しないようファイル数を設定で制限してある。
制限数を越えた場合古いファイルから順次削除する。
削除対象は
"V4QSS"、"V4QRSS"のいずれかがファイル名に含まれ、
拡張子が"ss" または "ss1"
のファイルである。

状態復帰は遅い処理なので登録履歴のサムネイル作成は
あえて自動で行なっていない。
必要なら手動で行なって欲しい。

保存ファイルは全てテキスト形式なので画像ファイルを
移動した場合などはテキスト処理ツールで変更出来る。

画像ファイルパス形式はロングファイルパスを正しく渡せない画像ブラウザに
対応する為パラメータ受渡しにはショートファイルパス形式を用いているが
V4内部では両形式を混在しても認識出来る。D&Dやテキストとしてならば
ロングファイルパスでも認識可能。



スクリーンコマンドエリア(SCA)

機能が単独のコマンドは通常コンテクストメニューから起動するが、
フレーム内の特定位置をマウス操作する事で、より簡単にコマンドを
起動できるようにした。
SCAはその範囲内の操作だけを認識しているので一般的なボタンのように
マウスが通過した時のボタン化やマウスカーソル変更は行なわない。
トグル動作を行なうコマンドは
クリック時やSCA範囲表示時に動作状態を色を変えて表示する。
フレーム枠の周辺に以下の機能を割り付けてある。

マウス左クリックコマンド

 フレーム上辺 左から
ツールバー表示|非表示
ドラッグ同期0〜3
上|下COL表示|非表示 SCA表示(右クリックでも可)

 フレーム左右 上から(フレーム4角除く)
履歴移動先頭へ
履歴移動前へ
履歴移動次へ
履歴移動終端へ

 フレーム下辺 左から
レイヤ表示
表示履歴選択
窓閉履歴選択
画像反転
レンズマスク反転
上|下COL操作対象の反転
SCA停止|稼働(右クリックでも可)


マウス右クリックコマンド

 フレーム上下辺 左から(フレーム4角除く)
親ウィンドウ前面へ
親フレーム前面へ
前ウィンドウ前面へ
次ウィンドウ前面へ
前共有履歴ウィンドウ前面へ
次共有履歴ウィンドウ前面へ


 フレーム左右 上から(フレーム4角除く)
同一ファイル名履歴先頭へ
同一ファイル名履歴終端へ
同一ファイル名履歴前へ
同一ファイル名履歴次へ


マウス中クリックコマンド

 フレーム上下辺 左から4番目から
前履歴開
次履歴開


マウス中ドラッグ

 フレーム左右 中央付近
履歴検索 + 選択履歴を新規ウィンドウで表示

 フレーム上下辺 中央付近
ウィンドウ検索


マウス左ドラッグ SCA全範囲
ウィンドウ移動


マウス右ドラッグ SCA全範囲
ウィンドウ拡大縮小


<動作モード>→<>ローカルモード>→<SCA 有効|無効>の
説明通りSCAは無効化出来るが、フレーム4角のSCAは常に有効である。



マウス操作による機能


マウスによる操作はモードや範囲で操作対象が異なる。
一般的に操作対象の優先順位は
ベース画像 < 下COL < レンズ < レンズマスク < 上COL < SCA
である。
操作対象が無効になっている場合やマウスカーソルが操作対象の
有効範囲にない場合は下位の対象が操作対象になる。

機能の詳細は上記の各項を参照。



画像移動
 画像絶対移動
  フレーム内をマウス左ボタンドラッグするとドラッグした場所を基準に画像が移動する。
 画像相対移動
  フレーム内をマウス中ボタンドラッグするとマウスが移動した時のみドラッグ開始位置からの移動量分だけ画像が移動する。マウスが動かなければ移動しない。つまりドラッグ開始位置から離れる程1動作当りの画像移動量は大きくなるがマウスを止めると画像移動は止まる。再度マウスを動かすとドラッグ開始位置から距離分の移動量で画像が移動する。

画像回転、拡大縮小
 フレーム内をマウス右ボタンドラッグするとドラッグしている位置を基準としてフレーム中心を軸にして画像の回転、拡大縮小を行なう。
 ボタンを押さずにマウスホイールを操作した場合、フレーム中心を軸として拡大縮小を行なう。
 左ボタンを押してマウスホイールを操作した場合、フレーム中心を軸として回転を行なう。

レンズ移動
 レンズ内にマウスカーソルがある場合
 マウス左ボタンドラッグするとレンズが移動する。この時オフセットは移動しない。
 レンズの周辺にマウスカーソルがある場合
 マウス左ボタンドラッグするとレンズとオフセットが移動する。

レンズ半径
 レンズの周辺にマウスカーソルがある場合
 マウス右ボタンドラッグするとドラッグしている位置を基準としてレンズの半径を変更する。
 左ボタンを押してマウスホイールを操作した場合、レンズの半径を変更する。

レンズ有効半径
 レンズの中心周辺以外のレンズ内にマウスカーソルがある場合
 マウス右ボタンドラッグするとドラッグしている位置を基準としてレンズの有効半径を変更する。
 右ボタンを押してマウスホイールを操作した場合、有効半径を変更する。

レンズオフセット
 レンズ範囲にマウスカーソルがある場合
 マウス中ボタンドラッグするとドラッグしている位置を基準としてオフセットが移動する。

レンズ曲率
 レンズの中心周辺にマウスカーソルがある場合
 マウス右ボタンドラッグするとドラッグしている位置を基準として縦方向の変化量に応じて曲率が変化する。上方向で+、下方向で−になる。
 ボタンを押さずにマウスホイールを操作した場合、曲率を変更する。

レンズ曲率変化量
 レンズの中心周辺にマウスカーソルがある場合
 マウス右ボタンドラッグするとドラッグしている位置を基準として横方向の変化量に応じて曲率変化量が変化する。右方向で+、左方向で−になる。一見画像の変化と逆の変化に見えるがひずみは大きくなる。

レンズマスク回転、拡大縮小
 レンズの中心周辺以外のレンズ内にマウスカーソルがあり、レンズマスク操作稼働中の場合
 マウス右ボタンドラッグするとドラッグしている位置を基準としてレンズ中心を軸にしてレンズマスクの回転、拡大縮小を行なう。

COL移動
 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近以外にあり、操作稼動中の場合 マウス左ボタンドラッグするとドラッグした場所を基準に操作対象が移動する。
 COL、アルファマスク、オーバレイ画像のいづれの操作モードでも操作稼動中であれば同様の操作で移動を行なえる。

 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近にあり、操作稼動中の場合 マウス左ボタンドラッグするとドラッグした場所を基準にCOLが移動する。操作モードによらない。

 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近にあり、操作稼動中の場合 マウス中ボタンドラッグするとドラッグした場所を基準にアルファマスクが移動する。操作モードによらない。

 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近以外にあり、操作稼動中の場合 マウス中ボタンドラッグするとドラッグした場所を基準にオーバレイ画像が移動する。操作モードによらない。

COL回転、拡大縮小
 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近以外にあり、操作稼動中の場合 マウス右ボタンドラッグするとドラッグしている位置を基準としてアルファマスクの中心を軸にして画像の回転、拡大縮小を行なう。
 COL、アルファマスク、オーバレイ画像のいづれの操作モードでも操作稼動中であれば同様の操作で回転、拡大縮小を行なえる。
COL透明度操作
 マウスカーソルの位置がCOLの可視出来る範囲かつアルファマスクの中心付近にあり、操作稼動中の場合 マウス右ボタンドラッグするとドラッグしている位置を基準として縦方向の変化量に応じて透明度が変化する。上方向で透明に、下方向で不透明になる。横方向の変化量に応じてアルファマスクの透明度強度が変化する。右方向で透明不透明の境界が鮮明に、左方向で透明不透明の境界が不鮮明になる。
ウィンドウ操作モード
 ウィンドウ操作モードでは画像ではなくウィンドウを操作する。
 マウスカーソルが画像上にあり、ウィンドウ操作モードの場合
マウス左ボタンドラッグするとドラッグしている位置を基準としてそのウィンドウが移動する。
マウス右ボタンドラッグするとドラッグしている位置を基準としてウィンドウの中心を軸としてウィンドウを拡大縮小する。
スクリーンコマンドエリア(SCA)操作
 SCA が有効なモードで SCA は操作可能になる。
 マウス各動作毎に機能を割り当ててある。


マウス左ボタンクリック  フレーム内枠の上

  ツールバー表示|非表示
   SCA無効でも動作可能である。

  ドラッグ同期コマンド
   ドラッグ同期コマンドの0から3まで割り付けてある。これらはトグル動作をするので各コマンドが有効なら赤、無効なら青に表示する。


  上COL、下COL表示|非表示

  SCA表示
   SCAの現在状態を表示する。マウス左ボタンクリックと右ボタンクリックでそれぞれの状態を表示する。
   SCA無効でも動作可能である。


 フレーム内枠の左右
  登録履歴のインデックス移動
   SCAの上から順に以下のコマンドが割り付けてある。これらのSCAを左ボタンクリックするとコマンドを実行する。
    履歴先頭へ移動
    履歴1つ戻る
    履歴1つ進む
    履歴終端へ移動



 フレーム内枠の下
  全レイヤ範囲表示
   レンズ/レンズマスク/上|下COLの範囲を表示する
   SCA無効でも動作可能である。

  SCAの左から順に以下のコマンドが割り付けてある。これらのSCAを左ボタンクリックするとコマンドを実行する。
   表示履歴検索
   窓閉履歴検索
   画像横反転
   レンズマスク横反転
   上COL操作対象反転
   下COL操作対象反転


  SCA有効|無効
   SCA無効でも動作可能である。



マウス右ボタンクリック
 フレーム上下辺左から
  親ウィンドウ前面へ
  親フレーム前面へ
  前ウィンドウ前面へ
  次ウィンドウ前面へ
  前共有履歴ウィンドウ前面へ
  次共有履歴ウィンドウ前面へ

 フレーム左右上から
  同一ファイル名履歴先頭へ
  同一ファイル名履歴前へ
  同一ファイル名履歴次へ
  同一ファイル名履歴終端へ



マウス中ボタンクリック
 フレーム上下辺左4番目から
  前履歴を新規ウィンドウで表示
  次履歴を新規ウィンドウで表示



マウス左ボタンドラッグ
 SCA全範囲
ウィンドウ移動



マウス右ボタンドラッグ
 SCA全範囲
  ウィンドウ拡大縮小



マウス中ボタンドラッグ
 SCA左右中央2つ
  登録履歴検索モードに入る。
  表示される中央のサムネイルが選択対象になる。
  ドラッグ移動量で履歴の表示が移動するので
  所望の履歴を選択してボタンを離すと選択履歴を
  フレームに表示する。
  選択時に ALT キーを押下していると選択履歴を
  新規ウィンドウを開いて表示する。

 SCA上下中央2つ
  ウィンドウ検索を行なう。左右方向。
ドラッグ中カーソル表示/非表示 &
 右クリックポップアップ 稼働/停止
 左ボタンをトリプルクリックするとドラッグ中のカーソル表示/非表示を変更できる。またコンテクストメニューのマウス右ボタンクリックでのポップアップ表示の稼働/停止も同時に行なう。トグル動作をする。

コンテクストメニュー表示
 右ボタンをクリックするとコンテクストメニューを表示する。

自動操作0 実行/停止
 自動操作0が存在する場合
 右ボタンをダブルクリックすると自動操作機能0の実行が出来る。繰返しタイプの場合は実行/停止のトグル動作をする。

自動操作1 実行/停止
 自動操作1が存在する場合
 左ボタンをダブルクリックすると自動操作機能1の実行が出来る。繰返しタイプの場合は実行/停止のトグル動作をする。

画像ブラウザ呼出し
 右ボタンをトリプルクリックすると画像ブラウザ呼出しが出来る。

SCA 範囲表示
 左ボタンを4回クリックすると SCA 範囲を表示する。

全フレーム SCA 切替え
 右ボタンを4回クリックすると 全フレームの SCA を切替える。

レンズ範囲表示
 レンズ/レンズマスク操作稼動中にレンズ範囲内で左ボタンをクリックするとレンズ範囲を表示する。

レンズリセット
 レンズマスク操作稼動中かつレンズの中心付近以外、またはレンズマスク非表示で中ボタンをトリプルクリックするとレンズ位置、半径、曲率などをリセットすることが出来る。

レンズ操作 停止/稼働
 レンズマスク表示中かつレンズの中心付近以外、またはレンズマスク非表示で中ボタンをクリックするとレンズ機能操作の停止/稼働が出来る。トグル動作をする。

レンズ 表示/非表示
 レンズマスク表示中かつレンズの中心付近以外、またはレンズマスク非表示で中ボタンをダブルクリックするとレンズ/レンズマスクの表示/非表示が出来る。トグル動作をする。

レンズマスク操作 停止/稼働
 レンズマスク表示中かつレンズの中心付近で中ボタンをクリックするとレンズマスク機能操作の停止/稼働が出来る。トグル動作をする。

レンズマスク 表示/非表示
 レンズ/レンズマスク表示中かつレンズの中心付近で中ボタンをダブルクリックするとレンズマスクの表示/非表示が出来る。トグル動作をする。

レンズマスク選択
 レンズマスク表示中かつレンズの中心付近で中ボタンをトリプルクリックするとレンズマスク選択ダイアログを表示する。
マスクを選択するか、ダイアログの上端、左端をマウスカーソルが通るとダイアログを閉じる。

COL範囲表示
 COL操作稼動中にCOL可視領域内で左ボタンをクリックするとCOL範囲を表示する。

COL操作 停止/稼働
 COL表示中かつCOL可視領域内で中ボタンをクリックするとCOL操作の停止/稼働が出来る。トグル動作をする。

COL操作モード切替え
 COL操作稼動中にCOL可視領域内かつアルファマスク中心付近で中ボタンをダブルクリックするとCOL→アルファマスク→オーバーレイ画像の順に巡回してCOL操作モードを切替える。

アルファマスク選択
 COL操作稼動中かつアルファマスク操作モードで COL可視領域内かつアルファマスク中心付近で中ボタンをトリプルクリックするとアルファマスク選択ダイアログを表示する。 マスクを選択するか、ダイアログの上端、左端をマウスカーソルが通るとダイアログを閉じる。

オーバレイ画像読込
 COL操作稼動中かつオーバーレイ画像操作モードでかつCOL可視領域内かつオーバーレイ画像読込元が設定されている場合、アルファマスク中心付近で中ボタンをトリプルクリックするとオーバーレイを読込む。




マウス操作機能割当て一覧

画像
機能 マウス操作 マウスホイール操作
絶対移動 左ドラッグ
相対移動 中ドラッグ
拡大縮小 右ドラッグ 位置 ホイール
回転 右ドラッグ 位置 左ホイール
輝度
右ホイール
レンズ(レンズ範囲にマウスカーソルがある時のみ有効)
機能 マウスカーソルの位置 マウス操作 マウスホイール操作
移動 レンズ内 左ドラッグ
移動+オフセット レンズ外側 左ドラッグ
オフセット レンズ内 中ドラッグ
半径 レンズ外側 右ドラッグ 位置 左ホイール
有効半径 レンズ内 右ドラッグ 位置 右ホイール
曲率 レンズ中心付近 右ドラッグ 縦方向 ホイール
曲率変化量 レンズ中心付近 右ドラッグ 横方向
レンズマスク(レンズ範囲にマウスカーソルがある時のみ有効)
機能 マウスカーソルの位置 マウス操作
拡大縮小 レンズ内 右ドラッグ 位置
回転 レンズ内 右ドラッグ 位置
COL(COL可視範囲にマウスカーソルがある時のみ有効)
機能 マウスカーソルの位置 マウス操作
操作対象別 移動 COL中心付近以外 左ドラッグ 位置
COL移動 COL中心付近 左ドラッグ 位置
アルファ移動 COL中心付近 中ドラッグ 位置
オーバレイ移動 COL中心付近以外 中ドラッグ 位置
操作対象別 拡大縮小 COL中心付近以外 右ドラッグ 位置
操作対象別 回転 COL中心付近以外 右ドラッグ 位置
透明度 COL中心付近 右ドラッグ 縦方向
透明度強度 COL中心付近 右ドラッグ 横方向
ウィンドウ操作モード
機能 マウスカーソルの位置 マウス操作
移動 全画像 左ドラッグ 位置
ウィンドウ中心拡大縮小 全画像 右ドラッグ 位置
SCA(SCA範囲にマウスカーソルがある時のみ有効)
機能 マウスカーソルの位置 マウス操作
ウィンドウ移動 SCA 左ドラッグ 位置
ウィンドウ標準拡大縮小 SCA 右ドラッグ 位置
その他
機能 マウスカーソルの位置 マウス操作
ドラッグ中カーソル 表示/非表示 &
 コンテクストメニュー
  右クリックポップアップ 稼働/停止

左トリプルクリック
コンテクストメニュー表示
右クリック
自動操作0 実行/停止
右ダブルクリック
自動操作1 実行/停止
左ダブルクリック
ブラウザ呼出
右トリプルクリック
SCA範囲表示
左4回クリック
全フレームSCA切替
右4回クリック
レンズ範囲表示 レンズ内
左クリック
レンズリセット レンズ中心付近以外
中トリプルクリック
レンズ操作 停止/稼働 レンズ中心付近以外
中クリック
レンズ 表示/非表示 レンズ中心付近以外
中ダブルクリック
レンズマスク操作 停止/稼働 レンズ中心付近
中クリック
レンズマスク 表示/非表示 レンズ中心付近
中ダブルクリック
レンズマスク選択 レンズマスク中心付近
中トリプルクリック
COL操作 停止/稼働 COL可視領域
中クリック
COL操作モード切替え COL中心付近
中ダブルクリック
アルファマスク選択(アルファモード) COL中心付近以外
中トリプルクリック
オーバレイ読込(オーバレイモード) COL中心付近以外
中トリプルクリック
COLリセット(COLモード) COL中心付近
中トリプルクリック
アルファリセット(アルファモード) COL中心付近
中トリプルクリック
オーバレイリセット(オーバレイモード) COL中心付近
中トリプルクリック




設定ファイル

 V4の各設定値を設定ファイル'config'で変更できる。同梱の'config'ファイルに機能詳細を記述してある。当ドキュメントに記載していない'config'のみで設定可能な機能もあるので一読を勧める。

問題の回避方法

 1.新規フレーム作成時の強制終了
 V4 で使用している wxPython の画像コピー処理においてPCの使用メモリが多くなると強制終了する事がある。具体的な条件が判然としないのでメモリ使用率が設定値以上ならばコピー操作を行なわない設定を用意した。設定ファイル'config'の 'memorylimit' キーを 1~100(%) にすれば有効になる。

 2.欠番

 3.マウスカーソルの破損
 起動時にマウスカーソルが破損している場合がある。原因が判明しないので、頻発する場合設定ファイル'config'の'mousecursorunchange'キーを0以外にすれば通常の矢印マウスカーソルを使用出来る。この場合レンズ状態をマウスカーソルに表示しない。

 4.クリックの時間間隔
 クリックの時間間隔はV4で独自に管理している。変更したい場合は設定ファイル 'config' の 'clicktime' キーにミリ秒単位の値を設定する。
 また右ボタンドラッグでボタンを放すタイミングがコンテクストメニュー表示に誤認識しやすいのでコンテクストメニューとして認識する右ボタン押下最長時間を 'contextmenurecognisetime' キーにミリ秒単位で設定出来る。

 5.マウスホイール、マウス中ボタン不能
 マウスホイール、マウス中ボタンが環境によっては機能しない事がある。原因は不明だが、マウス中ボタンはマウス左右ボタン同時押しで機能する場合もある。

 6.画像ブラウザの外部プログラム実行形式
 画像ブラウザの外部プログラム実行から V4 を起動する場合、パラメータが画像ブラウザにより扱いが異なるためそれらに対応する必要がある。

  6.a.空白文字が含まれるファイルパス
   V4 は多重起動を禁止しているので、実行時は既に起動している V4 にパラメータを渡す。
 パラメータはテキストデータに変換してクリップボード経由で渡す。
クリップボードを使用するのはパラメータをテキストリストとして再利用しやすくする目的がある。
 Windowsでは複数パラメータ文字列の区切り認識に空白文字を用いている。しかしWindowsではファイルパスに空白文字が有効なのでファイルパスに空白文字を含む場合、区切りの判断が出来ない。通常は ” で囲む形式が一般的だがこの形式に対応していない画像ブラウザは存在する。
 その回避策としてWindowsではショートファイルパス形式という空白文字を含まない形式がある。
 画像ブラウザの外部プログラムパラメータにショートファイルパス形式(8.3形式)が指定出来るならばこの問題は回避可能である。
 V4 自体はショートファイルパスも通常のファイルパスにも対応している。
  6.b.複数パラメータ
   画像ブラウザによっては複数のファイルを指定出来ても外部プログラムに1つのパタメータしか渡さず、パラメータ分だけそれを実行するものがある(IrfanViewなど)。
 この実行形式では上記a.の理由により V4 は正しくパラメータを取得できない。
 大量の複数ファイルを V4 に渡したい場合は、ファイルリストを作成できる画像ブラウザならばその機能を用いて画像リストファイルを作成すれば対応できる
(IrfanViewはスライドショーにリスト作成機能がある)。


注意点

 画像として表示できない場合は全て "画像ファイル待受中" と表示する。

 画像操作中に緑の十字線をフレーム全体に表示する場合がある。これは演算処理でエラーが発生したため、一時的に処理結果の表示を停止している状態を示している。通常は画像を移動したり初期状態に戻せば消えるが、もし戻せない場合はシステム上のエラーなのでメモリ使用状態を確認して欲しい。

 画像を読込む場合、本来の表示サイズに応じてメモリを消費する。しかしフレーム分割時の画像コピーの場合、横反転や輝度、OMAKE機能を使用していない同一の画像ならば同じ画像情報を用いてメモリ消費を抑制する。

 GIFアニメでは現在表示しているアニメーションフレームを画像情報自体が保持しているので複数のフレームで同じ画像情報を用いている場合アニメーションの流れが不安定にある場合がある。リロード等を行なえば独立した画像情報になる。

 画像処理速度は、元の画像サイズはほとんど影響せず、フレームの表示面積に逆比例する。よって処理速度が遅い場合フレームの大きさを小さくすると速度が向上する。また画像詳細度を粗くしても処理速度は向上する。

 画像詳細度を詳細にした場合擬似的なバイリニア法を用いて画像補間している。よって通常のバイリニア法と異なる表示になる。

 レンズ機能を使用しているとフレーム端がブロック状に変化したりレンズの一部が欠けたりする場合がある。これは仕様である。

 マウスボタン認識はV4で独自に管理している。処理部が拙作なのでV4がクリック回数を認識するタイミングは非常に分り辛いが慣れて欲しい。クリック間隔を変更したい場合は「問題の回避方法」4.を参照して欲しい。

 GIFアニメ表示中にドラッグ操作が頻繁に引っかかるような動作を起こす場合がある。これはアニメーションのインターバル時間が長い為その間ドラッグ動作で変更された画像を表示しない事で発生する。V4 は自動操作やGIFアニメにタイマを使用しているがタイマはマウス操作より優先度がとても低くドラッグ操作を行なうと動きがほとんど停止してしまう。これを回避するべくGIFアニメのインターバル時間に合わせて描画更新を行なうようにしてある。本来インターバル時間が長いGIFアニメは想定していないのであえて対応していない。

 画像やサムネイルの読込は負荷が高い。またレンズマスク操作は画像操作とは異なる画像処理を行なっているので高負荷である。負荷が高すぎる場合一時的に操作の反応がなくなったりエラーメッセージを表示することがある。致命的なエラーになる事は少ないがエラーを表示したり反応が異常になれば速やかに負荷の原因を取り除くか一度実行を終了することを勧める。

 拡張ライブラリ作成にはPyrexを使用した。Cのみの環境でも拡張ライブラリを作成出来るようPyrexから変換したCソースも付加した。

 当ツールは無料で使用できる。寄付、寄贈(特にPC本体)は歓迎する。

 当ツールのオリジナル部分の著作権は OtaQ が保持するが、改変、再配布は制限しない。当ツールのアイデア(分割ウィンドウに変形画像を表示等)利用も歓迎する。連絡不要。当ツールはGPLライセンスのソフトウェアを実行形態の中に使用しているのでGPLに取り込まれる事になるが、あえてGPLライセンスとは明言しない。GPLの目的がプログラムソースの自由な再利用にあるとするならば既にその用件は満たしている。殊更GPLである必要はない。

 当ツールの商業利用は禁止する。

 いかなる場合も当ツール由来の入手、配布、使用による不利益に OtaQ は責任を負わない。

 特別な用件がない限り OtaQ への連絡は強く制限する。




連絡先

seiotaq@yahoo.co.jp


INDEX