(57)【特許請求の範囲】
【請求項１】
画面上の描画オブジェクトを、所望の位置を指定しつつ編集する画像編集方法であって、
選択された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示工程と、
指定された位置が前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定工程と、
前記判定工程により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集工程とを備え、
前記操作点として、描画オブジェクトの横方向のサイズを変更するための操作点を表す横方向サイズ変更マークを含み、前記判定工程により前記横方向サイズ変更マークが指定されたと判定された場合、前記編集工程は、前記オブジェクトの横方向のサイズを所望の大きさに変更し、
前記判定工程により前記横方向サイズ変更マークが指定されたと判定された場合、前記横方向サイズ変更マークが所定の方向に移動されたなら、前記編集工程は、描画オブジェクトに対して垂直方向の斜体変形を行うことを特徴とする画像編集方法。
【請求項２】
前記編集工程は、前記判定工程により前記横方向サイズ変更マークが指定されたと判定された場合、指定点を表すカーソルを水平方向への斜体変形を示す形状に変えることを特徴とする請求項１に記載の画像編集方法。
【請求項３】
画面上の描画オブジェクトを、所望の位置を指定しつつ編集する画像編集方法であって、
選択された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示工程と、
指定された位置が前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定工程と、
前記判定工程により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集工程とを備え、
前記操作点として、描画オブジェクトの縦方向のサイズを変更するための操作点を表す縦方向サイズ変更マークを含み、前記判定工程により前記縦方向サイズ変更マークが指定されたと判定された場合、前記編集工程は、前記オブジェクトの縦方向のサイズを所望の大きさに変更し、
前記判定工程により前記縦方向サイズ変更マークが指定されたと判定された場合、前記縦方向サイズ変更マークが所定の方向に移動されたなら、前記編集工程は、描画オブジェクトに対して水平方向の斜体変形を行うことを特徴とする画像編集方法。
【請求項４】
前記編集工程は、前記判定工程により前記縦方向サイズ変更マークが指定されたと判定された場合、指定点を表すカーソルを垂直方向への斜体変形を示す形状に変えることを特徴とする請求項３に記載の画像編集方法。
【請求項５】
画面上の所望の位置を指定する指定手段と、
前記指定手段により指定された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示手段と、
前記指定手段により指定された位置が、前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定手段と、
前記判定手段により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集手段とを備え、
前記操作点として、描画オブジェクトの横方向のサイズを変更するための操作点を表す横方向サイズ変更マークを含み、前記判定手段により前記横方向サイズ変更マークが指定されたと判定された場合、前記編集手段は、前記オブジェクトの横方向のサイズを所望の大きさに変更し、
前記判定手段により前記横方向サイズ変更マークが指定されたと判定された場合、前記横方向サイズ変更マークが所定の方向に移動されたなら、前記編集手段は、描画オブジェクトに対して垂直方向の斜体変形を行うことを特徴とする画像編集装置。
【請求項６】
前記編集手段は、前記判定手段により前記横方向サイズ変更マークが指定されたと判定された場合、指定点を表すカーソルを水平方向への斜体変形を示す形状に変えることを特徴とする請求項５に記載の画像編集装置。
【請求項７】
画面上の所望の位置を指定する指定手段と、
前記指定手段により指定された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示手段と、
前記指定手段により指定された位置が、前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定手段と、
前記判定手段により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集手段とを備え、
前記操作点として、描画オブジェクトの縦方向のサイズを変更するための操作点を表す縦方向サイズ変更マークを含み、前記判定手段により前記縦方向サイズ変更マークが指定されたと判定された場合、前記編集手段は、前記オブジェクトの縦方向のサイズを所望の大きさに変更し、
前記判定手段により前記縦方向サイズ変更マークが指定されたと判定された場合、前記縦方向サイズ変更マークが所定の方向に移動されたなら、前記編集手段は、描画オブジェクトに対して水平方向の斜体変形を行うことを特徴とする画像編集装置。
【請求項８】
前記編集手段は、前記判定手段により前記縦方向サイズ変更マークが指定されたと判定された場合、指定点を表すカーソルを垂直方向への斜体変形を示す形状に変えることを特徴とする請求項７に記載の画像編集装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータ、ワードプロセッサ、ＤＴＰ装置等に代表される、画面上で描画オブジェクトの編集が可能な描画アプリケーションプログラムにおける画像編集方法及び装置に関する。
【０００２】
【従来の技術】
従来、画面上に描画を行った描画オブジェクトに対して、回転変形や斜体変形などの変形処理を行う際には、変形を行う描画オブジェクトを選択後、回転や斜体変形等の変形処理に応じたモードの選択を行い、ポインティングデバイスによるドラッグ操作や、ダイアログボックスにより数値指定等によりパラメータを指定して変形操作を実行していた。
【０００３】
【発明が解決しようとする課題】
このように上記従来技術では、描画オブジェクトの変形操作には、通常の描画操作や描画オブジェクトの移動操作などには不要なモード指定が必要であった。このため描画アプリケーションのユーザは、行おうとする処理や処理対象となる描画オブジェクトごとにモードを切り替えながら編集操作を行っていた。
【０００４】
このため、編集操作中のポインティングデバイスやキーボードの操作が頻繁になり、編集操作が煩雑で、作業効率も上がらない原因となっている。
【０００５】
本発明は上記従来例に鑑みてなされたもので、回転モードや斜体変形モード等のモードを排除し、簡素化された操作で描画オブジェクトを編集できる画像編集方法及び装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明の画像編集方法はつぎのような構成からなる。すなわち、画面上の描画オブジェクトを、所望の位置を指定しつつ編集する画像編集方法であって、選択された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示工程と、指定された位置が前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定工程と、前記判定工程により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集工程とを備え、前記操作点として、描画オブジェクトの横方向のサイズを変更するための操作点を表す横方向サイズ変更マークを含み、前記判定工程により前記横方向サイズ変更マークが指定されたと判定された場合、前記編集工程は、前記オブジェクトの横方向のサイズを所望の大きさに変更し、前記判定工程により前記横方向サイズ変更マークが指定されたと判定された場合、前記横方向サイズ変更マークが所定の方向に移動されたなら、前記編集工程は、描画オブジェクトに対して垂直方向の斜体変形を行う。
【０００７】
あるいは、画面上の描画オブジェクトを、所望の位置を指定しつつ編集する画像編集方法であって、選択された描画オブジェクトについて、当該オブジェクトを注目オブジェクトとして選択し、該オブジェクトとともに複数の操作点を含む選択枠を表示する選択表示工程と、指定された位置が前記注目オブジェクトの操作点のいずれかに該当する位置であるか判定する判定工程と、前記判定工程により前記操作点のいずれかが指定されたと判定された場合、指定された操作点に応じた編集処理を注目オブジェクトに対して行う編集工程とを備え、前記操作点として、描画オブジェクトの縦方向のサイズを変更するための操作点を表す縦方向サイズ変更マークを含み、前記判定工程により前記縦方向サイズ変更マークが指定されたと判定された場合、前記編集工程は、前記オブジェクトの縦方向のサイズを所望の大きさに変更し、前記判定工程により前記縦方向サイズ変更マークが指定されたと判定された場合、前記縦方向サイズ変更マークが所定の方向に移動されたなら、前記編集工程は、描画オブジェクトに対して水平方向の斜体変形を行う。
【０００９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
［第１の実施の形態］
先ず、本発明の実施の形態である描画オブジェクトの編集プログラムについて詳細に説明する前に、そのプログラムを実行するまでの基本的な処理の流れを図１を用いて説明する。
【００１０】
図１は本描画オブジェクト編集プログラムが動作する画像処理システムの基本的な構成を示すブロック図である。図１において、ＣＰＵ１０１、即ち中央処理装置は、この装置全体の制御及び演算処理等を行うものである。ＲＯＭ２は読み出し専用メモリであり、システム起動プログラム等の記憶領域である。ＲＡＭ１０３はランダムアクセスメモリであり、使用制限のない記憶領域で、様々な処理毎に後出のフローチャートで表される各々のプログラム及びデータがロードされ、実行あるいは処理される領域である。ＫＢＣ１０４はキーボード制御部であり、ＫＢ１０５即ちキーボードよりキー入力データを受け取りＣＰＵ１０１ヘ伝達する。ＣＲＴＣ１９６はディスプレイ装置制御部であり、データを受け取りＣＲＴ１０７ヘ表示する。ＤＫＣ１０８は外部記憶装置制御部であり、ＦＤ即ちフロッピーディスク装置あるいはＨＤ即ちハードディスク装置などの外部記憶装置１０９の制御を行う。ＦＤおよびＨＤ等の外部記憶装置１０９にはプログラム及びデータを記憶させておき、ＣＰＵ１０１は実行時必要に応じて参照したりまたはＲＡＭヘロードする。ＰＤＣ１１０はポインティングデバイス制御部であり、ＰＤ１１１即ちマウスやタブレットなどのポインティングデバイスからの入力データを制御する。システムバス１１２は、上述の構成要素間のデータ等の通路となる。
【００１１】
本画像処理システムは、基本Ｉ／Ｏプログラム、オペレーティングシステム（ＯＳ）、および描画オブジェクト編集プログラムをＣＰＵが実行することにより動作する。基本Ｉ／ＯプログラムはＲＯＭ１０２に書き込まれており、ＯＳはＨＤ１０９２に書き込まれている。そして本システムの電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のイニシャルプログラムロード機能により、ＨＤ１０９２からＯＳがＲＡＭ１０３に読み込まれＯＳの動作が開始される。ＯＳが起動すると、その後ユーザによる指示あるいは予めなされた設定によりＲＡＭにロードされて起動された描画オブジェクト編集プログラムは、ＯＳの下で動作する。
【００１２】
この描画編集プログラムが稼働しているシステムを本実施の形態では画像処理システムと呼び、そのシステムにおいては、画像オブジェクトの作成，編集，表示，印刷等を実現している。描画オブジェクトは、他の画像処理装置や画像読取り装置などからＦＤ１０９１や不図示の通信路を介して読み込んだり、あるいはＫＢ１０５やＰＤ１１１によりオペレータに作成される。本システムはこれら描画オブジェクトについて種々の編集操作を施すことができる。それらの操作のうち、オブジェクトの回転処理及び斜体変形処理について以下で説明する。
【００１３】
本実施の形態の画像処理システムでは、選択を行った描画オブジェクトに対し、回転処理のためのモードを意識させることなく回転処理を実現する。
【００１４】
まず、図２を用いて描画オブジェクトの選択状態の説明を行う。図２（Ａ）は、編集対象となる描画オブジェクトの一例を表す図である。ＣＲＴ１０７の画面上に図２（Ａ）のオブジェクトが表示されている状態で、そのオブジェクトをＰＤ１１１により指示してその選択動作行うと、図１４の手順でオブジェクトの選択処理が行われる。この選択動作は、ＰＤ１１１が例えばマウスであれば、マウスポインタをオブジェクトに重ね、マウスのボタンをダブルクリック（所定時間内に２回ボタンを押すこと）する等の動作である。
【００１５】
図１６において、選択動作が行われると、その時のカーソル位置を含むオブジェクトを選択し（ステップＳ１６１）、選択されたオブジェクトを囲む枠と操作点とを表示する。
【００１６】
この編集対象として選択された描画オブジェクトの表示状態をあらわすのが図２（Ｂ）である。図２（Ｂ）の点▲１▼はこのオブジェクトを回転する際の回転の中心を表し、回転操作により描画オブジェクトはこの点を中心に回転する。回転の中心は、その点上でポインティングデバイスによりドラッグを行うことで任意の位置に移動することが出来る。ドラッグとは、操作対象を選択した状態でカーソルを移動することにより、カーソル移動に伴って操作対象を移動する操作である。ポインティングデバイスとしてマウスを用いた場合には、操作対象にマウスカーソルを重ねた状態でボタンを押し、そのままの状態でカーソルを移動させることでドラッグを行うのが普通である。回転の中心を移動した例を図３に示す。詳しくは後述する。
【００１７】
図２（Ｂ）の線分▲２▼は回転の中心とオブジェクト選択枠の角とを結ぶ線分であり、この線分上でポインティングデバイスによりドラッグを行うことでオブジェクトの回転を行う。ここでは、この線分は回転の中心とオブジェクト選択枠の右上角を結ぶものとするが、回転の中心から結ぶ先はオブジェクト選択枠の何処でも良い。従来通りこの線分上でなく、回転中心上でもないオブジェクト選択枠内でドラッグを行うと、オブジェクトの移動を行うことが出来る。更に、図２（Ｂ）の選択枠上の黒四角の点では、従来から取り入れられた手法による描画オブジェクトに対する拡大縮小変形を行うことが可能である。四角の点上でドラッグを行うと縦横方向同時に拡大縮小変形を行うことが出来、上下の辺の中心の点でのドラッグは縦方向への拡大縮小処理、左右の辺の中心の点でのドラッグは横横方向ヘの拡大縮小処理が実行出来るが、この移動および拡大縮小の方法は広く一般的に使われている手法であり、本実施の形態には直接関係しないので、詳細については説明しない。
【００１８】
次に、図４を用いて回転処理の詳細な処理の流れについて説明する。図４は、図１６の手順で描画オブジェクトを選択した状態でマウスボタンをクリックすることで実行される。
【００１９】
ステップＳ４０１では、現在選択されている描画オブジェクトに対する回転の中心座標値を初期化する。初期の回転の中心座標は、描画オブジェクトの選択枠の中央等、自由に設定して構わない。設定された中心座標値はＲＡＭ１０３上に格納され、プログラム等から必要に応じて参照することが可能である。なお、座標系や座標値の単位などについては、描画オブジェクトを管理するアプリケーションプログラムのデータ管理方法に依存するものであり、ここでは特にその座標系や単位などについては言及しない。
【００２０】
ステップＳ４０２では、マウスなどの代表されるポインティングデバイスの現在位置を取得する。これ以降はポインティングデバイスはマウスであると仮定して説明を行う。ステップＳ４０３ではステップＳ４０２で取得したマウスの座標と、ステップＳ４０１で決定したＲＡＭ１０３に格納されている中心座標との比較を行い、マウスカーソルが回転の中心上にあるかどうかの判定を行う。回転の中心は図２（Ｂ）の▲１▼に示されるように、点ではなく円の領域として表されるものであり、ステップＳ４０１で決定された、ＲＡＭ１０３に格納されている中心座標を中心とする円領域を算出し、その範囲内に入っている場合には、マウスカーソルが回転の中心上にあると判断する。ここで中心上にマウスカーソルがあると判定された場合にはステップＳ４０４へ進み、そうでない場合にはステップＳ４１３へ進む。ステップＳ４０４では、単なる矢印といった通常の形状から、図５に示すような回転の中心を移動することが可能なことを表す形状にマウスカーソルを変え、回転中心を移動することが可能なフラグ情報（移動フラグ）をＲＡＭ１０３上に作成してステップＳ４０５へ進む。このマウスカーソルの形状データは、プログラム中にリソースとして保持してもよく、システムがあらかじめ用意しているものを使用してもよく、そのデータの取得方法に関しては特に規定しない。
【００２１】
ステップＳ４１３では、ステップＳ４０２で取得したマウスの座標が、図２（Ｂ）の回転可能線分▲２▼上にあるかどうかの判定を行う。操作性をより上げるために線分にある程度の幅を持たせ、線分近傍にマウスカーソルがある場合には線分上にあると判断する。線分上にあると判断した場合にはステップＳ４１４へ進み、線分上にない場合には、ステップＳ４０４及びＳ４１４で設定されるフラグ情報をクリアしてステップＳ４０５ヘ進む。ステップＳ４１４では、図６に示すようなオブジェクトを回転可能なことを表す形状にマウスカーソルを変え、描画オブジェクトを回転することが可能であることを示すフラグ情報（回転フラグ）をＲＡＭ１０３上に作成してステップＳ４０５へ進む。このマウスカーソルのデータは、プログラム中にリソースとして保持してもよく、システムがあらかじめ用意しているものを使用してもよく、そのデータの取得方法に関しては特に規定しない。
【００２２】
ステップＳ４０５では、ステップＳ４０４またはステップＳ４１４によってマウスカーソルの形状が変えられたかどうかの判定をフラグ情報（移動フラグ及び回転フラグ）を基に行い、変えられた場合にはステップＳ４０６へ進み、変えられていない場合にはステップＳ４０２へ進む。ステップＳ４０６ではマウスのボタンが押されているかどうかの判定を行う。どのボタンが押されているか、マウスのボタンは幾つかなどは、アプリケーションプログラムの作り方やシステムの構成によるものなので、ここでは特に言及しない。マウスのボタンが押されている場合にはステップＳ４０７へ進み、押されていない場合にはステップＳ４０２へ進む。
【００２３】
ステップＳ４０７では再度現在のマウスカーソルの座標を取得する。ステップＳ４０８ではステップＳ４０４またはステップＳ４１４でＲＡＭ１０３上に作成されたフラグ情報（移動フラグあるいは回転フラグ）を基に、回転中心の移動を行おうとしているのか、描画オブジェクトの回転を行うとしているのかの判定を行う。回転中心の移動の場合にはステップＳ４０９へ進み、描画オブジェクトの回転の場合にはステップＳ４１５へ進む。ステップＳ４０９ではステップＳ４０７で取得した座標に回転中心を移動し、それに伴い移動された回転中心にあわせて図３の様に回転可能線分を書き直す処理を行う。ステップＳ４１０ではマウスのボタンが離されたかどうかの判定を行い、離された場合にはステップＳ４１１へ進み、離されていない場合にはステップＳ４０７へ進む。ステップＳ４１１ではステップＳ４０８で取得した座標値を新たな回転の中心座標としてＲＡＭ１０３上に保持し、ステップＳ４１２へ進む。
【００２４】
ステップＳ４１５ではステップＳ４０１またはステップＳ４１１で設定された回転中心と、ステップＳ４０７で取得したマウスの座標値を用いて描画オブジェクトの回転を行う。回転の例を図７に示す。図７（Ａ）はデフォルトの回転の中心で９０度回転させた場合の例であり、図７（Ｂ）は回転の中心を移動させて９０度回転させた例を表す。ステップＳ４１６ではマウスのボタンが離されたかどうかの判断を行い、離された場合にはステップＳ４１７へ、離されていない場合にはステップＳ４０７へ進む。ステップＳ４１７ではステップＳ４０８で取得したマウスの座標を元に回転を行った結果を描画データに反映する。描画データはＲＡＭ１０３のメモリ上で保持していてもよく、ＦＤやＨＤなどの外部記憶装置１０９に保存しておいてもよく、その方法はアプリケーションプログラムにより異なる。また描画データのフォーマットに関しても同様に、アプリケーションによって異なるため、ここではその詳細については規定しない。
【００２５】
描画データを更新後はステップＳ４１２へ進む。ステップＳ４１２では別の描画オブジェクトが選択されたかどうかの判定を行い、選択されていない場合にはステップＳ４０２へ進み、選択された場合には処理を終了する。
【００２６】
本実施形態の描画オブジェクト編集プログラムは、図４に示される制御手順のフローチャートに基づいてプログラムコード化されたものである。
【００２７】
本実施の形態の場合は、描画オブジェクト編集プログラムおよび関連データは、図１４に示すようにＦＤ１０９１に記録されている。ＦＤ１０９１に記録された描画オブジェクト編集プログラムおよび関連データは、図１５に示すようにＤＫＣ１０８を通じて本システムにロードすることができる。このＦＤをＤＫＣ１０８にセットすると、ＯＳおよび基本Ｉ／Ｏプログラムの制御のもとに本描画オブジェクト編集プログラムおよび関連データがＦＤ１０９１から読み出され、ＲＡＭ１０３にロードされ動作可能となる。
【００２８】
図１３は本描画オブジェクト編集プログラムがＲＡＭ１０３上にロードされ実行可能となった状態のメモリマップを示す図である。
【００２９】
以上説明したように、本実施形態の描画オブジェクト編集プログラムが実行される画像処理システムでは、指定したオブジェクトに対して回転中心の移動操作及び回転操作を施す場合には、そのためのモードを特に指定しなくとも、マウスカーソルを所定位置の位置におくことで、その位置についてそれから行われる操作の種類の指定をさせることができる。そのため、回転中心の移動を示すモードおよび回転を示すモードを指定する必要がなく、オブジェクトを直接操作することでそれぞれの操作を行えるため、操作性を向上させることができる。
【００３０】
本実施の形態では、ＦＤ１０９１から描画オブジェクト編集プログラムおよび関連データを直接ＲＡＭ１０３上にロードして実行させる例を示したが、この他にＦＤ１０９１から描画オブジェクト編集プログラムおよび関連データを一旦ＨＤ１０９２に格納（インストール）しておき、本描画オブジェクト編集制御プログラムを動作させる段にＨＤ１０９２からＲＡＭ１０３上にロードするようにしても良い。
【００３１】
また本描画オブジェクト編集プログラムを記録する媒体は、ＦＤ以外にもＣＤ−ＲＯＭ、ＩＣメモリカード等であってもよい。更に本描画オブジェクト編集制御プログラムをＲＯＭ１０２に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１０１で実行することも可能である。
【００３２】
なお、図４の手順は、情報がボタンが押されていることの情報と、指示位置の情報とがＯＳから供給された場合のものである。ドラッグ操作が終了した後に、ＯＳが、マウスのドラッグが行われたことの情報及びドラッグ前後の座標値を提供する場合には、図４のステップＳ４０２において獲得される座標はドラッグ前の座標となり、ステップＳ４０７で獲得される座標はドラッグ後の座標となる。また、ボタンが押されているか否かのテストをアプリケーションで行う必要はなくなるため、ステップＳ４０６，Ｓ４１０，Ｓ４１６でのテスト処理は不要となる。また、カーソルの変形はＯＳによって行われることになる。
［第２の実施の形態］
本実施の形態は、選択を行った描画オブジェクトに対し、斜体変形のためのモードを意識させることなく斜体変形処理を実現するためのものである。図８は描画オブジェクトが選択された際に、どのポイントをドラッグすれば斜体変形を実行できるかのドラッグポイントを表す図である。図８の▲１▼は通常描画オブジェクトを縦方向に拡大縮小する際に用いられるドラッグポイントであるが、このドラッグポイントを用い、ポインティングデバイスの移動方向を調べ、水平方向にマウスが移動された場合に水平方向の斜体変形を実現する。本実施の形態においても、ポインティングデバイスはマウスであると仮定して説明を行う。図８の▲２▼は通常描画オブジェクトを横方向に拡大縮小する際に用いられるドラッグポイントであるが、このドラッグポイントを用い、ポインティングデバイスの移動方向を調べ、垂直方向にマウスが移動された場合に垂直方向の斜体変形を実現する。
【００３３】
次に図９を用いて斜体変形処理の詳細な処理の流れについて説明を行う。
【００３４】
ステップＳ９０１では、マウスの現在座標位置を取得する。ステップＳ９０２ではステップＳ９０１で取得したマウスの座標が、図８の▲１▼のドラッグポイントかどうかの判定を行う。ドラッグポイントは図８の▲１▼で示されるように、点ではなく四角の領域として表されるものであり、その範囲内に入っている場合には、マウスカーソルが図８の▲１▼のドラッグポイント上にあると判断する。ここで図８の▲１▼のドラッグポイント上にマウスカーソルがあると判定された場合にはステップＳ９０３へ進み、そうでない場合にはステップＳ９１３へ進む。
【００３５】
ステップＳ９０３では、図１０（Ａ）に示すような水平方向への斜体変形が可能なことを表す形状にマウスカーソルを変え、水平方向への斜体変形が可能なことを示すフラグ情報（水平フラグ）をＲＡＭ１０３上に作成してステップＳ９０４へ進む。このマウスカーソルのデータは、プログラム中にリソースとして保持してもよく、システムがあらかじめ用意しているものを使用してもよく、そのデータの取得方法に関しては特に規定しない。
【００３６】
ステップＳ９１３では、ステップＳ９０１で取得したマウスの座標が、図８の▲２▼のドラッグポイントかどうかの判定を行う。ドラッグポイントは図８の▲２▼で示されるように、点ではなく四角の領域として表されるものであり、その範囲内に入っている場合には、マウスカーソルが図８の▲２▼のドラッグポイント上にマウスカーソルがあると判定された場合にはステップＳ９１４へ進み、そうでない場合にはフラグ情報をクリアしてステップＳ９０４へ進む。
【００３７】
ステップＳ９１４では、図１０（Ｂ）に示すようなオブジェクトを垂直方向への斜体変形が可能なことを表す形状にマウスカーソルを変え、描画オブジェクトを垂直方向への斜体変形が可能なことを示すフラグ情報（垂直フラグ）をＲＡＭ１０３上に作成しステップＳ９０４へ進む。このマウスカーソルのデータは、プログラム中にリソースとして保持してもよく、システムがあらかじめ用意しているものを使用してもよく、そのデータの取得方法に関しては特に規定しない。
【００３８】
ステップＳ９０４では、ステップＳ９０３またはステップＳ９１４によってマウスカーソルの形状が変えられたかどうかの判定をフラグ情報（水平フラグ及び垂直フラグ）を基に行い、変えられた場合にはステップＳ９０５へ進み、変えられていない場合にはステップＳ９０１へ進む。ステップＳ９０５ではマウスのボタンが押されているかどうかの判定を行う。どのボタンが押されているか、マウスのボタンは幾つかなどは、アプリケーションプログラムの作り方やシステムの構成によるものなので、ここでは特に言及しない。マウスのボタンが押されている場合にはステップＳ９０６へ進み、押されていない場合にはステップＳ９０１へ進む。
【００３９】
ステップＳ９０６ではボタンが最初に押された座標を、ドラッグ開始点としてＲＡＭ１０３のメモリ上に保持し、ステップＳ９０７へ進む。ステップＳ９０７では現在のマウス座標を取得してＲＡＭ１０３上に保持する。ステップＳ９０８ではステップＳ９０６で取得したＲＡＭ１０３上のドラッグ開始点の座標と、ステップＳ９０７で取得したＲＡＭ１０３上の現在のマウス座標の比較を行い、マウスがドラッグ開始点から移動したかどうかの判断を行う。マウスが動かされたと判断された場合にはステップＳ９０９へ進み、マウスが動かされていない場合にはステップＳ９０７へ進み現在のマウス座標を再度取得する。
【００４０】
ステップＳ９０９ではステップＳ９０６で取得したＲＡＭ１０３上のドラッグ開始点の座標と、ステップＳ９０７で取得したＲＡＭ１０３上の現在のマウス座標を、図１１のマウスの移動方向と変形の種類のパターンに当てはめ、ドラッグ開始点に対して現在の座標がどのエリアに入るかの判定を行い、変形の種類を決定する。ここで、ステップＳ９０３において水平方向についての斜体変形可能のフラグ情報（水平フラグ）がセットされていた場合には図１１（Ａ）の規則を用いて判定を行い、ステップＳ９１４において垂直方向についての斜体変形可能フラグ（垂直フラグ）がセットされていた場合には図１１（Ｂ）の規則を用いて判定を行う。すなわち、水平フラグがセットされた状態で、図１１（Ａ）の「斜体変形」の領域にカーソルが移動されるか、あるいは、垂直フラグがセットされた状態で、図１１（Ｂ）の「斜体変形」の領域にカーソルが移動されると、斜体変形処理と判定される。
【００４１】
斜体変形処理と判定された場合にはステップＳ９１０ヘ進み、拡大縮小処理と判定された場合にはステップＳ９１５へ進む。ステップＳ９１０ではドラッグ開始点の座標値と現在のマウス座標値の差分を用いて図１２に示すような斜体変形処理を実行する。水平方向の斜体変形の場合には、図１２（Ａ）に示すように，ステップＳ９０６で取得したＸ座標とステップＳ９０７あるいはステップＳ９１２で取得したＸ座標の差分を用い、その値分、カーソルの移動方向に応じた方向に、注目オブジェクトを傾かせ、変形する。垂直方向の斜体変形の場合は、水平方向の場合と同じ要領で、図１２（Ｂ）に示すようにＹ座標の差分を用いる。ステップＳ９１１ではマウスのボタンが離されたかどうかの判定を行い、離された場合には斜体変形処理を終了してステップＳ９１８へ進み、離されていない場合にはステップＳ９１２で再度現在のマウス座標を取得し、ステップＳ９１０ヘ進む。
【００４２】
ステップＳ９１５では描画オブジェクトの拡大縮小処理を行う。拡大縮小処理は、図１１（Ａ）および図１１（Ｂ）の「拡大縮小」領域に向けてマウスをドラッグした場合に行われる。図８のポイント▲１▼について、拡大縮小領域へとマウスカーソルをドラッグすると、その方向に応じてオブジェクトは縦方向に拡大／縮小され、ポイント▲２▼をドラッグすると、同様に横方向に拡大／縮小される。ステップＳ９１６ではマウスのボタンが離されたかどうかの判定を行い、離された場合には拡大縮小処理を終了してステップＳ９１８へ進み、離されていない場合にはステップＳ９１７で現在のマウス座標を取得してステップＳ９１５へ進む。ステップＳ９１８では変形の結果を基に描画データの更新を行う。
【００４３】
描画データはＲＡＭ１０３のメモリ上で保持していてもよく、ＦＤやＨＤなどの外部記憶装置１０９に保存しておいてもよく、その方法はアプリケーションプログラムにより異なる。また描画データのフォーマットに関しても同様に、アプリケーションによって異なるため、ここではその詳細については規定しない。描画データを更新後ステップＳ９１９へ進む。ステップＳ９１９では別の描画オブジェクトが選択されたかどうかの判定を行い、選択されていない場合にはステップＳ９０１へ進み、選択された場合には処理を終了する。
【００４４】
本描画オブジェクト編集制御プログラムは図９に示される本実施の形態の制御手順のフローチャートに基づいてプログラムコード化されたものである。
【００４５】
以上のように、本実施形態のオブジェクト編集プログラムは、描画オブジェクト上のカーソル位置及びその移動先に応じて、行われる処理の内容が決定さる。そのため、処理に先んじてモードを指定する必要が無く、操作性を向上させ、描画オブジェクトの編集処理の効率を向上させることができる。
【００４６】
本実施の形態の場合は、描画オブジェクト編集制御プログラムおよび関連データは、図１４に示すようにＦＤ１０９１に記録されている。ＦＤ１０９１に記録された描画オブジェクト編集制御プログラムおよび関連データは、図１５に示すようにＤＫＣ１０８を通じて本システムにロードすることができる。このＦＤ１０９１をＤＫＣ１０８にセットすると、ＯＳおよび基本Ｉ／Ｏプログラムの制御のもとに本描画オブジェクト編集制御プログラムおよび関連データがＦＤ１０９１から読み出され、１０３ＲＡＭにロードされ動作可能となる。
【００４７】
図１３は本描画オブジェクト編集制御プログラムがＲＡＭ１０３上にロードされ実行可能となった状態のメモリマップを示す図である。
【００４８】
本実施の形態では、ＦＤ１０９１から描画オブジェクト編集制御プログラムおよび関連データを直接ＲＡＭ１０３上にロードして実行させる例を示したが、この他にＦＤ１０９１から描画オブジェクト編集制御プログラムおよび関連データを一旦ＨＤ１０９２に格納（インストール）しておき、本描画オブジェクト編集制御プログラムを動作させる段にＨＤ１０９２からＲＡＭ１０３上にロードするようにしても良い。
【００４９】
また本描画オブジェクト編集制御プログラムを記録する媒体は、ＦＤ以外にもＣＤ−ＲＯＭ、ＩＣメモリカード等であってもよい。更に本描画オブジェクト編集制御プログラムをＲＯＭ１０２に記録しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ１０１で実行することも可能である。
【００５０】
なお、図９の手順は、情報がボタンが押されていることの情報と、指示位置の情報とがＯＳから供給された場合のものである。ドラッグ操作が終了した後に、ＯＳが、マウスのドラッグが行われたことの情報及びドラッグ前後の座標値を提供する場合には、図９のステップＳ９０１において獲得される座標はドラッグ前の座標となり、ステップＳ９１２及びステップＳ９１７で取得される座標はドラッグ後の座標となる。また、カーソルの変形はＯＳで行うため、ステップＳ９０２−Ｓ９０４，Ｓ９１３−Ｓ９１４は不要となる。また、ボタンが押されているか否かのテストをアプリケーションで行う必要はなくなるため、ステップＳ９０５〜Ｓ９０８，ステップＳ９１１，Ｓ９１２，Ｓ９１６，Ｓ９１７も不要となる。また、ステップＳ９０９におけるテストは、ドラッグ後の座標を対象として行われることになる。
［第３の実施の形態］
第３の実施の形態の画像処理システムにおける描画オブジェクト編集プログラムによる処理手順を図１７，１８に示す。本実施形態のシステム構成は第１及び第２の実施の形態のシステムと同様である。図１７，１８は図４と図９の手順を合成したもので、描画オブジェクトに対して、図２（Ｂ）におけるポイント▲１▼あるいは線分▲２▼をドラッグした場合には第１の実施形態の要領で回転中心の移動あるいはオブジェクトの回転を行い、図８におけるポイント▲１▼あるいは▲２▼をそらッ擬した場合には、第２の実施の形態の要領でオブジェクトの斜体変形あるいは拡大縮小処理を行う。
【００５１】
図１７及び図１８において、図４あるいは図９と共通する処理にはそれらと同じ符号を付与してある。そこで、以下ではそれら共通する部分の説明は省略し、異なる部分を中心として処理手順を説明する。
【００５２】
表示されたオブジェクトに対して図１６の手順で選択し、マウスボタンをクリックすると、図１７の処理が開始される。図１７においては、図４と異なり、ステップＳ４１３において獲得された座標が回転線分上ににないと判定された場合に、図１７では図１８のステップＳ９０２へと分岐する。これに伴い、カーソル形状が変わらない場合には図１８のステップＳ９０２へと分岐してしまうため、図４のステップＳ４０５におけるチェックは不要となる。すなわち、図１７では、ドラッグの開始座標がオブジェクトの回転中心にあるか、あるいは回転可能線分上にあるかすれば、第１の実施の形態と同じ手順の処理を行い、そう出なければ図１８に分岐する。
【００５３】
図１８では、図１７のステップＳ４０１で取得されたドラッグ開始時のカーソルの座標に基づいて、それが水平斜体変形か垂直斜体変形か、あるいは拡大縮小処理か、何れかの処理に該当するか判定し、第２の実施形態の処理と同様の処理を行う。ただし、図１８のステップＳ９１３においては、ドラッグ開始位置が斜体変形を行わせるための位置でない場合には、その位置に応じた他の処理（不図示）を行うためにステップＳ１８１へ分岐し、そこで適当な処理を行った後に他の描画オブジェクトが選択されたか判定する。選択されていれば処理を終了し、選択されていなければ図１７のステップＳ４０２に分岐する。図１８のステップＳ９０５及びステップＳ９１９についても同様である。なお、ステップＳ１８１における処理の例として、縦横両方向同時にオブジェクトを拡大・縮小する操作がある。図８のポイント▲３▼が縦横同時変倍のための操作点である。ポイント▲３▼がドラッグされたなら、それは拡大縮小処理であるとみなして、ドラッグされた先のアドレスへと指定された操作点▲３▼を移動し、オブジェクトを描画しなおす。
【００５４】
以上の手順で処理を行うことで、本実施形態の画像処理システムは、ドラッグを開始した位置に応じて、回転や斜体変形等のモードを指定しなくとも所望の操作をオブジェクトに対して施すことができる。そのため、操作性が向上し、オブジェクト編集の処理効率を向上させることができる。
【００５５】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【００５６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【００５７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００５９】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６０】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６１】
【発明の効果】
以上説明したように、本発明は、描画オブジェクトの編集操作を行う際に、回転モード、斜体変形モード等のモードを意識せずに操作を行うことが可能となり、操作性が向上し、操作者の生産性を高めることができる。
【００６２】
【図面の簡単な説明】
【図１】画像処理システムのブロック図である。
【図２】描画オブジェクトと選択状態を表す図である。
【図３】回転の中心を移動した例を表す図である。
【図４】第１の実施の形態における描画オブジェクト編集プログラムの処理の流れを表す図である。
【図５】移動可能なことを表すカーソルの例を表す図である。
【図６】回転可能なことを表すカーソルの例を表す図である。
【図７】回転の例を表す図である。
【図８】斜体変形のためのドラッグポイントを表す図である。
【図９】第２の実施の形態における描画オブジェクト編集プログラムの処理の流れを表す図である。
【図１０】斜体変形が可能なことを表すカーソルの例を表す図である。
【図１１】マウスの移動方向と変形の種類を表す図である。
【図１２】斜体変形の例を表す図である。
【図１３】本システムのメモリマップを表す図である。
【図１４】本描画オブジェクト編集制御プログラムを記録した媒体の記録内容の構成図である。
【図１５】描画オブジェクト編集プログラムを記録した媒体を通して本描画オブジェクト編集プログラムをシステムに供給することを示す図である。
【図１６】オブジェクトを選択する手順のフローチャートである。
【図１７】第３の実施の形態における描画オブジェクト編集プログラムの処理の流れを表す図である。
【図１８】第３の実施の形態における描画オブジェクト編集プログラムの処理の流れを表す図である。
【図１】
0003862336.tif 000002
【図２】
0003862336.tif 000003
【図３】
0003862336.tif 000004
【図４】
0003862336.tif 000005
【図５】
0003862336.tif 000006
【図６】
0003862336.tif 000007
【図７】
0003862336.tif 000008
【図８】
0003862336.tif 000009
【図９】
0003862336.tif 000010
【図１０】
0003862336.tif 000011
【図１１】
0003862336.tif 000012
【図１２】
0003862336.tif 000013
【図１３】
0003862336.tif 000014
【図１４】
0003862336.tif 000015
【図１５】
0003862336.tif 000016
【図１６】
0003862336.tif 000017
【図１７】
0003862336.tif 000018
【図１８】
0003862336.tif 000019