(57)【特許請求の範囲】
【請求項１】
図形を特定する図形情報および前記図形のうち描画する領域を特定する描画領域情報を含む描画情報を入力する入力部と、
前記描画情報を解析し、前記図形情報で特定される図形のうち前記描画領域情報で特定される領域内の図形を描画図形として生成する図形解析部と、
前記描画図形を特定する描画データを生成する描画データ生成部と、
前記描画データから出力イメージデータとなる画像データを生成する画像データ生成部とを備え、
前記図形解析部は、前記図形情報で特定される図形の位置と前記描画領域情報で特定される領域の位置との関係を判断する位置判断部と、前記判断結果に基づいて、前記図形情報で特定される図形のうち、前記描画領域情報で特定される領域内の描画図形を生成する描画領域生成部とを有し、
前記位置判断部が、前記図形情報で特定される図形と、前記描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、前記描画データ生成部は、前記描画領域生成部で生成された描画図形を複数の描画図形に分割し、前記分割した描画図形毎に描画データを生成し、
前記位置判断部が、前記図形情報で特定される図形と、前記描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、前記描画データ生成部は、前記描画領域生成部で生成された描画図形を複数の描画図形に分割することなく、前記重なり領域を一つの描画図形として描画データを生成することを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置において、
前記図形情報で特定される図形が円であるとき、
前記位置判断部が、前記円と、前記描画領域情報で特定される矩形領域との重なり領域が矩形でないと判断したとき、前記描画領域生成部は、前記円を複数の台形に分割し、前記分割した台形のうち前記矩形領域内の台形を描画図形として生成し、
前記位置判断部が、前記円と、前記描画領域情報で特定される矩形領域との重なり領域が矩形であると判断したとき、前記描画領域生成部は、前記円を複数の台形に分割することなく、前記矩形領域の全部を描画図形として生成することを特徴とする画像形成装置。
【請求項３】
請求項１または請求項２に記載の画像形成装置において、
前記描画データ生成部は、分割した複数の描画図形が連続する複数の矩形となったとき、前記複数の矩形を統合して一つの矩形の描画データを生成する矩形統合部を有することを特徴とする画像形成装置。
【請求項４】
請求項３に記載の画像形成装置において、
前記矩形統合部は、前記複数の描画矩形が一辺で隣接し、一つの矩形を形成するとき、前記複数の矩形を統合して一つの矩形の描画データを生成することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形の描画を行う画像形成装置に関する。
【背景技術】
【０００２】
従来の画像形成装置は、文字や図形、または直線や曲線を描画する際、それらの形状や大きさ、位置を確定できる情報（以下、「描画情報」という。）を組み合わせて描画形状を表す画像データを生成するようにしている。特に、曲線部分については、その輪郭上を複数の直線に分割して描画するのが一般的である。このような画像データを構成する１つの画素データは、複数ビットの情報を持つのが一般的となっており、例えば印刷用紙１枚分では大量なデータとなり、それを処理するためには大量のメモリを必要とする（例えば、特許文献１参照）。そこで、近年では、使用するメモリを少なくする観点から描画する図形をすべて画像データにするのではなく、一旦中間データを作成してから最終的に画像データを生成するようになってきている。
【０００３】
この中間データ（以下、「描画データ」という。）は、様々な描画情報を基に描画される図形を比較的単純な形の図形データに分割される。このとき、単純な形としては、Ｘ軸に平行な２本の辺と、それを横切る２本の辺とで形作る台形が一般的である。（この描画される図形を、より単純な図形である台形またはそれより単純な図形に分割することを以下、「台形分割」という。）
また、描画される図形等が描画される領域（以下、「クリップ領域」という。）を指定可能にし、指定されたクリップ領域内にのみ図形等を描画するようにしている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１０３２号公報（段落「０００３」）
【特許文献２】特開平１１−３３９０５４号公報（段落「００２５」、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、例えば図１４（ａ）に示すように、描画する図形として円１２０と、その円１２０に含まれる矩形のクリップ領域１２１とが有る場合、実際に描画されるものは図１４（ｂ）に斜線で表したクリップ領域と同じ矩形となる。なお、図１４（ｂ）に示した破線の円は、図１４（ａ）示した円１２０が分かるように表したものであり、実際には描画されない。
【０００６】
この描画領域である矩形を算出する手順を簡単に説明する。まず、入力された円を描画するために、円弧の部分を１２本の直線に近似する。例えば、図１５に示すように入力された円の描画情報の中心座標（ｘ０、ｙ０）および半径（ｒ）から三角関数等を用いて円弧上の１２個の点Ｃ１〜点Ｃ１２の座標を算出する。次に、描画する円の部分を台形分割し、図１４（ｃ）に示す三角形（Ｃ１、Ｃ２、Ｃ１２）、台形（Ｃ２、Ｃ３、Ｃ１１、Ｃ１２）、台形（Ｃ３、Ｃ４、Ｃ１０、Ｃ１１）、台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）、台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）、三角形（Ｃ６、Ｃ７、Ｃ８）の座標を算出する。次に、算出した６個の三角形および台形のそれぞれについて、図１６に示すように入力されたクリップ領域の座標を基にクリップ領域の外側になる部分を削り、クリップ領域の内側になる部分の図形を生成（以下、「クリッピング」という。）し、図１４（ｂ）に示す矩形（ＣＷ１、ＣＷ２、ＣＷ３、ＣＷ４）を生成する。ここでは、本処理を分かりやすく説明するために、円弧の分割を１２本の直線に近似したが、現実的にはより滑らかな曲線を描くために、７２本、１４４本やそれ以上の直線で近似して処理を行う。
【０００７】
しかしながら、従来の技術においては、直線による近似が滑らかになればなるほど、各頂点の座標算出のための複雑な演算が増えることに加え、頂点の座標を算出した後においても台形分割やクリッピングを行う際に、算出した頂点の座標や直線による近似によってできた辺の数に応じて複雑な演算が発生するため、描画範囲が単純な図形である矩形の場合であっても図形を描画する処理に多大な時間がかかってしまい、また頂点の座標を登録するために多くのメモリ領域を使用し、さらに頂点の座標から生成される多数の描画データの登録のために多くのメモリ領域を使用していたため、メモリ領域の使用効率が低下していたという問題がある。
本発明は、このような問題を解決することを課題とし、図形の描画処理を効率良く行うことを目的とする。
【課題を解決するための手段】
【０００８】
そのため、本発明は、図形を特定する図形情報および前記図形のうち描画する領域を特定する描画領域情報を含む描画情報を入力する入力部と、前記描画情報を解析し、前記図形情報で特定される図形のうち前記描画領域情報で特定される領域内の図形を描画図形として生成する図形解析部と、前記描画図形を特定する描画データを生成する描画データ生成部と、前記描画データから出力イメージデータとなる画像データを生成する画像データ生成部とを備え、前記図形解析部は、前記図形情報で特定される図形の位置と前記描画領域情報で特定される領域の位置との関係を判断する位置判断部と、前記判断結果に基づいて、前記図形情報で特定される図形のうち、前記描画領域情報で特定される領域内の描画図形を生成する描画領域生成部とを有し、前記位置判断部が、前記図形情報で特定される図形と、前記描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、前記描画データ生成部は、前記描画領域生成部で生成された描画図形を複数の描画図形に分割し、前記分割した描画図形毎に描画データを生成し、前記位置判断部が、前記図形情報で特定される図形と、前記描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、前記描画データ生成部は、前記描画領域生成部で生成された描画図形を複数の描画図形に分割することなく、前記重なり領域を一つの描画図形として描画データを生成することを特徴とする。
【発明の効果】
【０００９】
このようにした本発明は、図形の描画処理を効率良く行うことができるという効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施例における画像形成装置の構成を示すブロック図
【図２】第１の実施例における図形描画処理の説明図
【図３】第１の実施例における図形描画処理に入力される描画情報の説明図
【図４】第１の実施例における図形描画処理に入力されるクリップ領域情報の説明図
【図５】第１の実施例における図形描画処理の概略を示すフローチャート
【図６】第１の実施例における描画データの説明図
【図７】第１の実施例における図形解析処理の流れを示すフローチャート
【図８】第１の実施例における図形解析処理で生成される領域情報の説明図
【図９】第２の実施例における画像形成装置の構成を示すブロック図
【図１０】第２の実施例における図形描画処理の説明図
【図１１】第２の実施例における図形描画処理の説明図
【図１２】第２の実施例における図形描画処理に入力されるクリップ領域情報の説明図
【図１３】第２の実施例におけるクリッピング処理および描画データ生成処理の流れを示すフローチャート
【図１４】従来例における図形描画処理の説明図
【図１５】従来例における図形描画処理に入力される描画情報の説明図
【図１６】従来例における図形描画処理に入力されるクリップ領域情報の説明図
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明による画像形成装置の実施例を説明する。
【実施例１】
【００１２】
図１は第１の実施例における画像形成装置の構成を示すブロック図である。
図１において、１１は出力装置としてのプリンタであり、通信ケーブル９等を介してホストコンピュータ（以下、「ホスト」という。）１０と通信可能に接続されている。
プリンタ１１は、受信部１２と、記憶領域１３と、操作部１４と、印刷制御部１５と、図形解析部１６と、描画データ生成部１７と、画像データ生成部１８と、プロセス制御部１９とにより構成されている。
【００１３】
受信部１２は、図形を特定する図形情報およびその図形のうち描画する領域を特定する描画領域情報を含む描画情報を入力する入力部であり、ホスト１０との間で通信制御を行い、ホスト１０から描画情報を受け取るものである。記憶領域１３は、受信部１２で受け取った描画情報や、各種データの生成・加工工程においてのデータの一時保管（一時記憶）、または生成したデータの保管（登録）を行うメモリ等の記憶部である。操作部１４は、プリンタ１１の設定等のユーザによる操作を受付ける入力手段を備えたものである。
【００１４】
印刷制御部１５は、受信部１２で受け取った描画情報から描画する画像データを生成する制御を含め、プリンタ１１全体の動作を記憶領域１３に記憶された制御プリンタ（ソフトウェア）に基づいて制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御手段である。
図形解析部１６は、入力された描画情報を解析し、描画情報に含まれる図形情報で特定される図形のうち、描画情報に含まれる描画領域情報で特定される領域内の図形を描画図形として生成するものである。
【００１５】
この図形解析部１６は、受信部１２で受け取った描画情報に含まれる描画領域情報で特定される領域（クリップ領域）の位置と、図形情報で特定される図形（描画する図形）の位置との関係を判断するクリップ位置判断部１６１と、そのクリップ位置判断部１６１の判断結果に基づいて、図形情報で特定される図形のうち、描画領域情報で特定される領域内の描画図形、すなわち描画すべき図形（矩形領域）を生成する描画領域生成部としての矩形生成部１６２とを備え、描画すべき図形（描画図形）の形、位置、および大きさを算出するものである。
【００１６】
描画データ生成部１７は、図形解析部１６で算出された描画図形をより単純な複数の図形に分割する台形分割およびクリッピングを行い、その描画図形の形、位置、および大きさを特定する描画データを生成するものである。
画像データ生成部１８は、描画データ生成部１７で生成された描画データから出力イメージとなる画像データを生成するものである。
プロセス制御部１９は、画像データ生成部１８で生成された画像データを受け取り、記録媒体に印刷するものである。
【００１７】
上述した構成の作用について説明する。
まず、プリンタの受信部で受け取った描画情報から画像データを生成し、その画像データをプロセス制御部で出力するまでの図形描画処理の概略を図５の第１の実施例における図形描画処理の概略を示すフローチャートの図中Ｓで表すステップに従って図１〜図４および図６を参照しながら説明する。
【００１８】
Ｓ１：プリンタ１１の受信部１２は、図形情報および描画領域情報を含む描画情報をホスト１０から入力する。この描画情報は、例えば図２（ａ）に示す円２０および矩形のクリップ領域２１を表し、その円２０を表す情報（図形情報）は、図３に示すように、描画する図形を示す「円」、描画方法を示す「塗り潰し描画」、半径ｒを示す「半径ｒ」、中心点Ｐ０の座標（ｘ０、ｙ０）を示す「中心Ｘ座標ｘ０、中心Ｙ座標ｙ０」で構成され、クリップ領域２１を表す情報（描画領域情報）は、図４に示すように、矩形のクリップ領域であることを示す「クリップ領域」、対角の２点の座標を示す「ＣＷ１のＸ座標、ＣＷ１のＹ座標」、「ＣＷ３のＸ座標、ＣＷ３のＹ座標」により構成されているものとする。なお、ＣＷ１の座標を（ｘｃｗ１、ｙｃｗ１）、ＣＷ３の座標を（ｘｃｗ３、ｙｃｗ３）とする。
【００１９】
ここで、本実施例では、図２（ａ）に示すように、矩形のクリップ領域２１の全領域が描画する図形である円２０に含まれているものとする。
Ｓ２：図形解析部１６は、入力された描画情報に基づいて描画領域を算出する図形解析処理を行う。この図形解析処理は、本実施例では、図３および図４に示す描画情報の円２０の情報およびクリップ領域２１の情報から描画すべき領域が図２（ａ）に示す矩形ＣＷ１、ＣＷ２、ＣＷ３、ＣＷ４となることを算出する。なお、図形解析処理の詳細は後述するものとする。
【００２０】
Ｓ３：図形解析部１６のクリップ位置判断部１６１は、図形解析処理で解析され、描画領域として算出された図形が矩形か否かを判断し、矩形でない場合は処理をＳ４へ移行し、矩形である場合は処理をＳ５へ移行、すなわちクリップ位置判断部１６１が、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、処理をＳ４へ移行し、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、処理をＳ５へ移行する。
【００２１】
Ｓ４：Ｓ３において、クリップ位置判断部１６１が、描画領域として算出された図形が矩形でないと判断、すなわち図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、描画データ生成部１７は、図形解析部１６で生成され、描画領域として算出された描画図形を複数の描画図形に分割、すなわち単純な図形である台形に分割する。
【００２２】
なお、Ｓ３において、クリップ位置判断部１６１が、描画領域として算出された図形が矩形であると判断、すなわち図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、描画データ生成部１７は、図形解析部１６の矩形生成部１６２で生成され、描画領域として算出された描画図形を複数の描画図形に分割、すなわち台形分割は行わない。これは矩形生成部１６２で生成された描画図形は、既にＸ軸に平行な２本の辺を有する四角形になっているため、台形分割を行う必要がないからである。
【００２３】
ここで、本実施例では、図形解析部１６の矩形生成部１６２で生成され、描画領域として算出された図形は矩形であるため、台形分割は行わない。また、本実施例では、図２（ａ）に示すように、矩形のクリップ領域２１の全領域が描画する図形である円２０に含まれているものとして説明しているが、これに限られず、矩形以外の形状のクリップ領域に描画する図形が矩形として含まれている場合も描画領域として算出された図形は矩形となり、台形分割は行わない。
【００２４】
Ｓ５：描画データ生成部１７は、描画する図形をクリップ領域内の範囲内のみの図形にするクリッピングを行う。本実施例では、クリッピングを行った結果、描画すべき図形がクリップ領域と同様な図形である矩形となっているため、描画すべき図形のすべてがクリップ領域の範囲内となり、クリッピングによって新たに図形が切られてしまうことはない。
【００２５】
Ｓ６：クリッピングを行った描画データ生成部１７は、描画データを生成する。生成する描画データとしては、例えば矩形であれば、図６（ａ）に示すように、図形の種類として「矩形」、左上点のＸ座標およびＹ座標、矩形の幅および高さとし、台形であれば、図６（ｂ）に示すように、図形の種類として「台形」、左辺の始点のＸ座標およびＹ座標、左辺の終点のＸ座標およびＹ座標、右辺の始点のＸ座標およびＹ座標、右辺の終点のＸ座標およびＹ座標としたものである。
【００２６】
ここで、図形解析部１６で描画領域として算出された図形が円であり、従来の方法で描画データを生成した場合、その描画データは、分割された多数の三角形や台形の描画図形毎に生成されるが、本実施例では、図形解析部１６が描画領域として算出する図形が矩形であるため、生成される描画データは、唯一つの描画図形である矩形ＣＷ１、ＣＷ２、ＣＷ３、ＣＷ４として図６（ａ）に示すように生成される。
Ｓ７：画像データ生成部１８は、描画データ生成部１７で生成された描画データから実際に描画する画素を算出して画像データを生成し、その画像データをプロセス制御部１９に渡し、プロセス制御部１９で画像データを記録媒体に印刷して出力し、図形描画処理を終了する。
【００２７】
次に、図形解析部が行う図形解析処理を図７の第１の実施例における図形解析処理の流れを示すフローチャートの図中Ｓで表すステップに従って図１および図８を参照しながら説明する。
Ｓ１０１：プリンタ１１には複数の描画情報が入力されるが、図形解析部１６は、１つの描画情報を取得する。
Ｓ１０２：図形解析部１６は、取得した描画情報の種類を判定し、描画情報の種類が、修飾情報と判定すると処理をＳ１０３へ移行し、クリップ領域であると判定すると処理をＳ１０４へ移行し、描画図形であると判定すると処理をＳ１０６へ移行する。
【００２８】
ここで、修飾情報とは、描画情報の中で図形の拡大・縮小、回転、色等を示す情報であり、描画する図形を修飾する情報である。
Ｓ１０３：Ｓ１０２において、描画情報の種類が修飾情報であると判定した図形解析部１６は、その修飾情報を記憶領域１３に記憶させて登録する。このとき、修飾情報が、図形の拡大・縮小、回転等の情報であった場合は、座標変換用のマトリクスを算出して記憶領域１３に記憶させて登録し、処理をＳ１１７へ移行する。
【００２９】
Ｓ１０４：Ｓ１０２において、描画情報の種類がクリップ領域であると判定した図形解析部１６は、登録された修飾情報が存在する場合、クリップ領域の対角の頂点ＣＷ１（ｘｃｗ１、ｙｃｗ１）および頂点ＣＷ３（ｘｃｗ３、ｙｃｗ３）の座標を、それまでの修飾情報に従って座標変換し、頂点ＣＷ１´（ｘｃｗ１´、ｙｃｗ１´）および頂点ＣＷ３´（ｘｃｗ３´、ｙｃｗ３´）の座標を算出する。
Ｓ１０５：図形解析部１６は、算出した頂点ＣＷ１´（ｘｃｗ１´、ｙｃｗ１´）および頂点ＣＷ３´（ｘｃｗ３´、ｙｃｗ３´）の座標を記憶領域１３に記憶させて登録し、処理をＳ１１７へ移行する。
【００３０】
Ｓ１０６：Ｓ１０２において、描画情報の種類が描画図形であると判定した図形解析部１６は、描画する図形が円であるか否かを判定し、円であると判定すると処理をＳ１０７へ移行し、円でないと判定すると処理をＳ１１４へ移行する。
Ｓ１０７：描画する図形が円であると判定した図形解析部１６は、登録された修飾情報が存在する場合、円の中心点Ｐ０（ｘ０、ｙ０）および半径ｒを修飾情報に従って座標変換し、それぞれの中心点Ｐ０´（ｘ０´、ｙ０´）および半径ｒ´を算出する。
【００３１】
Ｓ１０８：図形解析部１６は、描画情報の円の描画が塗り潰し描画か輪郭描画かを判定し、塗り潰し描画であると判定すると処理をＳ１０９へ移行し、輪郭描画であると判定すると処理をＳ１１２へ移行する。
なお、本実施例では、図３に示す描画情報が入力されているものとし、図形解析部１６は、塗り潰し描画であると判定するものとする。
【００３２】
Ｓ１０９：図形解析部１６が塗り潰し描画であると判定すると、図形解析部１６のクリップ位置判断部１６１は、Ｓ１０７で算出した中心点Ｐ０´（ｘ０´、ｙ０´）と、クリップ領域を構成する４つの頂点との距離をそれぞれ算出する。
Ｓ１１０：図形解析部１６のクリップ位置判断部１６１は、Ｓ１０９において算出した４つの距離と、円の半径ｒ´とを比較し、算出した４つの距離のすべてが円の半径ｒ´以下であるか否かを判定し、４つの距離のすべてが円の半径ｒ´以下である場合、処理をＳ１１１へ移行し、円の半径ｒ´より大きい距離が存在する場合、処理をＳ１１２へ移行する。
【００３３】
Ｓ１１１：ここで、算出した４つの距離のすべてが円の半径ｒ´以下であれば、円がクリップ領域を完全に包含する位置関係となる。つまり、図２（ｂ）に示す位置関係となり、描画される部分はクリップ領域と同じ矩形になる。従って、図形解析部１６の矩形生成部１６２は、座標変換した矩形ＣＷ１´、ＣＷ２´、ＣＷ３´、ＣＷ４´を描画図形として、例えば図８（ｂ）に示す構成で、矩形の対角の頂点の座標を記憶領域１３に記憶させて登録し、処理をＳ１１７へ移行する。
この場合、図形解析部１６は、後述のＳ１１２で説明する描画すべき図形の軌跡の座標を算出する必要がなくなる。
【００３４】
Ｓ１１２：Ｓ１０８において、輪郭描画であると判定、またはＳ１１０においてＳ１０９で算出した４つの距離のうち一つでも円の半径ｒ´より大きいと判定した図形解析部１６は、Ｓ１０７で算出した中心点Ｐ０´（ｘ０´、ｙ０´）および半径ｒ´から描画すべき図形の軌跡の座標を算出する。
Ｓ１１３：図形解析部１６は、算出した図形の軌跡の座標を記憶領域１３に記憶させて登録し、処理をＳ１１７へ移行する。
【００３５】
ここで、図２に示す円２０が輪郭描画であった場合、この円２０を、図２（ｃ）に示すように、１２本の直線で近似（以下、「直線近似」という。）して表すと、図８（ａ）に示すような構成で頂点Ｃ１〜頂点Ｃ１２の座標が記憶領域１３に登録される。
Ｓ１１４：Ｓ１０６において、描画する図形が円でないと判定した図形解析部１６は、登録された修飾情報が存在する場合、それまでの描画情報に従って描画図形を形作る情報の座標変換を行う。
【００３６】
Ｓ１１５：座標変換を行った図形解析部１６は、描画すべき図形の軌跡の座標を算出する。
Ｓ１１６：図形解析部１６は、算出した図形の軌跡の座標を記憶領域１３に記憶させて登録し、処理をＳ１１７へ移行する。
Ｓ１１７：図形解析部１６は、描画情報のすべてを処理したか否かを判定し、未処理の描画情報が存在する場合は、処理をＳ１０１へ移行して次の描画情報の処理を行う。一方、図形解析部１６は、描画情報のすべてを処理したと判定すると図形解析処理を終了する。
【００３７】
このようにプリンタ１１が行う図形描画処理では、図形解析部１６のクリップ位置判断部１６１が、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、描画データ生成部１７は、図形解析部１６で生成された描画図形を複数の描画図形に分割し、その分割した描画図形毎に描画データを生成し、一方、図形解析部１６のクリップ位置判断部１６１が、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、描画データ生成部１７は、矩形生成部１６２で生成された描画図形を複数の描画図形に分割することなく、その領域を一つの描画図形として描画データを生成する。
【００３８】
特に、本実施例では、描画する図形が円であった場合に、描画する円とクリップ領域との位置関係を判断し、描画する円がクリップ領域を包含する場合は、描画する図形をクリップ領域と同じ領域とすることにより、描画する円を直線近似する際に行う多数の頂点座標の算出処理が不要となり、また描画する円を直線近似する際に行う頂点座標による台形分割やクリッピングの処理も不要となる。
したがって、円の頂点座標に関する複雑な演算をすべて省略することができ、図形の描画処理における処理速度を大幅に改善することができるという顕著な効果を奏する。
【００３９】
また、円に関する多数の頂点座標の情報を登録していた記憶領域が不要となり、多数の描画データを登録するために使用していた記憶領域も少なくなることから、メモリの使用効率も大幅に改善することができる。
なお、本実施例では、クリップ領域を矩形領域として説明したが、クリップ領域が矩形でない比較的頂点数の少ない領域で表されているような場合でも、描画する図形が円である場合、本実施例と同様に、描画する円の半径と、クリップ領域の各頂点と描画する円の中心点の距離との関係から、円の直線近似を行う前に、円を直線近似したときより頂点数の少ない図形で描画する図形を表現することができるため、上述した本実施例の効果を得ることができる。
【００４０】
以上説明したように、第１の実施例では、クリップ位置判断部が、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、描画データ生成部は、矩形生成部で生成された描画図形を複数の描画図形に分割することなく、その領域を一つの描画図形として描画データを生成するようにしたことにより、図形の描画処理における処理速度を向上させることができ、また記憶領域の使用量を削減することができ、図形の描画処理を効率よく行うことができるという効果が得られる。
【００４１】
特に、描画する図形が円であった場合に、描画する円と矩形のクリップ領域との位置関係を判断し、描画する円がクリップ領域を包含する場合は、描画する図形をクリップ領域と同じ領域とすることにより、図形の描画処理における処理速度を向上させることができ、また記憶領域の使用量を削減することができ、図形の描画処理を効率よく行うことができるという効果が得られる。
【実施例２】
【００４２】
第２の実施例の構成は、第１の実施例の構成における描画データ生成部に、矩形統合部を追加したものとなっている。その第２の実施例の構成を図９の第２の実施例における画像形成装置の構成を示すブロック図に基づいて説明する。なお、上述した第１の実施例と同様の部分は、同一の符号を付してその説明を省略する。
図９において、９１は出力装置としてのプリンタであり、通信ケーブル９等を介してホスト１０と通信可能に接続されている。
【００４３】
プリンタ９１は、受信部１２と、記憶領域１３と、操作部１４と、印刷制御部１５と、図形解析部１６と、描画データ生成部９７と、画像データ生成部１８と、プロセス制御部１９とにより構成されている。
描画データ生成部９７は、図形解析部１６で算出された図形をより単純な図形に分割する台形分割およびクリッピングを行い、描画データを生成するものである。この描画データ生成部９７は、台形分割した複数の描画図形が連続する複数の矩形となったとき、その複数の矩形を統合して一つの矩形の描画データを生成する矩形統合部９７１を備えている。
【００４４】
上述した構成の作用について説明する。
まず、プリンタの受信部で受け取った描画情報から画像データを生成し、その画像データをプロセス制御部で出力するまでの図形描画処理の概略を図５の第１の実施例における図形描画処理の概略を示すフローチャートの図中Ｓで表すステップに従って図２〜図４、図６、および図９〜図１２を参照しながら説明する。
【００４５】
Ｓ１：プリンタ１１の受信部１２は、図形情報および描画領域情報を含む描画情報をホスト１０から入力する。この描画情報は、例えば図１０（ａ）に示す円２０および矩形のクリップ領域１０１を表し、その円２０を表す情報（図形情報）は、図３に示すように、描画する図形を示す「円」、描画方法を示す「塗り潰し描画」、半径ｒを示す「半径ｒ」、中心点Ｐ０の座標（ｘ０、ｙ０）を示す「中心Ｘ座標ｘ０、中心Ｙ座標ｙ０」で構成され、クリップ領域１０１を表す情報（描画領域情報）は、図１２に示すように、矩形のクリップ領域であることを示す「クリップ領域」、対角の２点の座標を示す「ＣＷ５のＸ座標、ＣＷ５のＹ座標」、「ＣＷ７のＸ座標、ＣＷ７のＹ座標」で構成されているものとする。なお、ＣＷ５の座標を（ｘｃｗ５、ｙｃｗ５）、ＣＷ７の座標を（ｘｃｗ７、ｙｃｗ７）とする。
ここで、本実施例では、図１０（ａ）に示すように、矩形のクリップ領域１０１に描画する図形である円２０の一部が含まれているものとする。
【００４６】
Ｓ２：図形解析部１６は、第１の実施例と同様に、図７に示すフローチャートに従って、入力された描画情報に基づいて描画領域を算出する図形解析処理を行う。本実施例では、円２０とクリップ領域１０１との位置関係が第１の実施例と異なり、図７のＳ１０９において、クリップ領域１０１を構成する４点の距離を算出し、Ｓ１１０においてＳ１０９で算出した距離とＳ１０７で算出した円２０の半径ｒ´と比較するが、図１０（ｂ）に示すように、クリップ領域１０１の頂点ＣＷ５およびＣＷ６に対する円２０の中心点Ｐ０´からの距離は、円２０の半径ｒ´より長い。したがって、図７のＳ１１２において円２０の直線近似による頂点座標を算出し、Ｓ１１３において記憶領域１３に登録する。
【００４７】
ここで、円２０を１２本の直線で直線近似するとした場合、例えば図８（ａ）に示すように頂点Ｃ１〜頂点Ｃ１２の座標が記憶領域１３に登録される。
Ｓ３：図形解析部１６のクリップ位置判断部１６１は、図形解析処理で解析され、描画領域として算出された図形が矩形か否かを判断し、矩形でない場合は処理をＳ４へ移行し、矩形である場合は処理をＳ５へ移行、すなわちクリップ位置判断部１６１が、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、処理をＳ４へ移行し、図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断したとき、処理をＳ５へ移行する。
【００４８】
Ｓ４：Ｓ３において、クリップ位置判断部１６１が、描画領域として算出された図形が矩形でないと判断、すなわち図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形でないと判断したとき、描画データ生成部９７は、図形解析部１６で生成され、描画領域として算出された描画図形を複数の描画図形に分割、すなわち単純な図形である台形に分割する。
【００４９】
なお、Ｓ３において、描画領域として算出された図形が矩形であると判断、すなわち図形情報で特定される図形と、描画領域情報で特定される領域との重なり領域が矩形であると判断した場合は、既にＸ軸に平行な２本の辺を有する四角形になっているため、台形分割を行う必要はないが、本実施例では、図形解析部１６の矩形生成部１６２で生成され、描画領域として算出された図形は矩形でないため、台形分割を行う。
【００５０】
描画データ生成部９７は、例えば図８（ａ）に示す頂点Ｃ１〜頂点Ｃ１２で形成される多角形から台形分割を行い、図１１に示す三角形（Ｃ１、Ｃ２、Ｃ１２）、台形（Ｃ２、Ｃ３、Ｃ１１、Ｃ１２）、台形（Ｃ３、Ｃ４、Ｃ１０、Ｃ１１）、台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）、台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）、三角形（Ｃ６、Ｃ７、Ｃ８）の各頂点の座標を算出する。
【００５１】
Ｓ５：描画データ生成部９７は、台形分割した各図形の各頂点の座標に基づき、描画する図形をクリップ領域内の範囲内のみの図形にするクリッピングを行う。
Ｓ６：クリッピングを行った描画データ生成部９７は、描画データを生成する。
本実施例でのＳ５およびＳ６の処理の詳細は後述する。
Ｓ７：画像データ生成部１８は、描画データ生成部９７で生成された描画データから実際に描画する画素を算出して画像データを生成し、その画像データをプロセス制御部１９に渡し、プロセス制御部１９で画像データを記録媒体に印刷して出力し、図形描画処理を終了する。
【００５２】
次に、描画データ生成部が行うクリッピング処理および描画データ生成処理を図１３の第２の実施例におけるクリッピング処理および描画データ生成処理の流れを示すフローチャートの図中Ｓで表すステップにしたがって図９および図１１を参照しながら説明する。
Ｓ２０１：まず、描画データ生成部９７は、台形分割した図形のうち描画図形の１つ目である三角形（Ｃ１、Ｃ２、Ｃ１２）の座標を記憶領域１３から取得する。
【００５３】
Ｓ２０２：描画図形を取得した描画データ生成部９７は、Ｙ方向のクリッピングを行う。ここで、登録されているクリッピング領域のＹ座標は頂点ＣＷ５のＹ座標から頂点ＣＷ７のＹ座標の間の範囲となるが、三角形（Ｃ１、Ｃ２、Ｃ１２）の各頂点のＹ座標は、この範囲外であるため三角形（Ｃ１、Ｃ２、Ｃ１２）は描画されない。
Ｓ２０３：描画データ生成部９７は、描画図形の有無を判定し、描画図形が無いと判定して処理をＳ２１３へ移行する。なお、描画図形が有ると判定すると処理をＳ２０４へ移行する。
【００５４】
Ｓ２１３：描画データ生成部９７は、すべての描画図形を処理したか否かを判定し、すべての描画図形を処理したと判定すると処理をＳ２１９へ移行し、一方すべての描画図形を処理していないと判定すると処理をＳ２０１へ移行し、次の描画図形の処理を行う。
本実施例では、Ｓ２０１へ移行し、次の描画図形として台形（Ｃ２、Ｃ３、Ｃ１１、Ｃ１２）を取得し、Ｓ２０２においてＹ方向のクリッピングを行い、Ｓ２０３において三角形（Ｃ１、Ｃ２、Ｃ１２）と同様に台形（Ｃ２、Ｃ３、Ｃ１１、Ｃ１２）は描画図形でないと判定される。
【００５５】
さらに、Ｓ２０１へ移行し、次の描画図形として台形（Ｃ３、Ｃ４、Ｃ１０、Ｃ１１）を取得し、Ｓ２０２においてＹ方向のクリッピングを行い、Ｓ２０３において三角形（Ｃ１、Ｃ２、Ｃ１２）と同様に台形（Ｃ３、Ｃ４、Ｃ１０、Ｃ１１）は描画図形でないと判定される。
またさらに、Ｓ２０１へ移行し、次の描画図形として台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）を取得し、Ｓ２０２においてＹ方向のクリッピングを行い、Ｓ２０３において台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）は描画図形であると判定される。
【００５６】
ここで、Ｙ方向のクリッピングを行うと、台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）は図１１に示すように台形（Ｃ４１、Ｃ５、Ｃ９、Ｃ１０１）となる。頂点Ｃ４１は、線分（Ｃ４、Ｃ５）上の点であり、頂点Ｃ１０１は、線分（Ｃ９、Ｃ１０）上の点であり、共にクリップ領域１０１の頂点ＣＷ７と同じＹ座標であるため、頂点Ｃ４１の座標は、頂点Ｃ４および頂点Ｃ５の座標から、また頂点Ｃ１０１の座標は、頂点Ｃ９および頂点Ｃ１０の座標から容易に算出することができる。
続いて、Ｓ２０３において台形（Ｃ４、Ｃ５、Ｃ９、Ｃ１０）は描画図形であると判定され、処理はＳ２０４へ移行する。
【００５７】
Ｓ２０４：描画図形が有ると判定した描画データ生成部９７は、Ｘ方向のクリッピングを行う。
ここで、Ｘ方向のクリッピングを行うと、台形（Ｃ４１、Ｃ５、Ｃ９、Ｃ１０１）は図１１に示すように台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）となる。頂点Ｐ１および頂点Ｐ２は、線分（Ｃ５、Ｃ９）上の点であり、頂点Ｐ１はクリップ領域１０１の頂点ＣＷ５と、頂点Ｐ２はクリップ領域１０１の頂点ＣＷ７と同じＸ座標であるため、頂点Ｐ１および頂点Ｐ２の座標は、頂点Ｃ５および頂点Ｃ９の座標から容易に算出することができる。
【００５８】
Ｓ２０５：描画データ生成部９７は、描画図形の有無を判定し、描画図形が有ると判定して処理をＳ２０６へ移行する。なお、描画図形が無いと判定すると処理をＳ２１３へ移行する。
Ｓ２０６：描画図形が有ると判定した描画データ生成部９７は、クリッピングした後の図形の形状が台形より複雑な図形、すなわち五角形以上の図形であるか否かを判定し、五角形以上の図形であると判定すると処理をＳ２０７へ移行し、五角形未満の図形であると判定すると処理をＳ２０８へ移行する。
【００５９】
ここでは、クリッピングした後の図形は台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）であるため、Ｓ２０８へ移行する。
Ｓ２０７：なお、Ｓ２０６においてクリッピングした後の図形の形状が五角形以上の図形であると判定した描画データ生成部９７は、図５のＳ４と同様に再度、台形分割を行う。
Ｓ２０８：描画データ生成部９７は、クリッピングした後の図形の描画データを生成する。ここでは、台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）の描画データは、図６（ａ）に示すように構成され、左上点のＸ、Ｙ座標は頂点ＣＷ８のＸ、Ｙ座標となり、幅は頂点ＣＷ７と頂点ＣＷ８のＸ座標の差、高さは頂点ＣＷ８と頂点ＣＷ７のＹ座標の差となる。
【００６０】
Ｓ２０９：描画データを生成した描画データ生成部９７は、その描画データが矩形であるか否かを判定し、矩形であると判定すると処理をＳ２１０へ移行し、矩形でないと判定すると処理をＳ２１６へ移行する。ここでは、台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）の描画データは矩形であるのでＳ２１０へ移行する。
Ｓ２１０：描画データが矩形であると判定した描画データ生成部９７は、記憶領域１３に一時記憶された矩形が存在するか否かを判定し、存在すると判定すると処理をＳ２１１へ移行し、存在しないと判定すると処理をＳ２１４へ移行する。ここでは、台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）は初めての矩形であるので記憶領域１３に一時記憶された矩形は存在せず、処理をＳ２１４へ移行する。
【００６１】
Ｓ２１４：描画データ生成部９７は、台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）を矩形として記憶領域１３に一時記憶し、処理をＳ２１３へ移行する。Ｓ２１３では、未処理の描画図形が有るため、処理をＳ２０１へ移行し、描画データ生成部９７は次の描画図形である台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）を取得する。
描画データ生成部９７は、Ｓ２０２においてＹ方向のクリッピングを行うが、台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）は変わらず台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）のままとなり、Ｓ２０３において描画図形が有ると判定されてＳ２０４においてＸ方向のクリッピングを行う。
【００６２】
台形（Ｃ５、Ｃ６、Ｃ８、Ｃ９）は、Ｘ方向のクリッピングにより五角形（Ｐ１、Ｐ５、Ｃ８、Ｐ４、Ｐ２）となる。頂点Ｐ１および頂点Ｐ２については上述した矩形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）の説明の通りの点であり、頂点Ｐ５は線分（Ｃ６、Ｃ８）上の点であり、クリップ領域１０１の頂点ＣＷ５とＸ座標が同じであり、頂点Ｐ４は線分（Ｃ８、Ｃ９）上の点であり、クリップ領域１０１の頂点ＣＷ７とＸ座標が同じである。
【００６３】
描画データ生成部９７は、Ｓ２０５において描画図形が有ると判定し、Ｓ２０６において描画図形が五角形以上であるか判定する。ここで、描画図形は五角形（Ｐ１、Ｐ５、Ｃ８、Ｐ４、Ｐ２）であるため、Ｓ２０７において描画データ生成部９７は台形分割を行う。
描画データ生成部９７は、五角形（Ｐ１、Ｐ５、Ｃ８、Ｐ４、Ｐ２）の頂点Ｐ４で新たなＹ座標値が発生しているため、頂点Ｐ４を新たな頂点としてそのＹ座標で五角形（Ｐ１、Ｐ５、Ｃ８、Ｐ４、Ｐ２）を矩形（Ｐ１、Ｐ３、Ｐ４、Ｐ２）と台形（Ｐ３、Ｐ５、Ｃ８、Ｐ４）とに分割する。
【００６４】
Ｓ２０８において描画データ生成部９７は、分割した矩形（Ｐ１、Ｐ３、Ｐ４、Ｐ２）および台形（Ｐ３、Ｐ５、Ｃ８、Ｐ４）の描画データを図６（ａ）（ｂ）に示す構成として生成する。矩形（Ｐ１、Ｐ３、Ｐ４、Ｐ２）の描画データは、左上点のＸ、Ｙ座標が頂点Ｐ１のＸ、Ｙ座標となり、幅が頂点Ｐ１と頂点Ｐ２のＸ座標の差、高さが頂点Ｐ１と頂点Ｐ３のＹ座標の差となる。また、台形（Ｐ３、Ｐ５、Ｃ８、Ｐ４）の描画データは、左辺始点のＸ、Ｙ座標が頂点Ｐ３のＸ、Ｙ座標、左辺終点のＸ、Ｙ座標が頂点Ｐ５のＸ、Ｙ座標、右辺始点のＸ、Ｙ座標が頂点Ｐ４のＸ、Ｙ座標、右辺終点のＸ、Ｙ座標が頂点Ｃ８のＸ、Ｙ座標となる。
【００６５】
次に、描画データ生成部９７は、Ｓ２０９において描画データが矩形であるか否かを判定し、矩形（Ｐ１、Ｐ３、Ｐ４、Ｐ２）は矩形であるため、Ｓ２１０において記憶領域１３に一時記憶された矩形が存在するか否かを判定し、存在すると判定すると処理をＳ２１１へ移行する。ここで、描画データ生成部９７は、Ｓ２１４において台形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）を矩形として記憶領域１３に一時記憶したため、処理をＳ２１１へ移行する。
【００６６】
Ｓ２１１：記憶領域１３に一時記憶された矩形が存在すると判定した描画データ生成部９７は、記憶領域１３に一時記憶された矩形と、今回Ｓ２０８において生成した矩形が連続になるか否かの判定を行い、連続になると判定すると処理をＳ２１２へ移行し、連続にならないと判定すると処理をＳ２１５へ移行する。
ここで、２つの矩形が連続になると判定する条件は、２つの矩形の左上点のＸ座標および幅が等しく、Ｙ座標に重なり部分がある場合、または２つの矩形の左上点のＹ座標および高さが等しく、Ｘ座標に重なり部分がある場合、すなわち複数の描画矩形が一辺で隣接し、一つの矩形を形成する場合である。
【００６７】
描画データ生成部９７は、記憶領域１３に一時記憶された矩形（ＣＷ８、Ｐ１、Ｐ２、ＣＷ７）と今回生成した矩形（Ｐ１、Ｐ３、Ｐ４、Ｐ２）とが連続するか判定すると、２つの矩形の左上点のＸ座標および幅が等しく、Ｙ座標は頂点Ｐ１を共有し、Ｙ座標に重なり部分があるため、連続していると判定し、処理をＳ２１２へ移行する。
Ｓ２１２：描画データ生成部９７の矩形統合部９７１は、記憶領域１３に一時記憶された矩形と、今回Ｓ２０８において生成した矩形とを統合して記憶領域１３に一時記憶された矩形の座標を更新する。
【００６８】
ここでは、矩形統合部９７１は、記憶領域１３に一時記憶された矩形の左上点のＸ、Ｙ座標が頂点ＣＷ８のＸ、Ｙ座標、幅が頂点ＣＷ７と頂点ＣＷ８のＸ座標の差、高さが頂点ＣＷ８と頂点Ｐ１のＹ座標の差となっていたものに対して、Ｙ方向に連続になったので高さのみを頂点ＣＷ８と頂点Ｐ３のＹ座標の差に更新し、処理をＳ２１３へ移行する。
Ｓ２１５：一方、Ｓ２１１において、連続にならないと判定した描画データ生成部９７は、今まで記憶領域１３に一時記憶していた矩形を描画データとして記憶領域１３に登録し、また今回Ｓ２０８で生成した矩形を新たに記憶領域１３に一時記憶し、処理をＳ２１３へ移行する。
【００６９】
次に、描画データ生成部９７は、Ｓ２０９において台形（Ｐ３、Ｐ５、Ｃ８、Ｐ４）が矩形であるか否かを判定し、矩形であると判定すると処理をＳ２１０へ移行し、矩形でないと判定すると処理をＳ２１６へ移行する。ここでは、台形（Ｐ３、Ｐ５、Ｃ８、Ｐ４）の描画データは矩形でないのでＳ２１６へ移行する。
Ｓ２１６：描画データが矩形でないと判定した描画データ生成部９７は、記憶領域１３に一時記憶された矩形が存在するか否かを判定し、存在すると判定すると処理をＳ２１７へ移行し、存在しないと判定すると処理をＳ２１８へ移行する。ここでは、記憶領域１３に一時記憶された矩形（ＣＷ８、Ｐ３、Ｐ４、ＣＷ７）が存在するため、処理をＳ２１７へ移行する。
【００７０】
Ｓ２１７：描画データ生成部９７は、記憶領域１３に一時記憶された矩形を描画データとして記憶領域１３に登録する。ここでは、記憶領域１３に一時記憶された矩形（ＣＷ８、Ｐ３、Ｐ４、ＣＷ７）を描画データとして記憶領域１３に登録する。
Ｓ２１８：描画データ生成部９７は、Ｓ２０８において生成した図形の描画データを記憶領域１３に登録し、処理をＳ２１３へ移行する。これにより、記憶領域１３に一時記憶された矩形はなくなる。
【００７１】
Ｓ２１３では、未処理の描画図形が有るため、処理をＳ２０１へ移行し、描画データ生成部９７は次の描画図形である三角形（Ｃ６、Ｃ７、Ｃ８）を取得する。
描画データ生成部９７は、上述した処理と同様にしてＳ２０２においてＹ方向のクリッピングを行い、Ｓ２０４においてＸ方向のクリッピングを行い、描画図形が三角形（Ｐ５、Ｃ７、Ｃ８）となる。
【００７２】
描画データ生成部９７は、Ｓ２０６において描画図形が五角形以上でないと判定してＳ２０８において描画データを図６（ｂ）に示す構成（描画図形が三角形の場合、例えば左辺始点Ｘ、Ｙ座標と右辺始点Ｘ、Ｙ座標を同一の座標とする）で生成し、Ｓ２０９において描画図形は矩形でないと判定してＳ２１６へ移行し、Ｓ２１６においては記憶領域１３に一時記憶された矩形が存在しないため、Ｓ２１８へ移行し、Ｓ２１８において三角形（Ｐ５、Ｃ７、Ｃ８）を描画データとして記憶領域１３に登録し、処理をＳ２１３へ移行する。Ｓ２１３では、すべての描画図形の処理が終了したため、処理をＳ２１９へ移行する。
【００７３】
Ｓ２１９：すべての描画図形の処理が終了した描画データ生成部９７は、記憶領域１３に一時記憶された矩形が存在するか否かを判定し、存在すると判定すると処理をＳ２２０へ移行し、存在しないと判定すると本処理を終了する。
Ｓ２２０：記憶領域１３に一時記憶された矩形が存在すると判定した描画データ生成部９７は、記憶領域１３に一時記憶された矩形を描画データとして記憶領域１３に登録して本処理を終了する。
【００７４】
このようにして、描画データ生成部はクリッピング処理および描画データ生成処理を行い、図５におけるＳ５のクリッピングおよびＳ６の描画データ生成処理を行う。ここで、本実施例では、描画データとして２つの矩形が存在していたが、その２つの矩形を１つの矩形に統合することにより、２つの矩形の描画データが１つの矩形の描画データとなり、描画データから画像データを生成する処理を２回から１回に減らすことができ、画像データ生成処理における処理速度を向上させることができる。また、描画データとして記憶領域１３に登録される情報が半分になり、記憶領域の使用量も半減する。
【００７５】
なお、本実施例では、最初に描画図形として入力される図形を、最も効果が大きくなる円として説明したが、本実施例の特徴は、図５のＳ４における多角形の台形分割後の処理に関わるものであり、入力される図形が円以外の図形であっても、図形解析部１６で様々な多角形に変換されるため、上述の説明と同様の効果が得られる。
以上説明したように、第２の実施例では、第１の実施例の効果に加え、描画する図形がいかなる図形であっても、その描画する図形を台形分割およびクリッピングしたことによって生成された統合可能な矩形を統合することにより、描画データを減らすことができ、描画データから画像データを生成する画像データ生成処理における処理速度を向上させることができるという効果が得られる。
【００７６】
また、描画データとして記憶領域に登録する情報を減らすことができ、記憶領域の使用効率を改善することができるという効果が得られる。
なお、第１の実施例および第２の実施例では、画像形成装置をプリンタとして説明したが、それに限られることなく、画像形成装置をファクシミリ装置、複写機または複合機（ＭＦＰ）としても良い。
また、画像形成装置は、描画情報から画像データを生成する装置であれば、プリンタドライバ（ソフトウェア）等を備えたホスト側の装置としても良い。
【符号の説明】
【００７７】
１０  ホスト
１１  プリンタ
１２  受信部
１３  記憶領域
１４  操作部
１５  印刷制御部
１６  図形解析部
１７、９７  描画データ生成部
１８  画像データ生成部
１９  プロセス制御部
１６１  クリップ位置判断部
１６２  矩形生成部
９７１  矩形統合部
【図１】
0005782401.tif 000002
【図２】
0005782401.tif 000003
【図３】
0005782401.tif 000004
【図４】
0005782401.tif 000005
【図５】
0005782401.tif 000006
【図６】
0005782401.tif 000007
【図７】
0005782401.tif 000008
【図８】
0005782401.tif 000009
【図９】
0005782401.tif 000010
【図１０】
0005782401.tif 000011
【図１１】
0005782401.tif 000012
【図１２】
0005782401.tif 000013
【図１３】
0005782401.tif 000014
【図１４】
0005782401.tif 000015
【図１５】
0005782401.tif 000016
【図１６】
0005782401.tif 000017