JP4458640B2 - 描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 - Google Patents
描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 Download PDFInfo
- Publication number
- JP4458640B2 JP4458640B2 JP2000243323A JP2000243323A JP4458640B2 JP 4458640 B2 JP4458640 B2 JP 4458640B2 JP 2000243323 A JP2000243323 A JP 2000243323A JP 2000243323 A JP2000243323 A JP 2000243323A JP 4458640 B2 JP4458640 B2 JP 4458640B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- hit
- pick window
- drawing instruction
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、描画指示装置及び描画指示方法に関し、例えばCAD(Computer Aide Design)やDTP(Desk Top Publishing)等のアプリケーションにおいて対話形式の処理によって図形・文字列データの作成・印刷等を行う描画指示装置及び描画指示方法に関する。
【0002】
【従来の技術】
従来より利用されているCADやDTP等のアプリケーションと、高精度な印刷装置とを使用した版下作成のような作業においては、オペレータが所望する最終的な印刷イメージを保ちながら、表示装置に表示される画面を見ながらの編集作業、所謂WYSIWYG(What You See is What You Get)の環境において、印刷イメージを基にした高精度なピック(ピッキング)処理が行えることが必要である。ここで、ピック処理とは、マウス等のポインティング装置を用いてオペレータが指定した表示装置上の任意位置に従って、その表示装置に表示されている描画要素やパターンを選択する処理である。
【0003】
【発明が解決しようとする課題】
しかしながら、従来のCADやDTP等のアプリケーションにおいて行われるピック処理においては、線幅やテキスト等の印刷属性を考慮せずに、表示器に各種パターンを描画するための簡易的な幾何情報等が用いられる場合がある。この場合、図10に例示する如く大きな線幅の線分が表示されている状態において、線幅方向の端部をピックしても、その線分を正しくピッキングできなかったり、或いは、図11に例示するような一点鎖線を対象としているときには、線の無い部分をピックしても、その一点鎖線の描画要素が選択されてしまったり、更には、図12に例示するように、文字列の文字以外の部分を選択しても、その選択部分がフォントボックスという文字を囲む外接矩形の範囲内であれば、そのフォントボックスが選択されてしまう。
【0004】
また、選択しようとする描画要素が、図13に例示するように重なっている場合には、隠れている要素を選択するのが困難であるというような問題もある。
【0005】
そこで本発明は、操作性に優れ、印刷属性を考慮したピック処理を行う描画指示装置及び描画指示方法及びコンピュータ読み取り可能な記憶媒体の提供を目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するため、本発明に係る描画指示装置は、以下の構成を特徴とする。
【0007】
即ち、描画中の描画要素の中から、選択された可能性のある描画要素を、指示部により指示された入力座標に基づいて取り出す要素取得手段と、各描画要素の表示イメージにおける輪郭図形を取り出す輪郭図形取得手段と、前記入力座標と前記輪郭図形取得手段によって取得した輪郭図形とに基づいて、ヒットしている描画要素を判定するヒット判定手段と、前記ヒット判定手段によってヒットしていると判定された描画要素を、選択された描画要素の候補として抽出すると共に、抽出された候補の中から何れかの描画要素を、該選択された描画要素として決定する選択手段とを備え、前記ヒット判定手段は、前記入力座標に基づいて、所定の面積を有するピックウインドウを作成するピックウインドウ作成手段と、前記ピックウインドウ作成手段によって作成されたピックウインドウと、前記輪郭図形取得手段によって取得した輪郭図形とが干渉しているかを判定する干渉判定手段と、を含み、前記ピックウインドウ作成手段は、予め登録された前記ピックウインドウのサイズLを、使用している表示装置の座標系に対応するサイズL’に変換するサイズ補正手段を含むことを特徴とする。
【0011】
上記の目的を達成するため、本発明に係る描画指示方法は、以下の構成を特徴とする。
【0015】
【発明の実施の形態】
以下、本発明に係る描画指示装置及び描画指示方法の実施形態を、図面を参照して詳細に説明する。
【0016】
[第1の実施形態]
[ハードウエア構成の説明]
図2は、本発明の第1の実施形態に係る描画指示装置のハードウエア構成を示すブロック図である。
【0017】
図2において、21は、中央処理装置(CPU)であり、本装置の全体の制御や演算処理を行なう。11は、オペレータが文字や数値を入力可能なキーボードであり、12は、座標や図形を指示するため補助入力装置としてのマウスである。41はCRT等の表示装置であり、CPU21が実行するソフトウエアプログラムに従って、図形データおよび文字データ、各種操作パネルやボタンを表示する。即ち、キーボード11、マウス12、並びに表示装置41は、本実施形態においてマンマシンインタフェースとして機能する。
【0018】
22はシステムバスであり、本装置を構成するハードウエアの各要素は、全てこのシステムバス22を介してプログラムおよびデータの受け渡しを行なっている。
【0019】
また、31は、読出専用記憶装置(ROM)であり、本実施形態に係るプログラムは、このROM31に予め格納されており、CPU21は、ROM31から読み出したプログラムを実行する。32は、読出書込記憶装置(RAM)であり、本実施形態に係るプログラムの実行中に、CPU21は、必要に応じて、RAM32にデータを読み書きしながら処理を行なう。33は、フロッピーディスク装置(FD)やハードディスク装置(HD)等の外部記憶装置であり、文字の書体情報やコード情報等のデータが格納されている。
【0020】
尚、本実施形態に係るプログラムを、外部記憶装置33に格納させておき、RAM32に読み込んでから、CPU21によって実行するようにしてもよいし、また、文字の書体情報やコード情報等のデータをROM31に格納させておき、CPU21が必要に応じて、それらのデータを読み出して使用するようにしてもよい。
【0021】
51は、印刷装置の一例としてのレーザプリンタであり、本装置によって作成された印刷データを、校正刷り(印刷データの確認のための出力)し、また印刷ログファイルの内容を出力する。52は、イメージセッターであり、本装置によって作成された印刷データを、清刷り(正式な版下となる高精度な出力)する。53は、レーザマーカーであり、本装置によって作成された印刷データを、レーザで直接、製品に焼き付ける。
【0022】
ここで、レーザプリンタ51と、イメージセッター52と、レーザマーカー53の違いについて説明する。
【0023】
レーザプリンタ51は、照射されたレーザ光によって感光ドラム上に形成された静電潜像にトナーを吸着させ、そのトナー像を記録紙に転写・定着するプリンタであり、解像度は1500DPI(ドット/インチ)程度まで可能である。また、イメージセッター52は、レーザ光を直接、感光紙に照射するプリンタであり、解像度は、400DPI程度まで可能である。イメージセッター52に使用する用紙サイズは、A1程度まで可能である。そして、レーザマーカー53は、レーザ光を直接、成形品に照射し、樹脂材料を溶融して黒化させるか、充填材を配合した特殊材料を使用して発色させる印刷装置である。
【0024】
次に、本実施形態に係る表示機能について説明する。本実施形態に係る描画指示装置は、図形データおよび文字データを、印刷時の出力形態と同じ表示形態のイメージで、表示装置41に表示する制御を行なう、所謂WYSIWYGの機能を有しており、これを説明する図が図3である。
【0025】
図3(a)は、表示装置41に表示されるWYSIWYGの表示例であり、図3(a)の表示形態は、印刷時の出力結果の例である図3(c)の出力形態と略同じになっている。
【0026】
一方、図3(b)は、WYSIWYGではない表示例を示しており、この図3(b)の表示形態は、印刷時の出力結果の例である。この図3(b)の表示形態は、印刷時の出力結果の例である図3(c)の出力形態とは異なっている。
【0027】
次に、本実施形態に係る表示装置41上の操作画面について説明する。
【0028】
図4は、本実施形態に係るピック処理プログラムの実行時に、表示装置41に表示されるメインパネル61を例示する図である。
【0029】
図4において、61はメインパネル、62は作画エリア、63はマウスポインタ、64は文字入力エリア、65はボタン群、66は汎用ボタン、67はコマンドメニュー、68はガイダンスエリア、71はメインパネル以外のパネル、72はパネル71上のボタンである。また、これら図4上のボタンは、全てソフトキーである。
【0030】
このメインパネル61上で、キーボード11や、マウス12等の入力装置をオペレータが操作するのに応じて、本実施形態に係る描画指示装置は、対話的に、印刷データの作成および編集作業を行なう。作成された印刷データは、作画エリア62に表示される。
【0031】
また、必要に応じて、メインパネル61以外に、各種のパネル71が表示され、パネル71上で操作を行なうこともある。
【0032】
以下、表示装置41に表示されるソフトウエアパネルを介して、本実施形態においてオペレータが入力可能な方法について、図4を参照して説明する。
【0033】
キーボード11から入力を行なう場合、オペレータは、文字入力エリア64を、マウス12またはキーボード11で指示してから、文字または数値を入力する。また、マウス12によって入力を行なう場合には、以下の方法を用いる。
【0034】
まず、特定の要素やボタンを選択する方法としては、次の(1)と(2)の2つの方法がある。
【0035】
(1)要素選択:作画エリア62に表示されている描画パターン(印刷データに基づいてCPU21が表示しているパターン)の所望の位置に、オペレータがマウスポインタ63を移動させて、その位置において、例えばマウス左ボタンを押下することによって、操作の対象とする要素を選択する。
【0036】
(2)ボタン選択:メインパネル61に表示されている、各種のボタン65、汎用ボタン66、必要に応じて表示されるパネル71内に表示される各種のボタン72の所定位置に、オペレータがマウスポインタ63を移動させて、その位置で、例えばマウス左ボタンを押下することによって、操作の対象とするボタンを選択する。
【0037】
また、作画エリア62上の特定の位置を指定する方法として、次の(3)から(7)までの、5つの方法がある。
【0038】
(3)任意指定:作画エリア62上の、任意の位置に、マウスポインタ63を移動させて、その位置で、例えばマウス右ボタンを押し下げることによって、位置を指定する。
【0039】
(4)点指定:作画エリア62に表示されている、点を要素選択することによって、位置を指定する。
【0040】
(5)特徴点指定:作画エリア62に表示されている、点以外の要素を要素選択することによって、その要素の特徴となる点をCPU21が抽出し、位置を指定する。
【0041】
ここで、特徴点が複数存在する場合に、1点を特定する方法には、要素選択した際のマウスポインタ63の位置に最も近い特徴点をCPU21が自動的に抽出する方法、複数存在する特徴点の中からさらに1点を点指定する方法等がある。
【0042】
図5に、図形データの各要素の特徴点の例を示す。同図において、*印で示した点は、各種の図形の形状を特徴付ける特徴点である。即ち、図5において、各種の図形データを特徴付けする特徴点の具体的な位置は、以下に示す通りである。
・線分:両端点、中点、
・円:中心点、円の中心からXおよびY軸方向に引いた直線と円との交点(4点)、
・円弧:中心点、両端点、中点(円弧の距離を二分する円弧上の点)、
・楕円:中心点、楕円の短軸および長軸と楕円との交点(4点)、
・楕円弧:中心点、両端点、楕円弧の短軸および長軸と楕円弧を含む楕円との交点(4点)、中点(楕円弧の距離を二分する楕円弧上の点)、
・線分列:線分列を構成する各線分の両端点、中点、
・自由曲線:両端点、曲線の制御点、中点(自由曲線の距離を二分する点)。
【0043】
(6)交点指定:作画エリア62に表示されているところの、線分や円等の線要素を、1個または2個、要素選択することによって、それらの要素の交点をCPU21が算出し、位置を指定する。
【0044】
ここで、単一の線要素が、それ自体で交点を持つ場合、すなわち、自己交差している場合は、線要素を1個、要素選択するだけでよい。その他の場合は、2個の線要素を指定する(図6参照)。
【0045】
交点が複数存在する場合に、1点を特定する方法には、先または後に要素選択した際のマウスポインタ63の位置に最も近い交点をCPU21が自動的に抽出する方法、複数存在する交点の中からさらに1点を点指定する方法等がある。
【0046】
(7)線上点指定:作画エリア62に表示されている、線分、円等の線要素を1個要素選択することによって、そのときのマウスポインタ63の位置に最も近い線要素上の点をCPU21が算出し、位置を指定する。
【0047】
図7に、円弧を要素選択して、線上指定によって位置を指定した例を示す。図7においては、レ印で示した位置において、線分、円弧の順で要素選択を行ない、*印の位置が交点指定によって指定されたことを示している。レ印の点は、円弧近傍の点、*印の点は、円弧上の点である。
【0048】
次に、本実施形態で扱う「コマンド」について説明する。本実施形態では、印刷データの作成および編集作業の各単位を「コマンド」と称する。
【0049】
本実施形態で扱うコマンドには、点、直線、円、曲線等、各要素を作成するコマンド(作図コマンド)や、移動、複写、削除、属性等、各要素の形状や属性等を修正するコマンド(修正コマンド)や、その他、ファイル、プリント、トンボ、バーコード、等に冠するコマンド等がある。
【0050】
本実施形態に係る描画指示装置を利用して、オペレータが印刷データの作成や編集を行なうには、まず、作業単位に合わせた任意のコマンドを1つ選択する。
【0051】
コマンドの選択には、図4に示す文字入力エリア64で、コマンドの名称をキーボード11から入力する方法や、コマンドの名称があらかじめ設定されているメインパネル61上のボタン65を、ボタン選択する方法等がある。
【0052】
オペレータによるコマンドの選択が行われると、それまですでに選択されているコマンドがあった場合には、そのコマンドの終了処理が行われている。続いて、新たに選択されたコマンドの初期処理が行なわれ、コマンド内の処理に入る。
【0053】
コマンドが選択されると、表示装置41上に選択されたコマンド内でのさらに細かい作業単位を選択するための、コマンドメニュー67が表示される。ユーザーは、コマンド目に67の任意のメニュー項目のボタンをボタン選択することによって、各種の編集作業を行なうことができる。ユーザーがどのような操作を行なえばよいかといった指示は、作業の状況に応じて、その都度、ガイダンスエリア68に表示されるので、ユーザーは、この指示に従って、操作を行なえばよい。
【0054】
[データ構造]
<印刷データの要素>
次に、本実施形態に係る描画指示装置で作成可能な印刷データを構成するところの、図形データおよび文字データの要素に、どのような種類が存在するのかについて具体的に説明する。
【0055】
本実施形態に係る描画指示装置で作成可能な図形データおよび文字データの要素には、大きく分けて、以下の(A)〜(E)の5つの種類がある。
【0056】
(A)基本図形:点、線分、線分列(開/閉)、円、円弧、楕円、楕円弧、自由曲線(開/閉)、
(B)塗り潰し図形、
(C)その他の図形:トンボ、バーコード、
(D)テキスト、
(E)グループ図形:シンボル、イラスト。
【0057】
ここでいう要素とは、図形データまたは文字データに、印刷データとして必要な属性(印刷属性と呼ぶ)を付加して、実際に印刷データとしてレイアウトされるデータの単位を意味している。また、印刷データとしてレイアウトされた複数の要素をまとめてグループ化すれば、それを1つの要素として扱うこともできる。要素のグループ化の方法については後述する。
【0058】
次に、上記の(A)〜(E)の5つの要素について詳細に説明する。
【0059】
まず、(A)の基本図形は、最も基本となる図形データの要素である。この他、線分列によって構成される矩形(各辺がXおよびY軸に平行である長方形)、正多角形等を、基本図形の要素として扱うこともできる。また、自由曲線としては、ベジェ、有利ベジェ、Bスプライン、エルミート、NURBS等の表現形式を扱うことができる。
【0060】
また、(B)の塗り潰し図形は、(A)の要素(点を除く)を単独で、または、複数を連結させることで、閉領域を形成し、その内部を塗り潰した図形データの要素である。塗り潰しの方法には、次の4種類がある。
【0061】
(1)フィルエリア:内部を均一に塗り潰す。
【0062】
(2)ハッチング:一定の傾きと間隔を持った複数の線分で塗り潰す。塗り潰し図形内の特定の点を、ハッチングの基準点として指定することもできる。
【0063】
(3)メッシュ:円、矩形、正多角形等、一定の形状の図形の繰り返しで塗り潰す。塗り潰し図形内の特定の点を、メッシュの基準点として指定することもできる。
【0064】
(4)パターン:あらかじめ作成されたビットパターンの繰り返しで塗り潰す。
【0065】
また、(C)のその他の図形には、トンボ、バーコード等がある。これらの要素は、図形データと、文字データの両方を含んでいる。トンボ、バーコードの各要素の作成方法については、後述する。
【0066】
また、(D)のテキストは、文字データの要素である。図形データの要素と同様に、印刷データとしてレイアウトすることができるが、印刷属性の種類や、レイアウトの方法は図形データの要素とは異なる。
【0067】
最後に(E)のグループ図形は、(A)の基本図形、(B)の塗り潰し図形、(C)のその他の図形、(D)のテキストの各要素を、1つ以上任意の数だけ選択して、まとめて1つの要素として扱うためのもので、シンボルとイラストがある。
【0068】
<印刷データの印刷属性>
次に、本実施形態に係る描画指示装置で作成可能な印刷データである図形データおよび文字データの印刷属性に、どのような種類が存在するのかを、具体的に説明することにする。
【0069】
作成可能な図形データおよび文字データの印刷属性には、大きく分けて、以下の(a)〜(g)の7つの種類がある。
【0070】
まず、図形データおよび文字データに共通の印刷属性には、次に示す(a)〜(c)の3つの種類がある。
【0071】
(a)表示属性:要素を表示するか否か、また、表示する場合に、どのような上下関係で表示するか(表示プライオリティと呼ぶ)を指定する。
【0072】
(b)選択属性:要素選択が可能であるか否かを指定する。要素選択を不可すると、その要素に対しての操作は行なえなくなる。
【0073】
(c)色属性:RGBあるいはHLS等のカラーモデルの種別、および、カラーコードの値を与えることによって、要素の色を表現する。白と黒義Iの色が表現できないモノクロームの、表示装置41またはレーザプリンタ51等の印刷装置を使用している場合、色属性に応じて、白または黒のどちらかの色に変換されて出力される。
【0074】
次に、図形データ固有の印刷属性には、次に示す(d)〜(f)の3つの種類がある。
【0075】
(d)点属性:点要素の場合、点のある位置に記号を表示したり、文字列を表示したりすることができる。
【0076】
(e)線属性:点以外の基本図形の要素(線要素)の場合、次に示すさまざまな線の属性を表現することができる。
【0077】
・線種:線要素の形状を示し、実線、破線、一点鎖線、二点鎖線、等がある。
【0078】
・線幅:線要素の法線方向の大きさを示す。あらかじめ定められた、細線、中線、太線、等の種別を指定したり、実寸で指定したりすることができる。
【0079】
・線幅方向:線幅を考慮しない場合から、法線方向のどちらに線幅分だけオフセットさせるかを示す。
【0080】
・終端形状:線分や円弧等の開図形の終端の形状で、ラウンド、フラット、スクエア、等がある。
【0081】
・接続形状:線分列や矩形等の図形の角の形状で、マイター、ラウンド、ベベル、等がある。
【0082】
・線ピッチ:線種が実線以外の場合、線が存在する部分と、存在しない部分の長さをそれぞれ実寸、またはパラメータで与えることができる。
【0083】
(f)塗り潰し属性:塗り潰し図形要素(描画要素)の場合、フィルエリア、ハッチング、メッシュ、パターン、等の内部の塗り潰し方法の種類や、ハッチングやメッシュの場合の必要な詳細データ、パターンの場合の、パターン番号を与える。
【0084】
最後に、文字データ固有の印刷属性には、次に示す(g)の1種類のみがある。
【0085】
(g)文字列属性:テキスト要素の場合、次に示すさまざまな文字の属性、および文字列全体の属性を表現することができる。
・書体:一組の文字のデザインを表し、クーリエ、ヘルベチカ、ゴシック、等がある。
・文字サイズ:文字の大きさを表し、一般には1つの文字が専有する矩形領域はボディの行送り方向の高さと等しい。
・平体率:文字を、文字の行送り方向にどれだけ縮めるかを比率で表す。
・長体率:文字を、文字の字送り方向にどれだけ縮めるかを比率で表す。
・ベース角:文字の字送り方向がX軸となす角度を表す。
・斜体角:文字の字送り方向に対する、文字の傾斜角度を表す。
・字間:同一行の隣接する2文字のボディの間隔を表す。
・行間:隣接する2行にある文字のボディの間隔を表す。
・文字列反転:文字列を反転(鏡像)して表示する。
【0086】
<印刷データのデータ構造>
次に、本実施形態における印刷データのデータ構造について説明する。
【0087】
本実施形態における印刷データは、上述した複数の要素データ、複数の印刷属性データから構成されている。
【0088】
ここで、各要素データは、基本的に、データ種別コード、データ番号、各要素ごとの必要データ、各要素ごとの必要印刷属性データのデータ番号からなる。
【0089】
そして、印刷データ内でユニークに付けられたデータ種別コードによって、印刷データ内の各要素データの種別を特定することができる。
【0090】
また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各要素データを特定することができる。各要素ごとに、必要データ、必要印刷属性の種類は異なるが、データ種別コードによってCPU21はこれらを識別することが可能である。
【0091】
また、各印刷属性については、各要素データごとに保持するのではなく、各要素データでは、必要な印刷属性データのデータ番号のみを保持するようにしている。これによって、印刷属性データの重複を避け、印刷データの容量を縮小することや、複数の要素データの印刷属性を一度の操作で変更すること等が可能になっている。
【0092】
まず、図形データおよび文字データの各要素のデータ構造を、以下に具体的に示す。
【0093】
(A)基本図形:
(1)点
・データ種別コード、
・データ番号、
・点座標:c[2]、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・点属性のデータ番号、
(2)線分
・データ種別コード、
・データ番号、
・始点座標:s[2]、
・終点座標:e[2]、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(3)線分
・データ種別コード、
・データ番号、
・通過点数:np、
・各通過点座標:pp[2](np個)、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(4)円
・データ種別コード、
・データ番号、
・中心座標:c[2]、
・半径:r、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(5)円弧
・データ種別コード、
・データ番号、
・始点座標:s[2]、
・終点座標:e[2]、
・中心座標:c[2]、
・回り方向フラグ(時計回り/反時計回り)、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(6)楕円
・データ種別コード、
・データ番号、
・中心座標:c[2]、
・長軸ベクトル:a[2]、
・短軸ベクトル:b[2]、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(7)楕円弧
・データ種別コード、
・データ番号、
・始点座標:s[2]、
・終点座標:e[2]、
・中心座標:c[2]、
・長軸ベクトル:a[2]、
・短軸ベクトル:b[2]、
・回り方向フラグ(時計回り/反時計回り)、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(8)自由曲線(ベジェ曲線の場合)
・データ種別コード、
・データ番号、
・曲線数:nv、
・各曲線の制御点データ(nv個)、
制御点数:nc、
各制御点座標:pc[2](nc個)、
重み係数:w、
・通過点数:np、
・各通過点座標:pp[2](np個)、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・線属性のデータ番号、
(B)塗り潰し図形:
・データ種別コード、
・データ番号、
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右下点座標:p2[2]、
・ループ数:nl、
・各ループの構成要素データ(nl個):
構成要素数:nd、
構成要素データ:点を除く基本図形要素データ(nd個)、
・通過基準点座標:pp[2]、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・塗り潰し属性のデータ番号、
・枠の表示属性のデータ番号、
・枠の色属性のデータ番号、
・枠の線属性のデータ番号。
【0094】
ここで、塗り潰し図形では、印刷属性として、塗り潰し図形の内部の印刷属性の他に、塗り潰し図形の枠の印刷属性を別に持っている。例えば、内部の色属性と、枠の色属性を変えて表示すること等が可能である。
【0095】
(C)その他の図形:
(1)トンボ、
・データ種別コード、
・データ番号、
・トンボ種別フラグ(トンボ/スケールトンボ)、
・トンボ形状フラグ(トンボの場合は11種類/スケールトンボの場合は3種類)、
・トンボオフセットフラグ(オフセットあり/なし)、
・印刷データ名称(スケールトンボの場合)、
・トンボ長さ(スケールトンボの場合)、
・レイアウト基準点座標:pb[2]、
・出力倍率:sc、
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右下点座標:p2[2]、
・構成要素数:nd、
・構成要素データ:トンボの場合は線分、スケールトンボのバーは線分、円、テキストのいずれかの要素データ(nd個)、
(2)バーコード、
・データ種別コード、
・データ番号、
・バーコード種別フラグ(4種類)、
・コードデータ、
・コード表示フラグ(コード表示あり/なし)、
・レイアウト基準位置フラグ(左下/中央/右上等9種類)、
・レイアウト基準点座標:pb[2]、
・レイアウト角度:ang、
・レイアウトスケール:sc、
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右上点座標:p2[2]、
・構成要素数:nd、
・構成要素データ:線分、テキストのいずれかの要素データ(nd個)、
(D)テキスト:
(1)基本文字列(テキストを構成する要素)、
・データ種別コード、
・データ番号、
・文字列開始点座標:pt[2]、
・文字列バイト数:nch、
・文字列データ:str(nchバイト)、
・レイアウト角度:ang、
・レイアウトスケール:sc、
・表示属性のデータ番号、
・選択属性のデータ番号、
・色属性のデータ番号、
・文字列属性のデータ番号、
(2)テキスト
・データ種別コード、
・データ番号、
・レイアウト基準位置フラグ(左下/中央/右上等9種類)、
・レイアウト基準点座標:pb[2]、
・レイアウト基準矩形左下座標:p1[2]、
・レイアウト基準矩形右上座標:p2[2]、
・構成要素数:nd、
・構成要素データ:基本文字列の要素データ(nd個)。
【0096】
ここで、テキスト要素は、複数の基本文字列要素を組み合わせて構成される。これによって、ひとつのテキスト要素の中で、複数の文字列属性を持った文字列を扱うことが可能となる。例えば、ひとつのテキストの途中で文字の書体を変更したり、文字の高さや幅を変更する制御が可能である。
【0097】
(E)グループ図形:
(1)シンボル
・データ種別コード、
・データ番号、
・フォルダー名称、
・ファイル名称、
・レイアウト基準位置フラグ(左下/中央/右上等9種類)、
・レイアウト基準点座標:pb[2]、
・レイアウト角度:ang、
・レイアウトスケール:sc、
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右上点座標:p2[2]、
・反転フラグ(反転あり/なし)、
・線幅スケールフラグ(線幅スケールあり/なし)、
・線幅スケール値、
(2)イラスト
・データ種別コード、
・データ番号、
・フォルダー名称、
・ファイル名称、
・レイアウト基準位置フラグ(左下/中央/右上等9種類)、
・レイアウト基準点座標:pb[2]、
・レイアウト角度:ang、
・レイアウトスケール:sc、
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右上点座標:p2[2]、
・反転フラグ(反転あり/なし)、
・構成要素数:nd、
・構成要素データ:任意の要素データ(nd個)。
【0098】
尚、シンボルおよびイラストのデータ構造の特徴、およびシンボルデータファイルおよびイラストデータファイルのファイル構造については後述する。
【0099】
次に、上述したようなデータ構造を有する要素データに対応する印刷属性データのデータ構造について説明する。
【0100】
ここで、各印刷属性データは、基本的に、データ種別コード、データ番号、属性設定フラグ、各印刷属性毎の必要データという構成を有する。印刷データ内の各印刷属性データの種別は、印刷データ内でユニークに付けられたデータ種別コードによって特定することができる。
【0101】
また、印刷データ内でユニークに付けられたデータ番号によって、印刷データ内の各印刷属性データを特定することができる。各印刷属性ごとに必要データは異なるが、データ種別コードによって、CPU21は、これらを識別することが可能である。
【0102】
また、属性設定フラグとは、その印刷属性データが有効であるか否かを指定するフラグである。属性設定フラグが有効である印刷属性データを指示している要素データでは、該当する印刷属性データに従って要素が表示されている。
【0103】
一方、属性設定フラグが無効である印刷属性データを指示している要素データでは、該当する印刷属性は設定されていない状態であると見なし、予めROM31や外部記憶装置33に記憶されているデフォルトの印刷属性に従って、要素が表示される。
【0104】
また、各要素データに階層関係を持たせることが可能なデータ構造とした場合には、上位の(または下位の)要素の印刷属性に従って表示を行なう制御も可能である。
【0105】
次に、各印刷属性データのデータ構造を具体的に示す。
【0106】
(a)表示属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・表示フラグ(表示/非表示)、
・表示プライオリティ、
(b)選択属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・要素選択フラグ(可/不可)、
(c)色属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・カラーコード識別フラグ(RGB/HLS)、
・カラーコード1、2、3、
(d)点属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・マーカー文字列、
(e)線属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・線種フラグ(実線/破線/一点鎖線/二点鎖線/任意破線/任意一点鎖線/任意二点鎖線)、
・線幅フラグ(細線/中線/太線/極太線/任意線幅)、
・線方向フラグ(中央/内側/外側)、
・終端形状フラグ(ラウンド/フラット/スクエア)、
・接続形状フラグ(マイター/ラウンド/ベベル)、
・線種データ1、2、3、4(線種=任意のとき)、
・線幅データ(線幅=任意のとき)、
(f)塗り潰し属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・塗り潰し種別フラグ(塗り潰しあり/塗り潰しなし/ハッチング/メッシュ番号/パターン番号等)、
・データグループ数:nd、
・塗り潰しデータ1、2、3(nd個)、
(g)文字列属性
・データ種別コード、
・データ番号、
・属性設定フラグ(有効/無効)、
・書体、
・文字サイズ、
・平体率、
・長体率、
・ベース角、
・斜体角、
・字間、
・行間、
・文字列反転フラグ(あり/なし)。
【0107】
上述した印刷データのデータ構造に基づいて、本実施形態に係る描画指示装置で作成された印刷データファイルの一例を、図8に示す。
【0108】
この図8に示された印刷データは、図9に示すような形状の図形を印刷するための印刷データであり、図9に示す印刷データにより表現される図形は、複数種類の基本図形の要素から成り、1個の線分列と2個の円と、これら3要素の外接矩形の左下点および右上点の2点(この2点は非表示で選択不可)から構成される。また、これら1個の線部列と2個の円が、それぞれ同じ表示属性(表示)、選択属性(選択可)、線属性(実線、線幅20mm)を持ち、互いに異なる色属性を持っているものとする。
【0109】
<グループ図形のデータ構造>
次に、上述した印刷データのデータ構造のうち、特にグループ図形であるシンボルとイラストのデータ構造について詳述する。
【0110】
まず、シンボルのデータ構造について説明する。
【0111】
本実施形態において、シンボルとは、規格で定められた記号や、ロゴマークのように、繰り返し使用される図形で、図形データの要素(線分や円等)や、文字データの要素(テキスト)を組み合わせて、作成される要素である。
【0112】
規格が変更される等により、シンボルデータのファイルの内容が更新された場合、本実施形態では、既に印刷データの一部としてレイアウト済みである該当するシンボルを全て更新して、データの同期を維持することができる。即ち、本実施形態に係る描画指示装置では、シンボルのデータを次に示すようなデータ構造で保持している。
【0113】
印刷データ内には、シンボルデータファイルの存在場所を特定するための、フォルダー名称およびファイル名称、そして、シンボルをレイアウトするために必要な情報のみを保持する。
【0114】
また、印刷データをファイルに保存した印刷データファイルとは別個に、シンボルデータファイルを作成する。シンボルデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右上点座標:p2[2]、
・構成要素データ:任意の要素データ(複数)、
・印刷属性データ:必要な印刷属性データ(複数)。
【0115】
レイアウト基準矩形については後述するが、レイアウト基準矩形を定めておけば、シンボルを印刷データとしてレイアウトする際に必要な位置と大きさの情報を特定することが可能である。例えば、レイアウト基準矩形としては、シンボルの可視部分を囲む最小の矩形(外接矩形と呼ぶ)を指定しておくこと等が可能である。
【0116】
シンボルデータファイルを作成する際に該当するシンボルの外接矩形のデータをレイアウト基準矩形として登録しておけば、シンボルデータファイルを再度読み込んだ際等に、シンボルの外接矩形を再計算する必要がなくなる。
【0117】
シンボルの各構成要素データは、レイアウト基準矩形左下点を基準とする相対座標値で表現されている。
【0118】
また、各印刷属性データについては、印刷データの場合と同様に、各構成要素データを表示する際に必要な印刷属性データを、要素データとは別に保持している。
【0119】
このように、本実施形態では、変更のあったシンボルを含む印刷データファイルの更新を敢えて行なわなくても、該当する印刷データファイルを外部記憶装置33からRAM32に再度読み込むだけで、印刷データ内のシンボルデータは、最新のシンボルデータファイルの内容に自動的に更新され、データを自動的に同期させることができる。
【0120】
次に、もう一つのグループ図形であるイラストのデータ構造について説明する。
【0121】
本実施形態において、イラストとは、テンプレート図形のように繰り返し使用される図形で、これもまたシンボルと同様に図形データの要素(線分や円等)や、文字データの要素(テキスト)を組み合わせて作成される要素である。
【0122】
イラストは、上述したシンボルの場合とは異なり、一旦印刷データの一部としてレイアウトされた後は、元のイラストデータファイルの内容とは同期を取らずに自由に変更を加えたい場合に使用される。
【0123】
従って、イラストデータの場合には、上述したシンボルデータの自動更新とは異なり、イラストデータファイルの内容が更新された場合でも、既に印刷データの一部としてレイアウト済みである該当するイラストを更新して同期を維持することはない。
【0124】
そこで、本実施形態に係る描画指示装置では、イラストのデータを、次に示すようなデータ構造で保持している。
【0125】
すなわち、印刷データ内には、イラストデータファイルの存在場所を特定するためのフォルダ名称およびファイル名称、そしてイラストをレイアウトするために必要な情報の他に、イラストデータファイルから読み込んだイラストを実際に構成する各要素データを保持している。
【0126】
また、印刷データファイルとは別個にイラストデータファイルを作成する。イラストデータファイルは、次に示すようなファイル構造となっている。
・レイアウト基準矩形左下点座標:p1[2]、
・レイアウト基準矩形右上点座標:p2[2]、
・構成要素データ:任意の要素データ(複数)、
・印刷属性データ:必要な印刷属性データ(複数)。
【0127】
この構造は、シンボルデータファイルのファイル構造と同様である。これを印刷データに読み込む際には、指定したレイアウト基準点座標を原点とし、指定したレイアウト角度、レイアウトスケールに従ってイラストデータファイル内の各構成要素データを展開して(座標変換して)、印刷データのイラスト要素データとして、全て保持する点がシンボルとは異なっている。
【0128】
[ピック処理]
次に、上述した描画制御を実現すべく図2に示す描画指示装置にて実行されれるピック処理について説明する。
【0129】
図1は、第1の実施形態におけるピック処理の手順を示すフローチャートであり、CPU21が実行する。
【0130】
同図において、ステップS1:WYSIWIGの環境下において、オペレータが表示装置41を見ながらマウス12等を用いて指示した入力座標を取り出し(図14参照)、その座標値を、読出書込記憶装置32もしくは外部記憶装置33(以下、総称して記憶装置)に保存する。
【0131】
ステップS2:ステップS1で保存した座標値と、表示装置41に表示されている要素図形の表示位置データとに基づいて、オペレータが選択した可能性のある要素図形を判定し、選択した可能性のある要素図形を示す識別番号等を、選択可能性要素リストとして記憶装置に保存しておき、順番に取り出していく(図14参照)。
【0132】
ステップS3:ステップS2で順番に取り出した図形要素の識別番号等に従って、予め記憶されている各図形要素の幾何および属性データを基に、輪郭図形を算出して記憶装置に保存する(図15参照)。
【0133】
ステップS4:ステップS1で保存した入力座標と、ステップS3で保存した輪郭図形情報とに基づいて、ヒットしているかどうかを判定する。
【0134】
ここで、ステップS4の処理の詳細について、図19を参照して説明する。
【0135】
図19において、ステップS4−1:入力座標に基づいて、ピックウインドウ(所定の面積を持つ領域)を作成(図16参照)する。ピックウインドウの作成手順については、図20に示すフローチャートに従って行えば良い。
【0136】
図20において、ステップS4−1−1:記憶装置またはオペレータによって入力された辺長を、ピックウインドウの辺長Lとして取得する。
【0137】
ステップS4−1−2:表示装置41において所定長さになるように。辺長LをL’に変換する。具体的には、表示座標系が拡大されて表示装置41に表示されていたときには、そのスケール値で辺長Lを割るなどの処理により、表示装置上において辺長Lを反映した所定長さL’になるように変換する。
【0138】
ステップS4−1−3:入力座標を中心として、ステップS4−1−2で算出した一辺の長さL’の正方形をピックウインドウとする。
【0139】
次に、図19の説明に戻って、ステップS4−2:上記の如く求めたピックウインドウと、ステップS3で求めた輪郭図形とが干渉しているかを判定する(図17参照)。
【0140】
ステップS4−3〜ステップS4−5:ステップS4−2の判断において、干渉していたらヒットしていると判定し、干渉していなかったからヒットしていないと判定する。
【0141】
ステップS4−2における具体的な手順は、図21に示すフローチャートに従って行えば良い。
【0142】
図21において、ステップSS4−2−1:各要素の属性等も考慮した表示イメージの輪郭図形の外接矩形を取り出す。
【0143】
ステップS4−2−2:ピックウインドウと、上記の如く求めた輪郭図形の外接矩形とが干渉するかどうかを調べる。本ステップでは、少ない計算量でラフに干渉しているかを調べるのが目的なので、印刷属性を考慮して幾何的に求めれば良い。
【0144】
ステップS4−2−3〜ステップS4−2−6:干渉する可能性がないと判定されたらステップS4−2−6においてヒットしていないと判定し、干渉する可能性があると判定したらステップS4−2−4において輪郭図形のデータを利用してピックウインドウと輪郭図形の外接矩形とが実際に干渉しているかを調べ、ステップS4−2−5において、その結果に従ってヒットしているものを特定する。ここで、より具体的な手順について、図22を参照して後述する。
【0145】
図22において、ステップS4−2−3−1:輪郭図形を表示装置41に表示したときの表示イメージのビットマップイメージを算出する。
【0146】
ステップS4−2−3−2:ピックウインドウを表示装置41に表示したときの表示イメージのビットマップイメージを算出する。
【0147】
ステップS4−2−3−3:上記の如く求めた輪郭図形及びピックウインドウの各ビットマップイメージにおいて、各画素ごとに干渉しているかを調べる。これは各画素ごとの論理積を取れば良い。
【0148】
ステップS4−2−3−4〜ステップS4−2−3−6:一画素でも干渉していればヒットしていると判定し、一画素も干渉していなければヒットしていないと判定する。
【0149】
ここで、図1の説明に戻る。ステップS5〜ステップS6:上述したステップS4においてヒットしていると判定された要素を、選択要素候補として、記憶装置に保存する。
【0150】
ステップS7:登録されている選択要素がまだあるかどうか判定し、まだある場合は、ステップS3に戻って残りの選択された可能性のある要素に関して、上述したステップS3からステップS6の処理を行う。
【0151】
ステップS8〜ステップS10:選択要素候補があるかを判断し(ステップS8)、ある場合は、ヒットされた要素の中からある基準により選択要素を決定し(ステップS9)、なければ選択要素なしとする(ステップS10)。
【0152】
ここで、ステップS9の処理の詳細について、図23を参照して説明する。
【0153】
図23において、ステップS9−1:ヒットしている要素のうち一番高い優先順位を持つものを探索する。尚、各要素には予め優先順位が設定されているものとする。
【0154】
探索した結果、最も優先順位を持つ要素が複数ある場合は、下記の(S8−2)以下の処理を行う。
【0155】
ステップS9−2,ステップS9−6:探索した結果、最も高い優先順位を持つ要素が複数あるかを判断し(ステップS9−2)、一つしかない場合は、ステップS9−6においてその要素を選択要素とする。
【0156】
ステップS9−3:ステップS9−2の判断の結果、最も高い優先順位を持つ要素が複数あるので、上記の如く求めた最も高い優先順位を持つ複数の要素を、要素種別ごとに分類し、要素種別ごとに設定した優先順位により最も高い優先順位を持つものを探索する。
【0157】
尚、要素種別毎の優先順位として、点が一番高い優先順位、塗り潰し図形が一番低い優先順位、それ以外がその間の優先順位とする。こうした理由は一般に点は、他の要素の影に隠れて、選択しにくいため、塗り潰し図形は他の要素を隠してしまって、選択されやすいため、その効果を打ち消すために例えば上記の優先順位にすれば、いろいろな種別の要素を等しく選択しやすくなるからである。(図13参照)
ステップS9−3のより具体的な手順は、例えば図24のフローチャートの如く行えば良い。
【0158】
図24において、ステップS9−3−1〜ステップS9−3−2:要素種別が点のものを探索し、点がある場合はそれを取り出す。点がない場合は、ステップS9−3−4以下の処理に移る。
【0159】
ステップS9−3−4〜ステップS9−3−7:要素種別に塗り潰し図形でないものを探索し、塗り潰し図形でないものがある場合は、ステップS9−3−3にてその図形を取り出す。一方、塗り潰し図形でないものがない場合は、ステップS9−3−7にて塗り潰し図形を取り出す。
【0160】
ステップS9−4:上記のステップS9−3において探索した結果、要素が複数あるかを判断し、複数有る場合はステップS9−5に進み、要素が一つしかない場合は、ステップS9−6においてその要素を選択要素とする。
【0161】
ステップS9−5:描画リストの順位に従って選択図形を決定する。ここで、各要素の描画の優先順位は、リストによって管理されているものとする。このリストは、例えば最初にあるものほど先に描画し、後ろにあるものほど後に書くものとする。結果として、リストの後ろにあるものほど表示装置41のオペレータにとって手前側に表示されているように表示される。このとき、上記の複数の選択された候補要素がある場合、描画リストの一番後ろのものを選べば、一番手前側の要素が選択されることになる。
【0162】
このような第1の実施形態によれば、操作性に優れ、印刷属性を考慮したピック処理が実現する。
【0163】
[第2の実施形態]
次に、上述した第1の実施形態に係る描画指示装置を基本とする第2の実施形態を説明する。以下の説明においては、第1の実施形態と同様な構成については重複する説明を省略し、本実施形態における特徴的な部分を中心に説明する。
【0164】
本実施形態に係る描画指示装置は、ステップS4−2−3における処理が図25に示すフローチャートの手順に従って行われる点が、図22に示すフローチャートに従って行われる第1の実施形態と異なる。
【0165】
図25において、ステップS4−2−3−1A〜ステップS4−2−3−4A:要素データとピックウインドウが幾何的に干渉するかどうか調べ、要素データとピックウインドウが幾何的に干渉しているかを計算して求める(ステップS4−2−3−1A)。その結果、干渉していると判定されたらヒットしているとし(ステップS4−2−3−3A)、干渉していないと判定されたらヒットしていないと判定する(ステップS4−2−3−4A)。
【0166】
このような本実施形態によっても、第1の実施形態と略同様な効果が享受できる。
【0167】
[第3の実施形態]
次に、上述した第1の実施形態に係る描画指示装置を基本とする第3の実施形態を説明する。以下の説明においては、第1の実施形態と同様な構成については重複する説明を省略し、本実施形態における特徴的な部分を中心に説明する。
【0168】
本実施形態に係る描画指示装置は、ステップS4−2−3における処理が図26に示すフローチャートの手順に従って行われる点が、図22に示すフローチャートに従って行われる第1の実施形態と異なる。
【0169】
図26において、ステップS4−2−3−1B:文字列を構成する各文字のフォントボックスの矩形の和を、フォントボックスとして算出する。
【0170】
ステップS4−2−3−2B:ピックウインドウと、ステップS4−2−3−1Bで求めた矩形とが幾何的に干渉するかどうかを調べ(ステップS4−2−3−3B)、干渉していると判定されたらヒットしていると判定し(ステップS4−2−3−4B)、干渉していないと判定されたらヒットしていないと判定する(ステップS4−2−3−5B)。
【0171】
このような本実施形態によっても、第1の実施形態と略同様な効果が享受できる。
【0172】
[第4の実施形態]
次に、上述した第1及び第2の実施形態に係る描画指示装置を基本とする第4の実施形態を説明する。以下の説明においては、第1の実施形態と同様な構成については重複する説明を省略し、本実施形態における特徴的な部分を中心に説明する。
【0173】
本実施形態に係る描画指示装置は、ステップS4−2−3における処理が図27に示すフローチャートの手順に従って行われる点が、図22に示すフローチャートに従って行われる第1の実施形態と異なる。
【0174】
図27において、ステップS4−2−3−1C:要素を表示したときのイメージの輪郭図形のデータ量を推定する。このとき、あまりデータ量が多いとイメージのビットマップによる干渉判定は多くの資源を使い、計算コストも高いので、まず元の要素データからデータ量を推定する。
【0175】
ステップS4−2−3−2C〜ステップS4−2−3−4C:ステップS4−2−3−1Cにて推定したデータ量と所定量とを比較し(ステップS4−2−3−2C)、その結果、当該データ量が所定量より少ないときには、上述した第1の実施形態におけるステップS4−2−3−2(図22)と同様に、輪郭図形及びピックウインドウの各ビットマップイメージの各画素ごとの干渉判定を行うことによってヒット処理を行う(ステップS4−2−3−3C)。一方、推定したデータ量が所定量以下のときには、上述した第2の実施形態における図25のフローチャートと同様な手順で幾何的に干渉判定を行う(ステップS4−2−3−4C)。
【0176】
ビットマップを使った干渉判定は、資源・計算コストを使うものの印刷属性等を考慮した精密な干渉判定が行える。一方、幾何的な干渉判定は、若干精密さを損なうものの、少ない資源・低い計算コストで行うことができる。本実施形態によれば、最初の要素の表示イメージの輪郭図形のデータ量を推定することにより適応的に上記の2処理を切り替えるようにしたものである。
【0177】
このような本実施形態によっても、第1の実施形態と略同様な効果が享受できる。
【0178】
[第5の実施形態]
次に、上述した第1の実施形態に係る描画指示装置を基本とする第5の実施形態を説明する。以下の説明においては、第1の実施形態と同様な構成については重複する説明を省略し、本実施形態における特徴的な部分を中心に説明する。
【0179】
本実施形態に係る描画指示装置は、ステップS9における処理が図28に示すフローチャートの手順に従って行われる点が、図23及び図24に示すフローチャートに従って行われる第1の実施形態と異なる。
【0180】
図28において、ステップS9−1A:選択要素候補が重なっていて、オペレータが選択に難い場合があるので、一時的に重ならないように、選択要素候補を一時的に位置をずらして表示する(図18参照)。より具体的な手順は、例えば、図29に示すフローチャートに従って行えば良い。
【0181】
図29において、ステップS9−1A−1,ステップS9−1A−2:重なっている各要素の外接矩形を算出し、重なっている図形をずらして表示するときの各要素間の距離を示す適当なマージン値を設定する。
【0182】
ステップS9−1A−3:入力座標を中心に各要素の外接矩形が、ステップS9−1A−2で設定したマージン値の分だけ他の要素の外接矩形と縦・横方向に配置できるように、各図形の移動量を算出する。
【0183】
ステップS9−1A−4,ステップS9−1A−5:選択要素候補となっている図形要素が画面内に全て納まるかを判断し、その判断の結果、図形要素が全て納まるときにはステップS9−1A−6に進み、納まらないときには、ステップS9−1A−5において、マイナスの値になるのも許して、マージン値を減らして画面内におさまるように各図形の移動量を再算出する。または、画面の表示スケールを縮小して、選択要素候補となっている要素がすべて画面内におさまるようにする。
【0184】
ステップS9−1A−6:求めた移動量により各図形を一時的に再配置する。
【0185】
次に、図28の説明に戻り。ステップS9−2A:上記如く一時的に表示位置をずらした各図形要素をオペレータが判り易いように、高輝度表示、特殊な色による表示、点滅などの特殊な表示状態に一時的にする。
【0186】
ステップS9−3A:オペレータに上記の如く表示した選択要素候補の中から所望の図形要素を選ばせるために、マウス12等のポインティングデバイスにより座標を入力させる。
【0187】
ステップS9−4A〜ステップS9−7A:本実施形態では、第1の実施形態で説明したような選択要素が複数あるという前提をおかないピック処理を行う。即ち、ピック処理の結果、選択された図形がある場合は、それを選択図形とする(ステップS9−6A)。一方、選択された図形がない場合は、エラーとして、もう一度ユーザに入力させ直すなどのエラー処理を行う(ステップS9−7A)。
【0188】
ステップS9−8A:ステップS9−2Aの処理で一時的にずらして特殊な表示状態になっている要素を元の状態に戻す。
【0189】
このような本実施形態によっても、第1の実施形態と略同様な効果が享受できる。
【0190】
[第6の実施形態]
次に、上述した第1の実施形態に係る描画指示装置を基本とする第6の実施形態を説明する。以下の説明においては、第1の実施形態と同様な構成については重複する説明を省略し、本実施形態における特徴的な部分を中心に説明する。
【0191】
図30は、第6の実施形態におけるピック処理の手順を示すフローチャートであり、ステップS1乃至ステップS6は、第1の実施形態における図1のステップS1乃至ステップS6と同様の処理を行う。即ち、ステップS6において1つでもヒットしている図形要素があればその図形要素を、選択要素とする。これによりすばやい選択処理が可能になる。
【0192】
ステップS11,ステップS12:ステップS5の判断でヒットしていないときには、ステップS11において図1のステップS7と同様に、まだ選択された可能性のある図形要素が有るかを判断する。この判断の結果、まだ選択された可能性のある図形要素が有るときにはステップS2に戻り、無いときには、ステップS12において選択要素無しとする。
【0193】
このような本実施形態によっても、第1の実施形態と略同様な効果が享受できる。
【0194】
以上説明した各実施形態によれば、操作性に優れ、印刷属性を考慮したピック処理が実現する。また、描画指示装置の計算資源量に応じて、通常は、精密な印刷属性を含む表示データを基にピック処理を行うものの、資源量が足りない場合は、簡易的な処理でピック処理を行うため、状況に応じた適切な処理が行える。
【0195】
【他の実施形態】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0196】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0197】
【発明の効果】
以上説明したように、本発明によれば、操作性に優れ、印刷属性を考慮したピック処理を行う描画指示装置及び描画指示方法及びコンピュータ読み取り可能な記憶媒体の提供が実現する。
【図面の簡単な説明】
【図1】ピック処理の手順を説明するフローチャートである。
【図2】本発明の第1の実施形態の描画指示装置のハードウエア構成を示すブロック図である。
【図3】WYSIWYGの機能を説明する図である。
【図4】第1の実施形態に係るピック処理プログラムの実行時に、表示装置41に表示されるメインパネル61を例示する図である。
【図5】各要素の特徴点を示す図である。
【図6】交点指定による位置の指定の例を示す図である。
【図7】線上点指定による位置の指定の例を示す図である。
【図8】印刷データファイルの例を示す図である。
【図9】シンボルの例を示す図である。
【図10】線幅・端点属性の印刷属性を考慮しないピック処理の例を示す図である。
【図11】線種の印刷属性を考慮しないピック処理の例を説明する図である。
【図12】文字列のフォントボックスによるピック処理の例を説明する図である。
【図13】要素種別によってピックしにくくなる例を示す図である。
【図14】入力座標により選択された可能性のある要素をリストに入れる処理を示す図である。
【図15】輪郭図形を抽出する処理を示す図である。
【図16】ピックウインドウの作成を示す図である。
【図17】ピックウインドウと要素の輪郭図形の干渉を検査することによってヒットの有無を判定する処理を示す図である。
【図18】重なった図形をピック処理がしやすいように一時的に図形をずらす処理を示す図である。
【図19】図1のステップS4の処理の詳細を示すフローチャートである。
【図20】図19のステップS4−1の処理の詳細を示すフローチャートである。
【図21】図19のステップS4−2の処理の詳細を示すフローチャートである。
【図22】図21のステップS4−2−3の処理の詳細を示すフローチャートである。
【図23】図1のステップS9の処理の詳細を示すフローチャートである。
【図24】図23のステップS9−3の処理の詳細を示すフローチャートである。
【図25】第2の実施形態においてステップS4−2−3として行われる処理の詳細を示すフローチャートである。
【図26】第3の実施形態においてステップS4−2−3として行われる処理の詳細を示すフローチャートである。
【図27】第4の実施形態においてステップS4−2−3として行われる処理の詳細を示すフローチャートである。
【図28】第5の実施形態においてステップS9として行われる処理の詳細を示すフローチャートである。
【図29】第5の実施形態において図28のステップS9−1Aとして行われる処理の詳細を示すフローチャートである。
【図30】第6の実施形態におけるピック処理の手順を示すフローチャートである。
Claims (11)
- 描画中の描画要素の中から、選択された可能性のある描画要素を、指示部により指示された入力座標に基づいて取り出す要素取得手段と、
各描画要素の表示イメージにおける輪郭図形を取り出す輪郭図形取得手段と、
前記入力座標と前記輪郭図形取得手段によって取得した輪郭図形とに基づいて、ヒットしている描画要素を判定するヒット判定手段と、
前記ヒット判定手段によってヒットしていると判定された描画要素を、選択された描画要素の候補として抽出すると共に、抽出された候補の中から何れかの描画要素を、該選択された描画要素として決定する選択手段と、
を備え、
前記ヒット判定手段は、
前記入力座標に基づいて、所定の面積を有するピックウインドウを作成するピックウインドウ作成手段と、
前記ピックウインドウ作成手段によって作成されたピックウインドウと、前記輪郭図形取得手段によって取得した輪郭図形とが干渉しているかを判定する干渉判定手段と、
を含み、
前記ピックウインドウ作成手段は、予め登録された前記ピックウインドウのサイズLを、使用している表示装置の座標系に対応するサイズL’に変換するサイズ補正手段を含む
ことを特徴とする描画指示装置。 - 前記ヒット判定手段は、ヒットしていないと判定した場合、選択された可能性のある描画要素がまだ存在するかを判定することを特徴とする請求項1に記載の描画指示装置。
- 前記ピックウインドウは正方形の形状を有しており、前記サイズは該正方形の辺長により規定されることを特徴とする請求項1に記載の描画指示装置。
- 前記干渉判定手段は、
表示イメージの輪郭図形の外接矩形を取り出す外接矩形取得手段と、
前記ピックウインドウ作成手段によって作成されたピックウインドウと、前記外接矩形取得手段によって取得した外接矩形とが干渉しているかを判定する第1干渉判定手段と、
前記輪郭図形と前記ピックウインドウとが干渉しているかを判定する第2干渉判定手段と、
を含むことを特徴とする請求項1に記載の描画指示装置。 - 前記第2干渉判定手段は、
前記表示イメージのビットマップイメージを算出する第1ビットマップイメージ取得手段と、
前記ピックウインドウのビットマップイメージを算出する第2ビットマップイメージ取得手段と、
前記第1及び第2ビットマップイメージ取得手段によって取得した各ビットマップイメージにおいて、各画素毎に干渉しているかを判定するビットマップイメージ干渉判定手段と
を含み、
前記ヒット判定手段は、前記ビットマップイメージ干渉判定手段によって少なくとも一画素が干渉していると判定された場合、ヒットしていると判定する
ことを特徴とする請求項4に記載の描画指示装置。 - 前記第2干渉判定手段は、要素データと前記ピックウインドウとが幾何学的に干渉しているかを判定しており、
前記ヒット判定手段は、前記第2干渉判定手段によって幾何学的に干渉していると判定された場合、ヒットしていると判定する
ことを特徴とする請求項4に記載の描画指示装置。 - 前記第1及び第2干渉判定手段は、
描画要素が文字列の場合、前記文字列の各文字のフォントボックスの矩形の和を求める文字列フォントボックス算出手段と、
前記ピックウインドウと、前記フォントボックスとが干渉しているか判定するフォントボックス干渉判定手段と
を含み、前記ヒット判定手段は、前記フォントボックス干渉判定手段によって干渉していると判定された場合、ヒットしていると判定する
ことを特徴とする請求項6に記載の描画指示装置。 - 前記ヒット判定手段によってヒットしていると判定された描画要素が重なって表示される場合、それら描画要素を予め指定された量ずつ一時的にオフセットすると共に、オフセットしたことを認識可能に表示するオフセット手段を更に備え、
前記選択手段は、前記オフセット手段によってオフセットされた表示状態において指示された前記入力座標に基づいて、何れかの描画要素を、前記選択された描画要素として決定する
ことを特徴とする請求項1に記載の描画指示装置。 - 前記オフセット手段は、
重なっている描画要素の外接矩形を取得する取得手段と、
予め指定された正のマージン値を設定する設定手段と、
指定された前記入力座標を中心に、前記外接矩形が前記マージン値に従って配置できるように、各描画要素の移動量を算出する移動量算出手段と、
算出された移動量に基づいて前記各描画要素を表示した場合、それら描画要素が表示画面内に納まるかを判定し、納まらないと判定した場合は、納まるように表示すべく、前記マージン値をより小さな値に減らして、または表示スケールを縮小させて、前記移動量を再算出する調整手段と、
前記調整手段によって調整された移動量に従って、前記各描画要素を一時的にオフセットする配置手段と、
を含むことを特徴とする請求項8に記載の描画指示装置。 - 描画指示装置における描画指示方法であって、
要素取得手段が、描画中の描画要素の中から、選択された可能性のある描画要素を、指示部により指示された入力座標に基づいて取り出す要素取得工程と、
輪郭図形取得手段が、各描画要素の表示イメージにおける輪郭図形を取り出す輪郭図形取得工程と、
ヒット判定手段が、前記入力座標と前記輪郭図形取得工程にて取得した輪郭図形とに基づいて、ヒットしている描画要素を判定するヒット判定工程と、
選択手段が、前記ヒット判定工程にてヒットしていると判定された描画要素を、選択された描画要素の候補として抽出すると共に、抽出された候補の中から何れかの描画要素を、該選択された描画要素として決定する選択工程と、
を有し、
前記ヒット判定工程は、
前記入力座標に基づいて、所定の面積を有するピックウインドウを作成するピックウインドウ作成工程と、
前記ピックウインドウ作成工程によって作成されたピックウインドウと、前記輪郭図形取得工程によって取得した輪郭図形とが干渉しているかを判定する干渉判定工程と、
を含み、
前記ピックウインドウ作成工程は、予め登録された前記ピックウインドウのサイズLを、使用している表示装置の座標系に対応するサイズL’に変換するサイズ補正工程を含む
ことを特徴とする描画指示方法。 - 請求項1乃至9の何れか1項に記載の描画指示装置としてコンピュータを動作させるプログラムを記録したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000243323A JP4458640B2 (ja) | 2000-08-10 | 2000-08-10 | 描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000243323A JP4458640B2 (ja) | 2000-08-10 | 2000-08-10 | 描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002056403A JP2002056403A (ja) | 2002-02-22 |
JP2002056403A5 JP2002056403A5 (ja) | 2007-09-06 |
JP4458640B2 true JP4458640B2 (ja) | 2010-04-28 |
Family
ID=18734196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000243323A Expired - Fee Related JP4458640B2 (ja) | 2000-08-10 | 2000-08-10 | 描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4458640B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3938005B2 (ja) | 2002-10-23 | 2007-06-27 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置および画像処理方法 |
JP5387366B2 (ja) * | 2009-11-26 | 2014-01-15 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6472171B2 (ja) * | 2013-08-27 | 2019-02-20 | キヤノン株式会社 | 画像処理装置およびその方法 |
-
2000
- 2000-08-10 JP JP2000243323A patent/JP4458640B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002056403A (ja) | 2002-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7301672B2 (en) | Information processing apparatus and information processing method | |
US6249908B1 (en) | System and method for representing graphical font data and for converting the font data to font instructions | |
US6771387B2 (en) | Method of utilizing variable data fields with a page description language | |
JP4329750B2 (ja) | 印刷制御プログラム | |
EP2002352B1 (en) | Applying effects to a merged text path | |
JP4458640B2 (ja) | 描画指示装置及びその描画指示方法、並びにコンピュータ読み取り可能な記憶媒体 | |
US5920324A (en) | Character pattern producing apparatus capable of producing character pattern having connected character elements | |
JPH09114999A (ja) | 作図装置 | |
JP4124851B2 (ja) | 情報処理装置及び情報処理方法並びに記憶媒体 | |
JP4434451B2 (ja) | 描画装置およびその描画方法 | |
JP4100779B2 (ja) | 情報処理装置及び方法並びに記憶媒体 | |
JP4174117B2 (ja) | 情報処理装置及び情報処理方法並びに記憶媒体 | |
JP3487917B2 (ja) | 電子ファイル装置 | |
JP4006113B2 (ja) | 図形処理方法及び装置 | |
JP4136123B2 (ja) | 情報処理装置及び方法及び記憶媒体 | |
JP2001005985A (ja) | 文字の割付処理装置 | |
JPH07282074A (ja) | 二次元図形の指標文字列出力装置 | |
JPH03156668A (ja) | 文書作成装置 | |
WO2007026517A1 (ja) | 刺繍データの作成装置と作成方法及びそのプログラム | |
JP3788466B2 (ja) | 図作成装置および図作成方法 | |
JPH08287276A (ja) | 文字レイアウト装置 | |
JP3082391B2 (ja) | 画像処理装置 | |
JPH04184392A (ja) | ベクターフォントのデータ表現方式及び描画方式 | |
JPH09114998A (ja) | 作図装置 | |
JP2000242260A (ja) | フォントの形成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070723 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070723 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070723 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100205 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100209 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140219 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |