(58)【調査した分野】(Int.Cl.,DB名)
前記複数コピー実行手段は、前記指示としてアイテム間の間隔が指定されている場合には、該アイテム間の間隔を前記縮小率を用いて補正して、該補正後の間隔を用いて前記変更版のコピー元アイテムに基づく前記複数コピーを実行することを特徴とする請求項1記載の作画エディタ装置。
前記縮小率算出手段は、前記サイズAの縦サイズをAy、横サイズをAxとし、前記サイズBの縦サイズをBy、横サイズをBxとした場合、これらに基づいて、縦、横それぞれについての比である「By/Ay」、「Bx/Ax」を求め、該縦横比を前記縮小率とすることを特徴とする請求項1または2記載の作画エディタ装置。
前記複数コピー実行手段は、前記「By/Ay」が1以上である場合には縦方向に関しては前記サイズ変更を実行せず、前記「Bx/Ax」が1以上である場合には横方向に関しては前記サイズ変更を実行しないことを特徴とする請求項3記載の作画エディタ装置。
前記複数コピーの指示は、横方向へのコピー数m個と縦方向へのコピー数n個の指定を含み、該指示に応じたコピー結果はm×n個となることを特徴とする請求項1〜9の何れかに記載の作画エディタ装置。
【背景技術】
【0002】
プログラマブル表示器は、一般的に、PLC本体や温調装置等の各種接続機器と接続して、これら接続機器の状態表示を行う数値表示やランプ等のアイテムや、ユーザーが任意の指示を出す為のスイッチ等のアイテムの画像を表示する。尚、アイテムは、画面部品等とも呼ばれている。プログラマブル表示器の画面(操作表示画面と呼ぶものとする)には、通常、複数の画面部品(アイテム)の画像が表示される。
【0003】
この様な操作表示画面を表示する為のデータ等(画面データ等と呼ばれる)は、予め支援装置等において開発者等によって任意に作成されて、支援装置からプログラマブル表示器にダウンロードされている。
【0004】
上記画面データには、上記各アイテム毎に、そのアイテムの画像(スイッチの画像やランプの画像)や表示位置座標、更に後述する外部メモリの所定領域のアドレス(割当メモリアドレス)等のデータが含まれている。更に何らかのプログラム等が含まれている場合もある。
【0005】
上記支援装置(作画エディタ装置等)では、ユーザーに所望の上記操作表示画面(その画面データ)を作成させる為の画面(画面作成支援画面と呼ぶものとする)が表示される。ユーザーは、この画面作成支援画面上で、例えば上記各アイテムに係わる設定・入力等を行う。つまり、ユーザは、例えば、予め作成されて登録されている各種アイテムの画像一覧(スイッチ、ランプ、数値表示、グラフ等であるが、それぞれに関して何種類かある場合が多い)から、所望のアイテム画像を選択する毎に、当該アイテム画像を編集画面上の所望の位置に配置する操作を行う。更に、ユーザは、配置された各アイテムに対して、上記割当メモリアドレスを任意に設定する操作等の各種設定操作を行う。あるいは任意の単語、文章等の文字列(スイッチやランプ等の銘板で使用している文字列など)をテキスト入力する作業等を行う。この様にしてユーザは所望の上記操作表示画面(その画面データ)を作成する。
【0006】
また、同一のアイテム画像を複数配置する場合もある。この場合、画像自体は同一であっても、制御/監視対象は各々異なるものである。つまり、上記割当メモリアドレスが各々異なることになる。例えば、各種スイッチのなかの任意の“スイッチS”を複数配置する場合、あるスイッチSはモータAをON/OFF制御し、あるスイッチSはモータBをON/OFF制御し、あるスイッチSは照明を点灯/消灯制御するもの等となる。
【0007】
また、上記のように同一のアイテム画像を複数配置する場合、まず1つのアイテム画像を配置した後、このアイテム画像をコピーする操作が行われる場合がある。特に一度に2つ以上増やす複数コピーが行われる場合がある。
【0008】
尚、プログラマブル表示器において上記操作表示画面に係る表示制御は、上記各アイテム毎に、例えば定期的に所定の処理を実行することで実現される。所定の処理とは、例えば、そのアイテムに係わる所定の接続機器内の所定のメモリデバイス(外部メモリとする)の所定の記憶領域の格納データ(すなわち、所定の割当メモリ領域の格納データ)を、読出す処理である。更に、この格納データに基づいてアイテムの表示内容を決定・表示する処理(表示内容リフレッシュ処理)等である。
【0009】
尚、上記所定の割当メモリ領域の格納データを読出す処理は、概略的には上記外部メモリにアクセスする処理であることから、外部メモリアクセス処理と呼ぶ場合もあるものとする。
【0010】
尚、接続機器は、随時、上記外部メモリの所定領域の格納データを更新している(例えば上記温調装置において上記温度測定値を随時更新している)。
また、例えば特許文献1に記載の従来技術が知られている。
【0011】
特許文献1の発明は、作画作業中の作画イメージが容易に把握でき、しかも表示画面の変更、修正が容易で、かつ制御機器のメンテナンス対応が容易な作画方法および作画ツールおよび表示装置を提供するものである。
【0012】
特許文献1の発明では、作画ツールとして予め制御機器の種類ごとに用意された情報テーブルの各項目に画像データおよび対応する制御機器の内部メモリの番地がともに記してある。作画ツールで表示装置の表示画面を作画するにあたっては、情報テーブルにより情報機器の内部メモリにリンクした画像データ仮想表示画面に貼り付け、該貼り付けた画像データのうち不要な部分を削除する。また、情報テーブルは、作画ツールから表示装置に転送される前に作画ツール上にて同一の制御機器に対して同一の情報テーブルに集約されている。さらに、表示装置に転送後、情報テーブルは、表示装置が接続された制御システムに対し情報テーブルに該当する制御機器を検索、一覧表示し、操作者に選択させる。
【発明の概要】
【発明が解決しようとする課題】
【0014】
従来、ユーザが上記支援装置の画面作成支援画面上等で画面データ作成作業中に、任意のアイテムの複数コピーを行う場合、ユーザが所望のコピー元アイテムを指定する操作を行ったうえで所定の指示操作を行うことで、支援装置は例えば
図10(a)に示すようなダイアログボックス110を表示する。ダイアログボックス110では、X方向、Y方向のコピー数、アイテム間の間隔等を指定できる。
【0015】
このダイアログボックス110を用いる場合、コピー後のアイテム数は、m個×n個となる。つまり、図示のように、X方向のコピー数mと、Y方向のコピー数nとを指定することができ、図示の例ではm=2、n=3が設定されている。この様な設定が行われると、画面作成支援画面上の表示は例えば
図10(b)に示す状態となる。すなわち、上記アイテムが、2(列)×3(行)=6個、画面上に配置されることになる。
【0016】
尚、
図10(a)の設定例では、更に、X間隔=10(ドット)、Y間隔=10(ドット)が設定されており、これによって
図10(b)に示すように、コピー結果としての6個の各アイテム間が、X方向、Y方向の何れも10(ドット)分の間隔を空けて配置される。
【0017】
図10(b)の状態で、ユーザは、これら6個のアイテムそれぞれに対して、所定の設定作業(上記割当メモリアドレスの設定等)を行うことになる。
一方、例えば
図11(a)に示すような複数コピー設定を行った場合には、複数コピー失敗となる。
図11(a)の例では、ダイアログボックス110上でのコピー数の設定が、X方向が‘3’個、Y方向が‘6’個となっている。つまり、m=3、n=6が設定されている。
【0018】
この様な設定が行われた場合、複数コピー後の表示状態は
図11(b)に示すものとなり、当然、複数コピー失敗となる。すなわち、図示のように、X方向に関しては他の既存のアイテムと重なり合ってしまうことになり、Y方向に関しては編集領域からはみ出してしまうことになる。
【0019】
この様な場合、従来では、キャンセルして、設定作業を最初からやり直すことになり、手間・時間が掛かっていた。
更に、例えば
図11(a)に示すような3×6=18個のコピーが、どうしても必要となる場合も有り得るが、従来では非常に手間が掛かっていた。つまり、この様な場合は、ユーザは、まず、コピー元のアイテムのサイズを変更(縮小)する作業を行い、そのうえで当該コピー元のアイテムの複数コピーの為の上記ダイアログボックス110上の指定作業を行う必要がある。更に、この様な方法では、コピー結果がユーザのイメージ通りとはならず、何度もやり直しをする場合が少なくない。つまり、例えば、他の既存のアイテムと重なりや編集領域からのはみ出しが解消されず、あるいは逆にサイズを縮小し過ぎる等して、何度もやり直しをする場合が少なくない。
【0020】
尚、上記特許文献1には、この様な課題を解決することについては何等開示されていない。
本発明の課題は、作画エディタ装置において、画面データ作成の為の編集領域上で任意のアイテムの複数コピーを行う際に、コピー結果が編集領域からはみ出したり既存のアイテムと重ならないように自動的に調整して所望の複数コピーを実現させる作画エディタ等を提供することである。
【課題を解決するための手段】
【0021】
本発明の作画エディタ装置は、プログラマブル表示器の画面データであって複数の各種アイテムが各々任意の位置に配置されて成る画面データの作成を支援する作画エディタ装置であって、下記の各構成を有する。
・前記画面データの編集領域内の任意の各位置に配置済みの各アイテムの中の任意のアイテムをコピー元とする複数コピーが指示されると、前記コピー元以外の前記配置済みアイテムが含まれる領域である配置済全体領域を求める配置済全体領域判別手段;
・該求めた配置済全体領域に基づいて、前記複数コピーの為の空き領域であるコピー可能領域を求めるコピー可能領域判別手段;
・前記コピー元のアイテムを前記指示に従って複数コピーする場合に必要となる領域のサイズAと、前記コピー可能領域のサイズBとに基づいて、縮小率を求める縮小率算出手段;
・該縮小率に基づいて前記コピー元のアイテムのサイズを変更して、該変更版のコピー元アイテムに基づいて前記指示に従って複数コピーを実行する複数コピー実行手段。
【発明の効果】
【0022】
本発明の作画エディタ装置等によれば、作画エディタ装置において、画面データ作成の為の編集領域上で任意のアイテムの複数コピーを行う際に、コピー結果が編集領域からはみ出したり既存のアイテムと重ならないように自動的に調整して所望の複数コピーを実現させることができる。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例の作画エディタ装置5(支援装置)を含むシステム全体の概略構成図である。
【0025】
尚、
図1に示す構成は、一例であり、この例に限らない。例えば、必ずしも作画エディタ装置5に対してプログラマブル表示器1が接続された構成でなくても構わない。プログラマブル表示器1と作画エディタ装置5とが別々に存在していてもよい。但し、その場合でも、何らかの方法によって、作画エディタ装置5側で任意に作成された上記“画面データ”が、プログラマブル表示器1に渡されて記憶されることになる。
【0026】
図1に示すプログラマブルコントローラシステムは、各種接続機器4と、通信ライン6を介して各種接続機器4に接続するプログラマブル表示器1と、作画エディタ装置5を有する。図示の例では、プログラマブル表示器1が、通信ライン3を介して作画エディタ装置5に接続された構成となっているが、上記の通り、この例に限らない。プログラマブル表示器1には、複数の通信インタフェース2(通信ポート)が備えられており、各通信インタフェース2に接続された通信ライン3/通信ライン6によって各種接続機器4や作画エディタ装置5と接続されている。
【0027】
作画エディタ装置5は、上記背景技術における支援装置に相当するものであり(これより、支援装置5と記す場合もあるものとする)、上記操作表示画面をプログラマブル表示器1で表示させる為のデータ等(画面データ)を、ユーザーが任意に作成できるように支援する機能を有する。本例でも従来と同様に、予め各種アイテム画像が用意されており、ユーザーは所望のアイテム画像を選択して所望の位置に配置させる作業等(その他、上述したメモリ割り当て等の作業もあるが、ここでは逐一言わないものとする)を繰り返して、上記画面データ作成を行う。
【0028】
但し、本手法では、この様な画面データ作成支援機能に関して、従来機能に更に新機能を追加した構成となっている。すなわち、上述したアイテムの複数コピーを行う際に、自動的に、ユーザが所望する内容の複数コピーを、他の既存のアイテムと重なったり編集領域からはみ出すことなく、実現することができる。これは、特に、コピー数が多い場合や空き領域が狭い場合等の為、そのままではユーザが所望する複数コピーを実現できない場合等に、顕著な効果を奏するものである。詳しくは後述する。
【0029】
図2は、作画エディタ装置5のハードウェア構成例であり、例えば上記汎用コンピュータ(パソコン等)の構成を有する。
すなわち、作画エディタ装置5は、例えば、CPU21等の演算プロセッサ、メモリ22、ハードディスク等の記憶装置23、キーボードやマウス等の操作部24、ディスプレイ等の表示部25、通信部26、記録媒体駆動部27等を有している。これらはバス28に接続されている。
【0030】
上記記憶装置23には予め所定のアプリケーションプログラム(不図示の作画エディタ等)が記憶されており、上記CPU21等の演算プロセッサがこのアプリケーションプログラムを実行することにより、作画エディタ装置5の各種機能が実現される。つまり、作画エディタは、ユーザーに任意のプログラマブル表示器用の画面データ(操作表示画面)を作成させる支援機能を提供する。そして、この支援機能に係る後述する新機能も提供するものである。
【0031】
また、記録媒体駆動部27は、例えばCR−ROM、DVD−ROM、メモリスティックなどの可搬型記録媒体29へのアクセス(データリード・ライト)を行う。上記アプリケーションプログラムは、可搬型記録媒体29に記録されているものであっても構わない。
【0032】
作画エディタ装置5は、例えば、上記画面データ作成支援機能を備えており、所定の画面データ作成画面を表示部25に表示して、開発者等がこの画面上で上記操作部24を操作して所望の画面データを作成するのを支援する。この支援機能は基本的には既存の機能であるが、新機能が追加されている。尚、既存機能については特に詳細には説明しない。
【0033】
通信部26は、例えばLANやインターネット等に接続して、外部のコンピュータ(プログラマブル表示器1やWebサーバ等)と通信を行う構成である。
図3に、本例の作画エディタにおける画面データ作成中に複数コピーを行うときの画面表示例を示す。
【0034】
ユーザが所定の複数コピー実行指定操作を行うと、
図3(a)に示すダイアログボックス40が表示される。このダイアログボックス40自体は、上記従来のダイアログボックス110と同じであってよい。すなわち、ダイアログボックス40では、X方向、Y方向のコピー数、アイテム間の間隔等を指定できる。つまり、図示のように、ダイアログボックス40は、X方向コピー数入力領域41、Y方向コピー数入力領域42、X間隔入力領域43、Y間隔入力領域44等を有する。
【0035】
そして、ここでは指定内容は上記
図11(a)の例と一部同じとしている。つまり、X方向のコピー数は2であるが、Y方向のコピー数は6である。従って、従来であれば、複数コピー失敗となる。すなわち、X方向に関しては他の既存のアイテムと重なることはないが、Y方向に関しては
図11(b)と同様に編集領域からはみ出してしまうことになる。
【0036】
しかしながら、本手法では、自動的にサイズを調整することで、複数コピー結果は
図3(b)に示すようになる。つまり、Y方向に関して編集領域からはみ出してしまうことはない。このような自動サイズ調整処理について、以下、
図4以降を参照して説明する。
【0037】
まず、
図4(a)に一例を示すように、アイテムA、アイテムB、アイテムC、アイテムDの4つのアイテムが、編集領域内の任意の位置に配置済みの状態であるものとする。そして、そのなかでアイテムAについて複数コピーを行うものとする。尚、以下の説明では、アイテムAはコピー元アイテム、アイテムB,C,Dは配置済みアイテムと呼ぶものとする。尚、アイテムAも配置済みのアイテムであるが、他と区別する為に、コピー元アイテムと呼ぶものとする。
【0038】
ここで、
図4(b)を参照して、既存技術について説明する。
すなわち、従来より、上記画面データにおける各アイテムの配置情報は、例えば図示のように、配置座標と幅と高さの情報から成っている。つまり、配置情報は、図示の例のような丸型のアイテムであっても矩形(図示の点線)として扱っており、配置座標は矩形の左上隅の座標を示し、更に当該矩形のサイズ(幅と高さ)の情報を有する。尚、幅はX方向の長さ、高さはY方向の長さに相当する。
【0039】
本手法では、この様な配置情報を用いて、各アイテムが編集領域内で占める領域(配置領域)を、たとえ丸型のアイテムであっても上記矩形の領域として扱うものとする。勿論、丸型に限らず、矩形以外の様々な形(楕円、三角形、星型など)のアイテムに関しても、同様に、その配置情報に基づいて上記矩形の領域として扱うものとする。
【0040】
そして、全ての配置済みアイテムの配置領域に基づいて、後述する配置済合成領域を求める。配置済合成領域は、配置済みアイテム全てが含まれる領域であると言える。そして、配置済合成領域等に基づいて、後述するコピー可能領域を決定する。これについて、以下、
図5以降を参照して説明する。
【0041】
図5以降の例では、まず、編集領域を横800(画素)×縦600(画素)とする。更に、各配置済みアイテムB,C,Dの上記配置情報は、
図5(a)に示す通りと仮定する。
【0042】
図5(a)に示す例では、配置済みアイテムBの配置情報は、配置座標(X,Y)=(400,0)、サイズ(幅(横)、高さ(縦))=(400,150)となっている。配置済みアイテムCの配置情報は、配置座標(X,Y)=(600,300)、サイズ(幅(横)、高さ(縦))=(40,40)となっている。配置済みアイテムDの配置情報は、配置座標(X,Y)=(650,300)、サイズ(幅(横)、高さ(縦))=(40,40)となっている。
【0043】
これらの全ての配置済みアイテムの配置情報に基づいて、例えば
図5(b)に網掛けで示すような、全ての配置済みアイテムの配置領域を含む矩形領域である上記配置済合成領域を求める。
【0044】
これは、まず、上記各アイテムの配置情報が示す矩形領域や配置済合成領域は、これら各矩形の左上隅と右下隅の座標を用いて示すものとする。すなわち、
矩形領域=(左上隅のx座標、左上隅のy座標、右下隅のx座標、右下隅のy座標)
とする。
【0045】
これより、上記配置済みアイテムB,C,Dの各矩形領域は、下記の通りとなる。
アイテムBの矩形領域=(400,0,800,150)
アイテムCの矩形領域=(600,300,640,340)
アイテムDの矩形領域=(650,300,690,340)
尚、これらは、左上隅のx座標、y座標は、上記配置座標(X,Y)そのものであり、右下隅のx座標、y座標は、X+横(幅)、Y+縦(高さ)によって求められる。
【0046】
また、尚、ここではアイテムAの矩形領域=(0,0,150,60)等であるものとする。
そして、上記全ての配置済みアイテムB,C,Dの矩形領域に基づいて、上記配置済合成領域の矩形領域=(左上隅のx座標、左上隅のy座標、右下隅のx座標、右下隅のy座標)を求める。
【0047】
これは、左上隅のx座標に関しては、上記各アイテムB,C,Dの矩形領域の左上隅のx座標のなかで最小値を選択する。上記の例では、400と600と650のなかで最小値は400であるので、配置済合成領域の矩形領域の左上隅のx座標は400となる。左上隅のy座標についても同様に最小値を選択するので、上記0,300,300のなかの最小値‘0’となる。
【0048】
一方、右下隅のx座標に関しては、上記各アイテムB,C,Dの矩形領域の右下隅のx座標のなかで最大値を選択する。上記の例では、800、640、690のなかの最大値‘800’を選択する。右下隅のy座標も同様にして、上記150、340,340のなかの最大値‘340’を選択する。
【0049】
よって、配置済合成領域の矩形領域=(400,0,800,340)
となる。
そして、上記配置済合成領域と、コピー元アイテムAの配置情報に基づいて、コピー可能領域を決定する。コピー可能領域は、少なくとも当該コピー可能領域と配置済合成領域とで重複する部分が無い様にして決定するものである。勿論、コピー可能領域が編集領域からはみ出さないようにする必要もある。
【0050】
これは、例えば、コピー元アイテムAの配置領域を基準にして、そこからX方向、Y方向へそれぞれ可能な限り領域を拡大することで、コピー可能領域を決定する。編集領域内とする必要があるので、本例では、X方向は800(画素)、Y方向は600(画素)が、拡大の上限値となる。そして、配置済合成領域がある場合には、配置済合成領域までしか拡大できないことになり、上限値まで拡大できないことになる。
【0051】
この様なコピー可能領域の決定処理は、例えば一例としては、まず、コピー元アイテムAのY座標(左上隅のy座標、または、右下隅のy座標、若しくはその両方(Y方向の領域範囲))に基づいて、コピー元アイテムAからX方向へ拡大可能な最大値を求める。これは、例えば、上記コピー元アイテムAのY座標が、配置済合成領域のY方向範囲内(上記の例では0〜340の範囲内)であるか否かを判定する。もし、範囲内であれば、X方向に関しては、配置済合成領域(その左上隅のx座標)までしか、拡大できないことになる。もし、範囲外であれば、編集領域の右端(本例ではx座標=800)まで拡大できる。
【0052】
尚、配置済合成領域が複数ある場合には、各配置済合成領域毎に、それぞれ、上記コピー元アイテムAのY座標が、配置済合成領域のY座標の範囲内であるか否かを判定する。そして、全ての配置済合成領域について範囲外であると判定した場合のみ、編集領域の右端(本例ではx座標=800)まで拡大できる。
【0053】
図5に示す例では、コピー元アイテムAのY座標は配置済合成領域のY方向範囲内であるので、配置済合成領域(その左上隅のx座標)までしか拡大できないことになる。これより、コピー可能領域のX方向の領域範囲は、コピー元アイテムAのX座標(左上隅のx座標)から配置済合成領域との境界(その左上隅のx座標=400の1画素前、すなわちx座標=399)までとなる。
【0054】
上記のようにコピー可能領域のX方向範囲が決定されたら、続いて、Y方向範囲を決定する。これは、例えば、上記X方向への最大拡大位置(x座標=399)を基準にして、そこからY方向へ拡大可能な最大値を求める。これは、上記X方向への最大拡大位置(x座標=399)が、配置済合成領域のX方向範囲内(上記の例では400〜800の範囲内)であるか否かを判定する。もし、範囲外であれば、編集領域の下端(本例ではy座標=600)まで拡大できる。図示の例では、範囲外であると判定されるので、コピー可能領域のY方向の領域範囲は、編集領域の下端(本例ではy座標=600)まで拡大できることになる。但し、不図示の別の配置済合成領域も存在する場合には、編集領域の下端まで拡大できない場合も有り得る。
【0055】
尚、上記のようなX方向への最大拡大位置(x座標=399)を基準にする例に限るものではなく、例えばコピー元アイテムAの位置(左上隅のx座標、または、右下隅のx座標、若しくはその両方(X方向の領域範囲))に基づいて、コピー元アイテムAからY方向へ拡大可能な最大値を求めるようにしてもよい。あるいは、最大拡大位置とコピー元アイテムAの位置の両方に基づいて決定してもよい。この場合、両方とも範囲外となった場合のみ、編集領域の下端(本例ではy座標=600)まで拡大できることになる。
【0056】
尚、Y方向に関しても、上記X方向の場合と同様、配置済合成領域が複数ある場合には、それぞれについて範囲内であるか否かを判定し、全ての配置済合成領域について範囲外であると判定された場合のみ、編集領域の下端(本例ではy座標=600)まで拡大できるものとしてもよい。
【0057】
尚、基本的には、配置済合成領域が1つの場合、X方向に関しては編集領域の右端まで拡大出来なかった場合には、Y方向に関しては編集領域の下端(本例ではy座標=600)まで拡大できるはずである。
【0058】
尚、上述した合成処理方法では、基本的には、そのままでは配置済合成領域は複数とはならないはずである。但し、ユーザが、各合成領域毎に対応する1以上のアイテムを任意に指定できる形態とした場合には、それぞれ指定されたアイテムのみによって上述した合成処理を行うことで、複数の配置済合成領域を生成可能である。例えばユーザが第1の配置済合成領域と第2の配置済合成領域の2つの配置済合成領域を作成すべきと判断した場合、複数のアイテムのなかで第1の配置済合成領域に係るアイテムを任意に指定し、残りのアイテムを第2の配置済合成領域に係るアイテムとして指定することで、上記2つの配置済合成領域を自動的に生成できる。
【0059】
また、
図6(a)に示す例の場合、すなわち配置済合成領域は
図5(b)と同様であるがコピー元アイテムAの配置場所が
図5(b)とは異なる場合、コピー可能領域の決定プロセスと結果は、下記のようになる。
【0060】
すなわち、
図6(a)に示すコピー元アイテムAは、Y座標に関しては配置済合成領域の範囲外であるので、コピー可能領域のX方向の領域範囲は、コピー元アイテムAのX座標(左上隅のx座標)から編集領域の右端(本例ではx座標=800)までとなる。
【0061】
また、
図7(a)に示す例の場合、すなわち、コピー元アイテムAの配置場所は
図5(b)と同じであるが、配置済合成領域の位置が
図5(b)や
図6(a)とは異なる図示の位置の場合には、Y座標に関しては
図6(a)と同様に配置済合成領域の範囲外であるので、コピー可能領域のX方向の領域範囲は、コピー元アイテムAのX座標(左上隅のx座標)から編集領域の右端(本例ではx座標=800)までとなる。
【0062】
続いて、Y方向についても拡大可能な最大値を求める。すなわち、例えば、上記求められたX方向への最大拡大位置を基準にして、または/及び、コピー元アイテムAのX方向領域(左上隅のx座標〜右下隅のx座標の範囲)を基準にして、Y方向へ拡大可能な最大値を求める。
【0063】
これは、例えば、上記X方向への最大拡大位置、コピー元アイテムAの上記X方向領域が、それぞれ、配置済合成領域のX方向の領域範囲内(上記の例では400〜800の範囲内)であるか否かを判定する。もし、両方とも範囲外であれば、Y方向に関しては、編集領域の下端(本例ではy座標=600)まで拡大できる。
【0064】
図5(b)に示す例では、両方とも範囲外となるので、コピー可能領域のY方向の領域範囲は、コピー元アイテムAのY座標(左上隅のy座標)から編集領域の下端(本例ではy座標=600)までとなる。
【0065】
一方、何れか一方または両方とも範囲内である場合には、更に下記の判定処理を行う。
図6(a)や
図7(a)に示す例では、下記の判定処理を行うことになる。
すなわち、配置済合成領域の左上隅のy座標であるy座標Pと、コピー元アイテムAの左上隅のy座標であるy座標Qとを比較して、P<Qであるか否かを判定する。本例の座標系の場合、P<Qである場合には、コピー元アイテムAは配置済合成領域の下側にあることになるので、Y方向に対しては編集領域の下端まで拡大可能ということになる。一方、P≧Qである場合には、配置済合成領域はコピー元アイテムAの下側にあることになるので、Y方向に対しては配置済合成領域(その左上隅のy座標)までしか、拡大できないことになる。尚、これは、Y方向に関する拡大方向を下側とすることを前提とした場合の処理例であり、この例に限るものではない。尚、下側とは図上における下側であり、本例の座標系ではy座標値が増大する方向と言える。
【0066】
図6(a)に示す例ではP<Qとなるので、コピー可能領域のY方向の領域範囲は、コピー元アイテムAのY座標(左上隅のy座標;ここでは仮に340とする)から編集領域の下端(本例ではy座標=600)までとなる。
【0067】
一方、
図7(a)に示す例ではP≧Qとなるので、コピー可能領域のY方向の領域範囲は、コピー元アイテムAのY座標(左上隅のy座標;ここでは仮に0とする)から配置済合成領域(その左上隅のy座標)までとなる。
【0068】
以上のことから、
図5(b)の例の場合にはコピー可能領域は
図5(c)に斜線で示す領域となる。すなわち、
コピー可能領域の矩形領域=(0,0,400,600)
となる。
【0069】
図6(a)の例の場合にはコピー可能領域は
図6(b)に斜線で示す領域となる。すなわち、
コピー可能領域の矩形領域=(0,340,800,600)
となる。
【0070】
図7(a)の例の場合にはコピー可能領域は
図7(b)に斜線で示す領域となる。
尚、上述した一例では、拡大する方向を図上の右方向と下方向としていたが、この例に限らず、左方向と上方向としてもよい。例えば、上下左右の各方向への拡大を試みてそれぞれのコピー可能領域を求めて、最も面積が大きいコピー領域を採用する方法であってもよいし、ユーザにこれら複数のコピー可能領域の中から選択させるようにしてもよい。
【0071】
何れにしても、何らかの方法でコピー可能領域を求めたら、当該コピー可能領域内に収まるように複数コピーを行う。
すなわち、上記ダイアログボックス40上でユーザが任意に入力した指定内容と、上記処理で求めたコピー可能領域とに基づいて、場合によってはコピー元アイテムAや間隔を縮小したうえで、当該縮小後のコピー元アイテムAや間隔を用いて上記指定内容に従った複数コピーを行う。これによって、該複数コピー群はコピー可能領域内に収まることになる。
【0072】
コピー可能領域は、上記の通り、配置済合成領域と重なる部分はなく、且つ、編集領域外にはみ出す部分も無いものであるので、該複数コピー群も、配置済合成領域と重なることなく、且つ、編集領域外にはみ出すこともないことになる。尚、上述したことから、配置済合成領域と重ならないということは、上記配置済みアイテムB,C,Dの何れとも重ならない事を意味することになるのは明らかである。
【0073】
上記コピー元アイテムAを縮小する場合の縮小率の算出方法について、以下、説明する。
まず、上記ダイアログボックス40上での指定内容として、間隔がゼロ(X間隔、Y間隔が共に‘0’)の場合について説明する。
【0074】
まず、上記ダイアログボックス40上でユーザが設定した通りに複数コピーを行った場合の全領域を求める。これは、コピー元アイテムAの配置情報(配置座標とサイズ(幅、高さ))と、上記ダイアログボックス40上でのユーザ設定内容(X方向へのコピー数、Y方向へのコピー数)に基づいて、例えば、ユーザ設定通りにコピーする場合に必要となる全領域のサイズを求める。位置まで求める必要はなく、サイズが分かればよい。
【0075】
この例では上記のように間隔はゼロであるので、単純に、コピー元アイテムAの横サイズ(幅)×X方向へのコピー数、コピー元アイテムAの縦サイズ(高さ)×Y方向へのコピー数によって、全領域の横サイズと縦サイズとが求められる。
【0076】
そして、この全領域のサイズと上記コピー可能領域のサイズとに基づいて、全領域とコピー可能領域との縦横比を求めることで、コピー元アイテムAの縮小率が求められる。縦横比は「コピー可能領域/全領域」であり、下記のように求められる。
【0077】
横比;コピー可能領域の横サイズ÷全領域の横サイズ
縦比;コピー可能領域の縦サイズ÷全領域の縦サイズ
尚、横サイズとはX方向サイズ、縦サイズとはY方向サイズを意味するものとする。
【0078】
例えば仮に、全領域のサイズを“横450(ドット)×縦350(ドット)”、コピー可能領域のサイズを“横400(ドット)×縦300(ドット)”とした場合、上記縦横比は、下記のように求められる。
【0079】
横比;400÷450≒0.89
縦比;300÷350≒0.86
上記のように求められた縦横比を用いて、コピー元アイテムAのリサイズを行う。但し、求められた縦比と横比が両方とも‘1’以上である場合には、リサイズは行わない。また、何れか一方のみが‘1’以上である場合には、他方についてのみリサイズを行う。上記の例では縦比と横比が何れも‘1’未満であるので、下記のようにリサイズを行う。
【0080】
リサイズ後のコピー元アイテムAのサイズ(横、縦)
=元の横サイズ×0.89、元の縦サイズ×0.86
コピー元アイテムAの配置座標と、上記リサイズ後のコピー元アイテムAのサイズ(横、縦)と、上記ダイアログボックス40上でのユーザ設定内容とに基づいて、複数コピーを行う。複数コピー処理自体は、従来と同様の既存技術であるので、ここでは特に説明しない。
【0081】
但し、この例に限らない。例えば、上記のように求められた縦横比を用いて、上記全領域(複数コピー群含む)全体をリサイズ(縮小)するようにしてもよい。
次に、上記ダイアログボックス40上での指定内容として間隔(X間隔、Y間隔)がゼロではない場合について説明する。
【0082】
この場合は、求められた縦横比を用いて、上記コピー元アイテムAのリサイズを行うだけでなく、更に、上記指定された間隔(X間隔、Y間隔)を補正する。例えば、X間隔×横比、Y間隔×縦比によって、補正後のX間隔、Y間隔を求める。但し、小数点以下は四捨五入または切り捨てとする。また、求められた縦比と横比が両方とも‘1’以上である場合には、補正は行わない。また、何れか一方のみが‘1’以上である場合には、他方についてのみ補正を行う。
【0083】
尚、この場合、上記全領域のサイズを求める際に、設定通りの間隔も加える。例えば、
・全領域の横サイズ=(コピー元アイテムAの横サイズ×X方向へのコピー数)+{X間隔×(X方向のコピー数―1)}
・全領域の縦サイズ=(コピー元アイテムAの縦サイズ×Y方向へのコピー数)+{Y間隔×(Y方向のコピー数―1)}
によって、全領域の横サイズと縦サイズとが求められる。
【0084】
そして、例えば、上記リサイズ後のコピー元アイテムAのサイズ(横、縦)と当該補正後の間隔(X間隔、Y間隔)とを用いて、従来通りの複数コピー処理を行う。
上記のように間隔を補正するのは、間隔を補正しない場合(ユーザ設定通りとする場合)、複数コピー結果がユーザ設定のイメージに近い結果にならないからである。
【0085】
これについて、例えば
図8(a)に示すように比較的間隔が広い設定例を用いて説明するならば、この設定例通りに複数コピーを行った場合の全領域の内容は、例えば
図8(b)の図上左側や
図8(c)の図上左側に示すようになる。尚、これは本来のイメージと言えるものとする。
【0086】
これに対して、本手法による自動調整を行った場合には、複数コピー結果は例えば
図8(b)の図上右側や
図8(c)の図上右側に示すようになる。
すなわち、上記のように間隔を補正する場合には、複数コピー結果は例えば
図8(b)の図上右側に示すようになる。
【0087】
一方、間隔を補正しない場合すなわちユーザ設定通りとする場合には、複数コピー結果は例えば
図8(c)の図上右側に示すようになる。尚、上述した処理は、間隔を補正することを前提としているので、そのままではコピー結果はコピー可能領域内に収まらないので、
図8(c)の図上右側に示す結果を得る為には、更に何らかの補正処理を行う必要があるが、これについては特に説明しないものとする。
【0088】
間隔を補正しない場合、
図8(c)の図上右側に示すように、アイテムに対して相対的に間隔が非常に広いものとなってしまい、図上左側に示す本来のイメージとは大きく異なることになる。これに比べれば
図8(b)の図上右側に示すものは、
図8(c)に比べれば、本来イメージに近いものとなっていることは明らかである。
【0089】
上記のことから、本手法では、コピー元アイテムだけでなく間隔もリサイズすることを提案している。
図9は、本例の作画エディタ装置の機能ブロック図である。
【0090】
本例の作画エディタ装置は、プログラマブル表示器の画面データであって複数の各種アイテムが各々任意の位置に配置されて成る画面データの作成を支援するコンピュータ装置であって、図示の各機能を有する。すなわち、配置済全体領域判別部
(配置済合成領域判別部)51、コピー可能領域判別部52、縮小率算出部53、複数コピー実行部54の各種機能部を有する。
【0091】
配置済全体領域判別部51は、画面データの編集領域内の任意の各位置に配置済みの各アイテムの中の任意のアイテムをコピー元とする複数コピーが指示されると、前記コピー元以外の前記配置済みアイテムが含まれる領域である配置済全体領域を求める。配置済全体領域は、例えば、コピー元以外の配置済みアイテム全てが含まれる領域であるが、この例に限らない。
【0092】
コピー可能領域判別部52は、該求めた配置済全体領域に基づいて、複数コピーの為の空き領域であるコピー可能領域を求める。
縮小率算出部53は、コピー元のアイテムを上記指示に従って複数コピーする場合に必要となる領域のサイズAと、上記コピー可能領域のサイズBとに基づいて、縮小率を求める。
【0093】
複数コピー実行部54は、該縮小率に基づいてコピー元のアイテムのサイズを変更して、該変更版のコピー元アイテムに基づいて上記指示に従って複数コピーを実行する。
上記複数コピーの指示は、例えば、横方向へのコピー数m個と縦方向へのコピー数n個の指定を含み、該指示に応じたコピー結果はm×n個となり、以って上記“コピー元のアイテムを上記指示に従って複数コピーする場合に必要となる領域”は矩形の領域となる。また、これに応じて、例えば上記コピー可能領域も矩形の領域とする。
【0094】
上記各種機能に関して、例えば、上記複数コピー実行部54は、上記指示としてアイテム間の間隔が指定されている場合には、該アイテム間の間隔を上記縮小率を用いて補正して、該補正後の間隔を用いて上記変更版のコピー元アイテムに基づく前記複数コピーを実行する。
【0095】
また、上記縮小率算出部53は、例えば、上記サイズAの縦サイズをAy、横サイズをAxとし、上記サイズBの縦サイズをBy、横サイズをBxとした場合、これらに基づいて、縦、横それぞれについての比である「By/Ay」、「Bx/Ax」を求め、該縦横比を前記縮小率とするものである。
【0096】
そして、上記複数コピー実行部54は、例えば、上記「By/Ay」が1以上である場合には縦方向に関してはサイズ変更を実行せず、上記「Bx/Ax」が1以上である場合には横方向に関してはサイズ変更を実行しないようにする。
【0097】
あるいは、上記配置済全体領域判別部51は、コピー元以外の配置済みアイテムそれぞれの配置情報に基づいて、上記配置済全体領域を求めるものである。これは、例えば、各アイテムの配置情報は、アイテムの形状に関係なく、基点となる座標(例えば左上隅の座標など)と、横方向、縦方向それぞれのサイズから成る、矩形の領域を示す情報である。また、例えば、上記配置済全体領域は、該各矩形領域を合成して成る矩形の領域となるものである。
【0098】
ここで、例えば、上記合成は、コピー元以外の前記配置済みアイテムそれぞれの領域の左上隅の座標と右下隅の座標とを上記配置情報から求めて、該各左上隅の座標と右下隅の座標とを用いて、各左上隅座標のなかで最小値を上記配置済全体領域の左上隅座標とし、各右下隅座標のなかで最大値を上記配置済全体領域の右下隅座標とするものである。尚、これら最小値や最大値は、上記の通り、x座標、y座標それぞれについて求めるものである。
【0099】
あるいは、上記コピー可能領域判別部52は、例えば、上記コピー元アイテムの配置領域に基づいて、そこから横方向、縦方向の各方向毎に、配置済全体領域まで領域を拡大することで、又は、編集領域の端まで領域を拡大することで、上記コピー可能領域を求めるものである。これに関して、コピー可能領域判別部52は、例えば、コピー元アイテムの配置領域が、配置済全体領域の縦方向の範囲内ではない場合には、横方向に関しては編集領域の端まで拡大することができる。これは上記の一例では編集領域の右端まで拡大したが、上記の通りこの例に限るわけではないので“端”まで拡大としている。
【0100】
上述したように、本例の作画エディタ装置等によれば、作画エディタ装置において、画面データ作成の為の編集領域上で任意のアイテムの複数コピーを行う際に、コピー結果が編集領域からはみ出したり既存のアイテムと重ならないように自動的に調整して所望の複数コピーを実現させることができる。