(57)【特許請求の範囲】
【請求項１】
イメージリーダからイメージデータを取り込む取り込み手段と、
位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第１格納手段と、
位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第２格納手段と、
前記第１及び第２格納手段に格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の右上、右下の場合、または左上、左下の場合はそれぞれのＸ座標に基づきイメージリーダで取り込む時の原稿が斜めであるか判別する判別手段と、
前記判別手段によりイメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転する回転手段とを有することを特徴とする図形編集装置。
【請求項２】
図形編集装置が実行する図形編集方法であって、
イメージリーダからイメージデータを取り込み、
位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置をメモリに格納し、
位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置をメモリに格納し、
前記メモリに格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の左上、右上の場合、または左下、右下の場合はそれぞれのＹ座標に基づきイメージリーダで取り込む時の原稿が斜めであるか判別し、
イメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転することを特徴とする図形編集方法。
【請求項３】
イメージリーダからイメージデータを取り込む取り込みステップと、
位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第１格納ステップと、
位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第２格納ステップと、
前記第１及び第２格納ステップにより格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の左上、右下の場合、または左下、右上の場合はそれぞれのＸ座標の差と原稿幅、あるいはそれぞれのＹ座標の差と原稿高さに基づきイメージリーダで取り込む時の原稿が斜めであるか判別する判別ステップと、
前記判別ステップによりイメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転する回転ステップとをコンピュータに実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、イメージデータを取り込んで編集する図形編集装置、図形編集方法および記憶媒体に関する。
【０００２】
【従来の技術】
従来、原稿から取り込んだイメージデータである原字データから輪郭を抽出し、アウトラインフォントを生成する場合、使用するプログラムにより定められた原稿フォーマット（原稿サイズ、文字の大きさ、貼り付け位置など）にしたがって原字を貼っていた。
【０００３】
また、イメージデータ取り込み時に原稿が曲がっている場合、イメージデータの取り込みを再度行っていた。さらに、原稿の読み取り範囲は個々のスキャナにより異なり、使用するスキャナに合わせて原稿を微妙にずらしていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の図形編集装置では、処理すべき原稿が使用するプログラムによって定められる原稿フォーマットと異なる場合、文字を配置し直す必要があった。
【０００５】
日本語の場合、非漢字、ＪＩＳ第一水準、ＪＩＳ第二水準で８０００文字を越えるので、その作業には非常に多くの時間がかかり、また、貼り直しによる文字の位置のずれや、貼り忘れなどのミスが発生する可能性があった。
【０００６】
また、イメージデータ取り込みの際、スキャナ上の原稿を微妙にずらすという方法では、原稿の相対位置がずれてしまう可能性が大きかった。
【０００７】
さらに、イメージ取り込み作業と図形編集作業とが分業化されている場合、イメージ取り込み時点でしかイメージデータを補正できない状況では、作業効率が低下していた。
【０００８】
そこで、本発明は、イメージデータ取り込みの作業効率の向上を図ることができる図形編集装置、図形編集方法および記憶媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に係る図形編集装置は、イメージリーダからイメージデータを取り込む取り込み手段と、位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第１格納手段と、位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第２格納手段と、前記第１及び第２格納手段に格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の右上、右下の場合、または左上、左下の場合はそれぞれのＸ座標に基づきイメージリーダで取り込む時の原稿が斜めであるか判別する判別手段と、前記判別手段によりイメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転する回転手段とを有することを特徴とする。
請求項２に係る図形編集方法は、図形編集装置が実行する図形編集方法であって、イメージリーダからイメージデータを取り込み、位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置をメモリに格納し、位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置をメモリに格納し、前記メモリに格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の左上、右上の場合、または左下、右下の場合はそれぞれのＹ座標に基づきイメージリーダで取り込む時の原稿が斜めであるか判別し、イメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転することを特徴とする。
請求項３に係る記憶媒体は、イメージリーダからイメージデータを取り込む取り込みステップと、位置合せ第１位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第１格納ステップと、位置合せ第２位置の指定を受付け、指定された位置がディスプレイの中央になるように表示し、指定位置の変更を受付け、指定位置の変更がある場合、指定位置を格納する第２格納ステップと、前記第１及び第２格納ステップにより格納された２つの指定位置がイメージリーダで取り込む対象となる原稿の左上、右下の場合、または左下、右上の場合はそれぞれのＸ座標の差と原稿幅、あるいはそれぞれのＹ座標の差と原稿高さに基づきイメージリーダで取り込む時の原稿が斜めであるか判別する判別ステップと、前記判別ステップによりイメージリーダで取り込む時の原稿が斜めであると判別された場合、原稿の傾きを補正するためにイメージデータを回転する回転ステップとをコンピュータに実行させるプログラムを記憶したことを特徴とする。
【００２７】
【発明の実施の形態】
本発明の図形編集装置、図形編集方法および記憶媒体の実施の形態について説明する。図１は実施形態における図形編集装置の基本的な構成を示すブロック図である。図において、１は中央処理装置（ＣＰＵ）であり、装置全体の制御や演算処理等を行う。２は読み出し専用メモリ（ＲＯＭ）であり、システム起動プログラムや文字パターンデータ等の記憶領域である。３はランダムアクセスメモリ（ＲＡＭ）であり、使用制限のないデータ記憶領域であり、様々な処理を実行する度にプログラムおよびデータがロードされる領域である。
【００２８】
４はキーボード制御部（ＫＢＣ）であり、キーボード（ＫＢ）５からのキー入力データ、マウス等のポインティングデバイス（ＰＤ）１２からメニューの指示等などを受け取ってＣＰＵ１に伝達する。６はディスプレイ（表示）制御部（ＣＲＴＣ）であり、ＲＡＭ３に格納された表示情報、すなわち文字データから変換されたビットマップイメージを読み出してＣＲＴ７に転送する。
【００２９】
７はディスプレイ装置（ＣＲＴ）であり、ＣＲＴＣ６からデータを受け取って表示する。８はディスク制御部（ＤＫＣ）であり、外部記憶装置９のデータ伝送等を制御する。９はフロッピーディスク装置（ＦＤ）９ａ、ハードディスク装置（ＨＤ）９ｂ、ＣＤ−ＲＯＭ９ｃ等の外部記憶装置である。外部記憶装置９はプログラムおよびデータが記憶された記憶媒体の読出制御を行う。ＣＰＵ１は必要に応じて外部記憶装置９の記憶媒体に記憶されたデータを参照したり、外部記憶装置９の記憶媒体に記憶されたプログラムをＲＡＭ３にロードする。１０はプリンタ制御部（ＰＲＴＣ）であり、プリンタ装置（ＰＲＴ）１１の動作を制御する。１３はシステムバスであり、各部間でのデータの通路となる。１４はイメージリーダ制御部（ＩＲＣ）であり、イメージリーダ装置（ＩＲ）１５の動作制御を行う。
【００３０】
図２は外部記憶装置９の記憶媒体に格納されたプログラムがロードされて実行可能となった状態のＲＡＭ３およびＲＯＭ２のメモリマップを示す図である。メモリマップには、基本Ｉ／Ｏプログラム２１０、オペレーティングシステム２１１、後述する図形編集プログラムなどのアプリケーション２１２、関連データ２１３、ワークエリア２１４などが割り当てられている。
【００３１】
基本Ｉ／Ｏプログラム２１０、ウインドウシステム等のオペレーティングシステム２１１およびアプリケーション２１２がＣＰＵ１によって実行されることにより、図形編集動作が行われる。
【００３２】
ここで、基本Ｉ／Ｏプログラム２１０はＲＯＭ２に格納されている。オペレーティングシステム２１１はハードディスク（ＨＤ）９ｂに格納されており、電源がＯＮされた時、基本Ｉ／Ｏプログラム２１０中のＩＰＬ（イニシャライズプログラムローディング）機能によりＨＤ９ｂからオペレーティングシステム２１１がＲＡＭ３に読み込まれ、実行開始となる。
【００３３】
図形編集プログラムおよび関連データは、ＦＤ９ａあるいはＣＤ−ＲＯＭ９ｃから一旦、ＨＤ９ｂにインストールされた後、ＨＤ９ｂからＲＡＭ３にロードされて実行可能な状態となる。また、ＨＤ９ｂにインストールせず、ＦＤ９ａあるいはＣＤ−ＲＯＭ９ｃから直接ＲＡＭ３にロードして実行させることも可能である。尚、図形編集プログラムは、図１２、図１３、図１６、図１８および図１９に示すフローチャートに基づいてプログラムコード化されたものである。
【００３４】
図３はＦＤ９ａの記憶媒体１２３を装置本体１２１に装備された記憶媒体挿入口１２２に挿入することで記憶媒体に格納された図形編集プログラムおよび関連データが装置本体１２１に読み込まれる様子を示す図である。このように、ＦＤ９ａあるいはＣＤ−ＲＯＭ９ｃなどの記憶媒体１２３から図形編集プログラムおよび関連データを一旦、ＨＤ９ｂにインストールし、さらに、ＨＤ９ｂからＲＡＭ３にロードすることにより、図形編集プログラムは実行可能となる。尚、前述したように、ＨＤ９ｂにインストールせず、直接、ＦＤ９ａあるいはＣＤ−ＲＯＭ９ｃからＲＡＭ３にロードして実行することも可能である。
【００３５】
図４は図形編集プログラムおよび関連データが記録されたＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３のメモリマップを示す図である。ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３には、ボリューム情報１１１、ディレクトリ情報１１２、図形編集プログラム実行ファイル１１３、図形編集プログラム関連データファイル１１４などが記録されている。
【００３６】
図５は原稿フォーマットを決定するパラメータを示す図である。図形はパラメータである切り出し幅および切り出し高さにしたがって切り出されて分割される。図６は図５の原稿フォーマットにしたがって文字を配置した原稿を示す図である。
【００３７】
図７、図８および図９を用いて、データ格納形式を示す。図７は原稿フォーマットデータのＨＤ９ｂ上における格納形式を示す図である。横方向図形数は横方向に配置する図形の数、縦方向図形数は縦方向に配置する図形の数である。図形並び方向は水平、垂直のいずれかであり、図形開始位置は原稿中の左上、右上のいずれの図形が一番目であるかを示すものである。
【００３８】
図形並び方向が垂直であり、図形開始位置が左上である場合、図６に示した原稿の例では、「永」、「闘」、「紙」、「酬」、「あ」、「愛」、「機」、・・・の順に順序付けられる。図形開始位置が左上である場合、値０、右上である場合、値１であり、図形並び方向は水平である場合、値０、垂直である場合、値１である。また、位置、幅、高さは解像度（ｄｏｔ／ｉｎｃｈ）に依存しない単位、つまりインチであるとし、原稿の左上を基準位置とする。
【００３９】
図８はイメージデータのＨＤ９ｂ上における格納形式を示す図である。ヘッダ情報として解像度、縦横ピクセル数などが格納されている。本実施形態では、２値のイメージデータを例として示す。イメージデータは、ＯＮのとき値１、ＯＦＦのとき値０として、１ピクセル当たり１ドットで表現される。
【００４０】
図９は１図形毎に分割されたイメージデータのＨＤ９ｂ上における格納形式を示す図である。図形ＮＯ．は、特開平４−９３８８８号公報の「図形処理方法」に記載されているように、アウトライン生成時の文字コード割り当て順序の決定に使用される。
【００４１】
図１０および図１１はＲＡＭ３に格納されるデータの形式を示す図である。図１２はイメージデータ取り込み処理手順を示すフローチャートである。この処理プログラムは、図形編集プログラムの一部であり、前述したように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３に格納され、ＨＤ９ｂに一旦インストールされてから、あるいは直接にＲＡＭ３にロードされた後、ＣＰＵ１によって実行される。
【００４２】
まず、ＫＢ５またはＰＤ１２よりイメージ取り込み先の指定を受け付ける（ステップＳ１２０１）。指定を受け付けた取り込み先がファイルであるか否かを判別し（ステップＳ１２０２）、ファイルであると判別された場合、ファイル名称の指定を受け付け（ステップＳ１２０３）、ＨＤ９ｂからＤＫＣ８を介して解像度、イメージ幅、高さをそれぞれ図１０（ｃ）の変数ｓｃａｎＤＰＩ、図１１（ａ）の変数ｉｍｇｗ、同図（ｃ）の変数ｉｍｇ＿ｈに格納する（ステップＳ１２０４）。
【００４３】
また、イメージデータは１ピクセルを１ドットとして表現できるので、格納するために必要な領域サイズは次の通りとなる。１スキャンライン分のデータを格納するために必要なバイト数（ｉｍｇｗ＋７）／８を図１１（ｂ）の変数ｗ＿ｉｎ＿ｂｙｔｅに格納する。ｗ＿ｉｎ＿ｂｙｔｅ×ｉｍｇ＿ｈ分の領域２つをＲＡＭ３上に確保し、それぞれ図１１（ｆ）の領域ｉｍｇ［］、同図（ｇ）の領域ｎｅｗｉｍｇ［］とする。そして、イメージデータをＨＤ９ｂより読み込み、図１１（ｆ）の領域ｉｍｇ［］に格納する。
【００４４】
一方、ステップＳ１２０２で取り込み先がイメージリーダであると判別された場合、イメージリーダ（ＩＲ）１５からイメージリーダ制御部（ＩＲＣ）１４を介してイメージデータを取り込む。取り込まれたイメージデータはステップＳ１２０４の処理と同様、図１０（ｃ）の変数ｓｃａｎＤＰＩ、図１１（ａ）の変数ｉｍｇｗ、同図（ｂ）の変数ｗ＿ｉｎ＿ｂｙｔｅ、同図（ｃ）の変数ｉｍｇ＿ｈ、同図（ｆ）の領域ｉｍｇ［］に格納される。
【００４５】
図１３はフォーマット指定処理手順を示すフローチャートである。この処理プログラムは、図形編集プログラムの一部であり、前述したように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３に格納され、ＨＤ９ｂに一旦インストールされてから、あるいは直接にＲＡＭ３にロードされた後、ＣＰＵ１によって実行される。
【００４６】
まず、ＫＢ５またはＰＤ１２よりフォーマット指定方法を受け付ける（ステップＳ１３０１）。フォーマットの指定がファイルからのデータ取り込みである場合、図１０（ａ）の変数ｆｌａｇを値１に設定し、フォーマットの指定がオペレーションによる場合、変数ｆｌａｇを値０に設定する。
【００４７】
変数ｆｌａｇが値１でファイルからのデータ取り込みであるか否かを判別し（ステップＳ１３０２）、ファイルからのデータ取り込みであると判別された場合、ファイル名の指定をＫＢ５またはＰＤ１２より受け付け、図１０（ｂ）の変数ｆｉｌｅｎａｍｅに格納する（ステップＳ１３０３）。
【００４８】
ＨＤ９ｂからＤＫＣ８を介してファイルを読み込み（ステップＳ１３０４）、図１０（ｄ）の変数ｃｅｎｔｅｒＸから同図（ｏ）の変数ｄｉｖＨｅｉｇｈｔまでに格納する。ここで、変数名とデータ内容の対応は次の通りである。
【００４９】
（ｄ）ｃｅｎｔｅｒＸ  左上図形中心Ｘ
（ｅ）ｃｅｎｔｅｒＹ  左上図形中心Ｙ
（ｆ）Ｗｏｆｆｓｅｔ  横方向送り量
（ｇ）Ｈｏｆｆｓｅｔ  縦方向送り量
（ｈ）Ｗｉｄｔｈ      図形幅
（ｉ）Ｈｅｉｇｈｔ    図形高さ
（ｊ）ＷＮｕｍｂｅｒ  横方向図形数
（ｋ）ＨＮｕｍｂｅｒ  縦方向図形数
（ｌ）Ｏｒｉｇｉｎ    図形開始位置
（ｍ）Ｄｉｒｅｃｔｉｏｎ  図形並び方向
（ｎ）ｄｉｖＷｉｄｔｈ    切り出し幅
（ｏ）ｄｉｖＨｅｉｇｈｔ  切り出し高さ
そして、ＣＲＴ７にフォーマットを表示する（ステップＳ１３０５）。図１４はＣＲＴ７に表示されたフォーマットを示す図である。図において、矢印ｍは図形開始位置と図形並び方向を示す。図１４の例では、図形開始位置が左上、図形並び方向が水平であることが示されている。個々の文字を囲む枠は切り出し枠である。
【００５０】
ＣＲＴ７にフォーマットを表示する場合、まず、図１０（ｄ）の変数ｃｅｎｔｅｒＸ〜同図（ｉ）の変数Ｈｅｉｇｈｔ、同図（ｎ）の変数ｄｉｖＷｉｄｔｈ、同図（ｏ）の変数ｄｉｖＨｅｉｇｈｔに解像度ｓｃａｎＤＰＩをかけ、単位系をインチからドットに変換して再び格納する。
【００５１】
ｉ＝０からＷＮｕｍｂｅｒ−１，ｊ＝０からＨＮｕｍｂｅｒ−１における切り出し枠の左上座標は、つぎの通りである。
【００５２】
Ｘ１＝ｃｅｎｔｅｒＸ＊ｉ−ｄｉｖＷｉｄｔｈ／２
Ｙ１＝ｃｅｎｔｅｒＹ＊ｊ−ｄｉｖＨｅｉｇｈｔ／２
また、切り出し枠の右下座標は、つぎの通りである。
【００５３】
Ｘ２＝ｃｅｎｔｅｒＸ＊ｉ＋ｄｉｖＷｉｄｔｈ／２
Ｙ２＝ｃｅｎｔｅｒＹ＊ｊ＋ｄｉｖＨｅｉｇｈｔ／２
そして、領域ｉｍｇ［］に重ねあわせて矩形を表示する。
【００５４】
（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）の領域ｉｍｇ［］の対応する位置は、それぞれｉｍｇ［Ｙ１＊ｗ＿ｉｎ＿ｂｙｔｅ＋（Ｘ１＋７）／８］のＸ１％８（Ｘ１を８で割った余り）ビット目、ｉｍｇ［Ｙ２＊ｗ＿ｉｎ＿ｂｙｔｅ＋（Ｘ２＋７）／８］のＸ２％８（Ｘ２を８で割った余り）ビット目である。
【００５５】
一方、ステップＳ１３０２でファイルからのデータ取り込みでない場合、オペレーションによるフォーマットの指定（パラメータ受け付け）を行う（ステップＳ１３０６）。図１５はフォーマット指定画面を示す図である。このフォーマット指定画面は、ＫＢ５またはＰＤ１２を用いたオペレーションによるフォーマット指定を受け付ける際、表示される。このフォーマット指定画面には、中心Ｘ座標、中心Ｙ座標、横送り、縦送り、図形幅、図形高さ、切り出し幅、切り出し高さ、並び方向、開始位置、横図形数、縦図形数の入力項目が設けられている。各入力項目には数値が入力される。また、数値を入力する代わりに、図６に示すような原稿イメージの全体または一部を表示し、ＰＤ１２により指定することで入力してもよい。ＰＤ１２による指定方法としてはクリックやドラッグが挙げられる。そして、オペレーションにより指示されたフォーマットデータは図１０（ｄ）の変数ｃｅｎｔｅｒＸから同図（ｏ）の変数ｄｉｖＨｅｉｇｈｔに格納される。このようなオペレーションによるフォーマットの指定を行った後、ステップＳ１３０５の処理に移行する。
【００５６】
図１６は補正処理手順を示すフローチャートである。この処理プログラムは、図形編集プログラムの一部であり、前述したように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３に格納され、ＨＤ９ｂに一旦インストールされてから、あるいは直接にＲＡＭ３にロードされた後、ＣＰＵ１によって実行される。
【００５７】
図１０のフォーマットデータから原稿の左上、左下、右上、右下の位置を計算し、図１１（ｉ）の領域ｘｘ［ｉ］、ｙｙ［ｉ］に格納する（ステップＳ１４０１）。ここで、ｉが値０であるとき左上の位置、値１であるとき左下の位置、値２であるとき右上の位置、値３であるとき右下の位置を示し、各領域ｘｘ［ｉ］、ｙｙ［ｉ］は以下の式で表される。
【００５８】
ｘｘ［０］＝ｃｅｎｔｅｒＸ−Ｗｏｆｆｓｅｔ／２
ｙｙ［０］＝ｃｅｎｔｅｒＹ−Ｈｏｆｆｓｅｔ／２
ｘｘ［１］＝ｘｘ［０］
ｙｙ［１］＝ｃｅｎｔｅｒＹ＋Ｈｏｆｆｓｅｔ＊（ＨＮｕｍｂｅｒ−１）＋Ｈｏｆｆｓｅｔ／２
ｘｘ［２］＝ｃｅｎｔｅｒＸ＋Ｗｏｆｆｓｅｔ＊（ＷＮｕｍｂｅｒ−１）＋Ｗｏｆｆｓｅｔ／２
ｙｙ［２］＝ｙｙ［０］
ｘｘ［３］＝ｘｘ［２］
ｙｙ［３］＝ｙｙ［１］
つづいて、位置合わせ第一位置の指定をＫＢ５またはＰＤ１２より受け付ける（ステップＳ１４０２）。図１１（ｈ）の領域ｉｐｏｓ［０］に左上のとき値０、左下のとき値１、右上のとき値２、右下のとき値３を格納する。領域ｉｍｇ［］の領域ｉｐｏｓ［０］の値に応じた位置がＣＲＴ７の中央になるように表示し、ＫＢ５またはＰＤ１２より指定位置の変更を受け付ける（ステップＳ１４０３）。図１７は指定位置が左上である場合の表示を示す図である。図中、左上の十字線（図１７の直線ｃ、ｄの交差部分）は図１０のフォーマットデータから計算された原稿の左上位置（図１７のｂ点）を示す領域ｘｘ［０］，ｙｙ［０］を通る直線である。また、図１７のａ点は指定位置である。
【００５９】
そして、指定位置の変更があるか否かを判別し（ステップＳ１４０４）、指定位置の変更なしと判別された場合、ステップＳ１４０６に移行し、指定位置の変更ありと判別された場合、指定位置（図１７のａ点）を図１１（ｈ）の領域ｘｐｏｓ［０］，ｙｐｏｓ［０］に格納し、図１１（ｉ）の領域ｘｘ［０］，ｙｙ［０］をＸ方向にｘｐｏｓ［０］−ｘｘ［ｉｐｏｓ［０］］、Ｙ方向にｙｐｏｓ［０］−ｙｙ［ｉｐｏｓ［０］］だけずらす（ステップＳ１４０５、図１７のｂ点→ａ点）。
【００６０】
つづいて、位置合わせ第二位置の指定をＫＢ５またはＰＤ１２から受け付ける（ステップＳ１４０６）。図１１（ｈ）の領域ｉｐｏｓ［１］に左上のとき値０、左下のとき値１、右上のとき値２、右下のとき値３を格納する。
【００６１】
領域ｉｍｇ［］の領域ｉｐｏｓ［１］の値に応じた位置がＣＲＴ７の中央になるように表示し、ＫＢ５またはＰＤ１２より指定位置の変更を受け付ける（ステップＳ１４０７）。第一位置指定と同様、ｘｘ［ｉｐｏｓ［１］］，ｙｙ［ｉｐｏｓ［１］］を通る十字線をあわせて表示する。
【００６２】
指定位置の変更があるか否かを判別し（ステップＳ１４０８）、指定位置の変更があると判別された場合、指定位置をｘｐｏｓ［１］，ｙｐｏｓ［１］に格納する（ステップＳ１４０８Ａ）。そして、原稿が斜めであるか否かを判別する（ステップＳ１４０９）。すなわち、２つの指定位置が左上／左下、右上／右下である場合、ｘｐｏｓ［０］とｘｐｏｓ［１］が異なると、斜めであると判別する。また、２つの指定位置が左上／右上、左下／右下である場合、ｙｐｏｓ［０］とｙｐｏｓ［１］が異なると、斜めであると判別する。さらに、２つの指定位置が左上／右下、左下／右上の場合、ｘｐｏｓ［１］−ｘｐｏｓ［０］の絶対値が原稿幅、即ちｘｘ［３］−ｘｘ［０］と異なると、あるいはｙｐｏｓ［１］−ｙｐｏｓ［０］の絶対値が原稿高さ、即ちｙｙ［１］−ｙｙ［０］と異なると、斜めであると判別する。
【００６３】
ステップＳ１４０９で斜めでないと判別された場合、そのままステップＳ１４１１に進み、斜めであると判別された場合、第一位置の指定位置を回転中心としてイメージデータを回転させる（ステップＳ１４１０）。
【００６４】
水平、垂直のそれぞれの場合で、ａｒｃ  ｔａｎ（ａｔａｎ）を求めると、回転角度はつぎのようになる。
【００６５】
水平の場合（左上／右上、左下／右下、左上／右下、左下／右上）
Θ＝ａｔａｎ（（ｙｐｏｓ［０］−ｙｐｏｓ［１］）
／  （ｘｐｏｓ［０］−  ｘｐｏｓ［１］））
垂直の場合（左上／左下、右上／右下、左上／右下、左下／右上）
Θ＝−ａｔａｎ（  ｘｐｏｓ［１］−  ｘｐｏｓ［０］）
／  （ｙｐｏｓ［１］−ｙｐｏｓ［０］）
２つの指定位置が左上／右下、左下／右上の場合、Ｘ座標、Ｙ座標ともに異なり、さらにＸ座標を基準として計算したΘとＹ座標を基準として計算したΘが異なる場合がある。この場合は、その旨のメッセージをＣＲＴ７に表示し、ステップＳ１４０１に戻るようにしてもよい。
【００６６】
ｃｏｓΘ，ｓｉｎΘの値をそれぞれ図１１（ｄ）の変数ｃｏｓｔｈ、同図（ｅ）の変数ｓｉｎｔｈに格納する。イメージデータの回転は、一般に知られている回転後のイメージデータから順次決定する方法で行うので、角度を反転させている。
【００６７】
まず、回転後のイメージ格納領域ｎｅｗｉｍｇ［ｉ］，ｉ＝０からｗ＿ｉｎ＿ｂｙｔｅ＊ｉｍｇ＿ｈ−１まで、すべてのビットをＯＦＦにするために値０にクリアする。イメージ回転について簡単に示す。
【００６８】
回転前のＸ座標は数式（１）に示す通りである。
【００６９】
ｃｏｓｔｈ＊（ｊ＊８＋ｋ−ｘｐｏｓ［０］）
−ｓｉｎｔｈ＊（ｉ−ｙｐｏｓ［０］）＋ｘｐｏｓ［０］  ……  （１）
回転前のＹ座標は数式（２）に示す通りである。
【００７０】
ｓｉｎｔｈ＊（ｊ＊８＋ｋ−ｘｐｏｓ［０］）
＋ｃｏｓｔｈ＊（ｉ−ｙｐｏｓ［０］）＋ｙｐｏｓ［０］  ……  （２）
ここで、ｉ＝０〜ｉｍｇ＿ｈ−１，ｊ＝０〜ｗ＿ｉｎ＿ｂｙｔｅ−１，ｋ＝０〜７である。
【００７１】
座標位置の領域ｉｍｇ［］のビットがＯＮである場合、ｉ，ｊ，ｋが示す領域ｎｅｗｉｍｇ［］の座標位置のビットをＯＮにする。回転終了後、領域ｎｅｗｉｍｇ［ｉ］を領域ｉｍｇ［ｉ］（ｉ＝０，ｗ＿ｉｎ＿ｂｙｔｅ＊ｉｍｇ＿ｈ−１）に格納する。
【００７２】
そして、フォーマットパラメータの変更とフォーマットの再表示を行う（ステップＳ１４１１）。変更された原稿の左上位置（ｘｘ［０］，ｙｙ［０］）からフォーマットデータの図形の左上位置のＸ，Ｙ座標を数式（３）に示す通り変更する。
【００７３】
ｃｅｎｔｅｒＸ＝ｘｘ［０］−Ｗｏｆｆｓｅｔ／２
ｃｅｎｔｅｒＹ＝ｙｙ［０］−Ｈｏｆｆｓｅｔ／２    ……  （３）
ステップＳ１４１１では、領域ｉｍｇ［］について先に示したステップＳ１３０５の処理（パラメータ単位変換を除き）と同様の手順でフォーマットを表示し直す。
【００７４】
図１８はイメージデータ分割処理手順を示すフローチャートである。この処理プログラムは、図形編集プログラムの一部であり、前述したように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３に格納され、ＨＤ９ｂに一旦インストールされてから、あるいは直接にＲＡＭ３にロードされた後、ＣＰＵ１によって実行される。また、この処理プログラムは、ｉ＝０からＷＮｕｍｂｅｒ−１，ｊ＝０からＨＮｕｍｂｅｒ−１まで繰り返し行われる。
【００７５】
１図形分のイメージデータを領域ｎｅｗｉｍｇ［］に格納する（ステップＳ１５０１）。まず、切り出し枠の左上座標を計算する。切り出し枠の左上座標は数式（４）に示す通りである。
【００７６】
Ｘ１＝ｃｅｎｔｅｒＸ＊ｉ−ｄｉｖＷｉｄｔｈ／２
Ｙ１＝ｃｅｎｔｅｒＹ＊ｊ−ｄｉｖＨｅｉｇｈｔ／２  ……  （４）
また、右下座標は数式（５）に示す通りである。
【００７７】
Ｘ２＝ｃｅｎｔｅｒＸ＊ｉ＋ｄｉｖＷｉｄｔｈ／２
Ｙ２＝ｃｅｎｔｅｒＹ＊ｊ＋ｄｉｖＨｅｉｇｈｔ／２  ……  （５）
切り出し枠の座標（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）の領域ｉｍｇ［］に対応する位置は、それぞれ領域ｉｍｇ［Ｙ１＊ｗ＿ｉｎ＿ｂｙｔｅ＋（Ｘ１＋７）／８］のＸ１％８（Ｘ１を８で割った余り）ビット目、ｉｍｇ［Ｙ２＊ｗ＿ｉｎ＿ｂｙｔｅ＋（Ｘ２＋７）／８］のＸ２％８（Ｘ２を８で割った余り）ビット目である。その範囲内のデータを領域ｎｅｗｉｍｇ［］に設定する。領域ｎｅｗｉｍｇ［］に格納されたイメージデータをＤＫＣ８を介してＨＤ９ｂに格納する（ステップＳ１５０２）。
【００７８】
図形Ｎｏ．は、Ｎｏ．を値０から開始する場合、図形並び方向Ｄｉｒｅｃｔｉｏｎ、図形開始位置Ｏｒｉｇｉｎによりつぎのように設定される。すなわち、水平、左上開始（Ｄｉｒｅｃｔｉｏｎが値０、Ｏｒｉｇｉｎが値０）の場合、図形Ｎｏ．はｉ＋ｊ＊ＷＮｕｍｂｅｒである。水平、右上開始（Ｄｉｒｅｃｔｉｏｎが値０、Ｏｒｉｇｎが値１）の場合、図形Ｎｏ．は（ＷＮｕｍｂｅｒ−ｉ−１）＋ｊ＊ＷＮｕｍｂｅｒである。垂直、左上開始（Ｄｉｒｅｃｔｉｏｎが値１、Ｏｒｉｇｉｎが値０）である場合、図形Ｎｏ．はｉ＊ＨＮｕｍｂｅｒ＋ｊである。垂直、右上開始（Ｄｉｒｅｃｔｉｏｎが値１、Ｏｒｉｇｉｎが値１）である場合、図形Ｎｏ．は（ＷＮｕｍｂｅｒ−ｉ−１）＊ＨＮｕｍｂｅｒ＋ｊである。また、イメージ幅としてｄｉｖＷｉｄｔｈ，イメージ高さとしてｄｉｖＨｅｉｇｈｔを格納する。
【００７９】
図１９はフォーマットデータ保存処理手順を示すフローチャートである。この処理プログラムは、図形編集プログラムの一部であり、前述したように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３に格納され、ＨＤ９ｂに一旦インストールされてから、あるいは直接にＲＡＭ３にロードされた後、ＣＰＵ１によって実行される。図２０はフォーマット保存指定受付画面を示す図である。
【００８０】
まず、フォーマット保存指定受付画面をＣＲＴ７に表示し、ＫＢ５またはＰＤ１２より指定を受け付ける（ステップＳ１６０１）。図１０（ａ）の変数ｆｌａｇにフォーマットデータをファイルから読み込んだことを意味する値１が設定されている場合、フォーマット保存指定受付画面のファイル名のデフォルトとして図１０（ｂ）の変数ｆｉｌｅｎａｍｅを設定する。
【００８１】
保存が指示されたか否かを判別し（ステップＳ１６０２）、保存が指示されていない場合、そのまま終了し、保存が指示されたと判別された場合、保存処理を行う（ステップ１６０３）。ステップＳ１６０３の保存処理では、指定ファイル名を変数ｆｉｌｅｎａｍｅに格納する。ステップＳ１３０５の処理で図１０（ｄ）の変数ｃｅｎｔｅｒＸ〜同図（ｉ）の変数Ｈｅｉｇｈｔ、同図（ｎ）の変数ｄｉｖＷｉｄｔｈ、同図（ｏ）の変数ｄｉｖＨｅｉｇｈｔに解像度ｓｃａｎＤＰＩをかけ、単位系をインチからドットに変換しているので、変数ｓｃａｎＤＰＩで割って単位系をドットからインチに戻す。図１０（ｄ）の変数ｃｅｎｔｅｒＸから同図（ｏ）の変数ｄｉｖＨｅｉｇｈｔをＤＫＣ８を介してＨＤ９ｂ上にファイル名ｆｉｌｅｎａｍｅとして格納する。
【００８２】
このように、本実施形態の図形編集装置では、イメージデータの補正を行う場合、フォーマットデータから原稿の左上、左下、右上、右下の位置を計算し、これらの中から位置合わせ第一位置の指定を受け付ける（Ｓ１４０２）。その位置のイメージデータがＣＲＴ７の中央になるように表示し、指定位置の変更を受け付ける（Ｓ１４０３）。指定位置の変更があった場合、位置合わせ第一位置を指定位置だけずらす（Ｓ１４０５）。同様に、位置合わせ第二位置の指定を受け付け（Ｓ１４０６）、その位置のイメージデータがＣＲＴ７の中央になるように表示し、指定位置の変更があった場合、原稿が斜めであるか否かを判別する（Ｓ１４０９）。斜めである場合、第一位置の指定位置を回転中心としてイメージデータを回転させる（Ｓ１４１０）。これにより、取り込んだイメージデータの補正を容易に行うことができ、イメージデータ取り込みの作業効率の向上を図ることができる。
【００８３】
また、図形編集装置では、補正されたイメージデータから１図形（文字など）分のイメージデータを取り出し、取り出された１図形分のイメージデータからアウトラインフォントデータを生成することが可能である。
【００８４】
このように、イメージデータ取り込みの際、スキャナ上の原稿の相対位置がずれても容易にイメージデータを補正できる。また、イメージデータ取り込み時に限らず、図形編集作業時にイメージデータを補正することが可能である。さらに、処理すべき原稿が使用するプログラムによって定められる原稿フォーマットと異なる場合、文字を配置し直す必要がなくなる。
【００８５】
尚、上記実施形態では、フォーマットの位置（図１７のｂ点）を指定されたイメージデータ上の原稿の位置（図１７のａ点）に合わせるようにフォーマットを変更したが、フォーマットを変更する代わりに、指定されたイメージデータ上の原稿の位置をフォーマットの位置に合わせるようにイメージデータを補正するようにしてもよい。
【００８６】
また、本発明は複数の機器から構成されるシステムに適用してもよいし、１つの機器からなる装置に適用してもよい。本発明が適用されるシステムはワークステーションでもよいし、コンピュータシステムであってもよい。
【００８７】
さらに、本発明はシステムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体をシステムあるいは装置に読み出すことによってそのシステムあるいは装置が本発明の効果を享受することが可能となる。
【００８８】
本実施形態では、記憶媒体として図３に示すように、ＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３が用いられているが、これに限らず、例えばハードディスク、光磁気ディスク、ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【００８９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９０】
【発明の効果】
本発明によれば、取り込んだイメージデータの補正を容易に行うことができ、イメージデータ取り込みの作業効率の向上を図ることができる。
【図面の簡単な説明】
【図１】実施形態における図形編集装置の基本的な構成を示すブロック図である。
【図２】外部記憶装置９の記憶媒体に格納されたプログラムがロードされて実行可能となった状態のＲＡＭ３およびＲＯＭ２のメモリマップを示す図である。
【図３】ＦＤ９ａの記憶媒体１２３を装置本体１２１に装備された記憶媒体挿入口１２２に挿入することで記憶媒体に格納された図形編集プログラムおよび関連データが装置本体１２１に読み込まれる様子を示す図である。
【図４】図形編集プログラムおよび関連データが記録されたＦＤ９ａ、ＣＤ−ＲＯＭ９ｃ等の記憶媒体１２３のメモリマップを示す図である。
【図５】原稿フォーマットを決定するパラメータを示す図である。
【図６】図５の原稿フォーマットにしたがって文字を配置した原稿を示す図である。
【図７】原稿フォーマットデータのＨＤ９ｂ上における格納形式を示す図である。
【図８】イメージデータのＨＤ９ｂ上における格納形式を示す図である。
【図９】１図形毎に分割されたイメージデータのＨＤ９ｂ上における格納形式を示す図である。
【図１０】ＲＡＭ３に格納されるデータの形式を示す図である。
【図１１】ＲＡＭ３に格納されるデータの形式を示す図である。
【図１２】イメージデータ取り込み処理手順を示すフローチャートである。
【図１３】フォーマット指定処理手順を示すフローチャートである。
【図１４】ＣＲＴ７に表示されたフォーマットを示す図である。
【図１５】フォーマット指定画面を示す図である。
【図１６】補正処理手順を示すフローチャートである。
【図１７】指定位置が左上である場合の表示を示す図である。
【図１８】イメージデータ分割処理手順を示すフローチャートである。
【図１９】フォーマットデータ保存処理手順を示すフローチャートである。
【図２０】フォーマット保存指定受付画面を示す図である。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
５  キーボード（ＫＢ）
７  ＣＲＴ
９  外部記憶装置
９ａ  フロッピーディスク装置（ＦＤ）
９ｂ  ハードディスク装置（ＨＤ）
【図１】
0003869966.tif 000002
【図２】
0003869966.tif 000003
【図３】
0003869966.tif 000004
【図４】
0003869966.tif 000005
【図５】
0003869966.tif 000006
【図６】
0003869966.tif 000007
【図７】
0003869966.tif 000008
【図８】
0003869966.tif 000009
【図９】
0003869966.tif 000010
【図１０】
0003869966.tif 000011
【図１１】
0003869966.tif 000012
【図１２】
0003869966.tif 000013
【図１３】
0003869966.tif 000014
【図１４】
0003869966.tif 000015
【図１５】
0003869966.tif 000016
【図１６】
0003869966.tif 000017
【図１７】
0003869966.tif 000018
【図１８】
0003869966.tif 000019
【図１９】
0003869966.tif 000020
【図２０】
0003869966.tif 000021