(57)【特許請求の範囲】
【請求項１】
クリップ矩形内の図形を描画する画像処理装置であって、
（ａ）図形データの事前クリップ処理を行う事前クリップ手段と、
（ｂ）該事前クリップ手段が事前クリップ処理を行った図形データのストローク生成処理を行うストローク生成手段と、
（ｃ）該ストローク生成手段がストローク生成処理を行った図形データのクリッピング処理を前記クリップ矩形に基づいて行うクリッピング手段とを有し、
（ｄ）前記事前クリップ手段は、前記図形データが図形形状及びストローク属性の指定が可能なものである場合、ストロークポリゴンを生成する前に、前記ストローク属性に含まれるストロークの幅の１／２を第１の値として設定し、ストロークの結合部分がマイターであるか否かを判断し、マイターでないときには第２の値として１を設定し、マイターであるときには前記第２の値として１以上の値を設定し、前記第１の値と前記第２の値とを乗算した値をクリップ拡大量として設定し、該クリップ拡大量によって前記クリップ矩形を上下左右に拡大し、拡大されたクリップ矩形に基づいて前記図形データのクリッピング処理を行うことを特徴とする画像処理装置。
【請求項２】
前記事前クリップ処理を実際に行うか否かを判定する請求項１に記載の画像処理装置。
【請求項３】
クリップ矩形内の図形を描画する画像処理装置が行う画像処理方法であって、
（ａ）事前クリップ手段が行う図形データの事前クリップ処理、ストローク生成手段が行う処理であって前記事前クリップ処理が行われた図形データのストローク生成処理、及び、クリッピング手段が行う処理であって前記ストローク生成処理が行われた図形データの前記クリップ矩形に基づくクリッピング処理を含み、
（ｂ）前記事前クリップ処理では、前記事前クリップ手段は、前記図形データが図形形状及びストローク属性の指定が可能なものである場合、ストロークポリゴンを生成する前に、前記ストローク属性に含まれるストロークの幅の１／２を第１の値として設定し、ストロークの結合部分がマイターであるか否かを判断し、マイターでないときには第２の値として１を設定し、マイターであるときには前記第２の値として１以上の値を設定し、前記第１の値と前記第２の値とを乗算した値をクリップ拡大量として設定し、該クリップ拡大量によって前記クリップ矩形を上下左右に拡大し、拡大されたクリップ矩形に基づいて前記図形データのクリッピング処理を行うことを特徴とする画像処理方法。
【請求項４】
前記事前クリップ処理を実際に行うか否かを判定する請求項３に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
従来、プリンタ等の画像処理装置は、通信手段を介してパーソナルコンピュータ等の上位装置と接続され、該上位装置から受信した印刷データに基づいて文書等を印刷するようになっている。そして、前記印刷データは、一般的に、ＰＤＬ（ページ記述言語：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述される。
【０００３】
図２は従来の図形形状のみから成る図形データの図、図３は従来のストローク属性を伴う図形データの図、図４は従来のポリゴンによるストローク属性を実現した図である。
【０００４】
前記ＰＤＬは、文字や図形を印刷するためのプリンタ制御言語であり、各種のものが市販されて使用されているが、図形を描画する場合に、図２に示されるような図形形状に加えて、図３に示されるようなストローク属性としての線幅、線端、線間等の処理を指定することができるものがある。このようなＰＤＬを使用すると、例えば、図４に示されるように、通常は指定されたストローク属性を満たすためのポリゴンを複数組み合わせることによって、図形を描画することができる（例えば、特許文献１参照。）。
【特許文献１】特開２００５−３１９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の画像処理装置においては、印刷可能範囲から大きくはみ出てしまうような非常に大きな図形を描画する場合、描画する必要のないストロークポリゴンを生成することによって多くのメモリ資源が消費されてしまい、画像処理装置のパフォーマンスが悪影響を受けることがある。
【０００６】
図５は従来のストロークを伴う図形のクリッピングが失敗する第１の例を示した図、図６は従来のストロークを伴う図形のクリッピングが失敗する第２の例を示した図である。なお、図５及び６において、 (ａ）は対象図形及びクリップ矩（く）形、（ｂ）は期待するクリップ結果、（ｃ）は図形形状のクリップ結果、（ｄ）はクリップ結果（ｃ）によって生成されたストロークである。
【０００７】
通常、印刷可能範囲外にある図形は、事前にクリッピング処理を施すことによって、描画を避けることが可能である。しかし、図５及び６に示されるように、ストローク属性が設定された図形データを処理する場合、元の図形形状に対してクリッピング処理を施すと、本来意図した効果を得ることができないので、あらかじめストロークポリゴンを生成した後に、クリッピング処理を施さなくてはならなかった。
【０００８】
本発明は、前記従来の画像処理装置の問題点を解決して、図形形状及びストローク属性の指定が可能な図形データを処理する場合、ストロークポリゴンを生成する前に事前クリップ処理を行うことによって、不要なストロークポリゴンの生成を抑制することができ、パフォーマンスを向上させることができる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そのために、本発明の画像処理装置においては、クリップ矩形内の図形を描画する画像処理装置であって、図形データの事前クリップ処理を行う事前クリップ手段と、該事前クリップ手段が事前クリップ処理を行った図形データのストローク生成処理を行うストローク生成手段と、該ストローク生成手段がストローク生成処理を行った図形データのクリッピング処理を前記クリップ矩形に基づいて行うクリッピング手段とを有し、前記事前クリップ手段は、前記図形データが図形形状及びストローク属性の指定が可能なものである場合、ストロークポリゴンを生成する前に、前記ストローク属性に含まれるストロークの幅の１／２を第１の値として設定し、ストロークの結合部分がマイターであるか否かを判断し、マイターでないときには第２の値として１を設定し、マイターであるときには前記第２の値として１以上の値を設定し、前記第１の値と前記第２の値とを乗算した値をクリップ拡大量として設定し、該クリップ拡大量によって前記クリップ矩形を上下左右に拡大し、拡大されたクリップ矩形に基づいて前記図形データのクリッピング処理を行う。
【発明の効果】
【００１０】
本発明によれば、画像処理装置は、図形形状及びストローク属性の指定が可能な図形データを処理する場合、ストロークポリゴンを生成する前に事前クリップ処理を行う。これにより、不要なストロークポリゴンの生成を抑制することができ、パフォーマンスを向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１２】
図７は本発明の第１の実施の形態におけるＸＰＳにおけるストローク属性の第１の一覧図、図８は本発明の第１の実施の形態におけるＸＰＳにおけるストローク属性の第２の一覧図、図９は本発明の第１の実施の形態におけるＸＰＳの例とその描画結果を示す図である。
【００１３】
本実施の形態における画像処理装置は、画像を描画することができる装置であれば、いかなる種類の装置であってもよいが、ここでは、印刷用紙等の媒体に印刷を行うプリンタ等の印刷装置であるものとして説明する。そして、該印刷装置は、インターフェイスケーブル、ネットワーク等の通信手段を介して上位装置に接続され、該上位装置から受信した図形データに基づいて図形処理を行う。なお、前記印刷装置は、例えば、インクジェット式プリンタ、電子写真方式のプリンタ、複写機、ファクシミリ装置、画像読取り装置、プリンタとファクシミリ装置と複写機との機能を併せ持つ複合機等であるが、いかなる種類の印刷装置であってもよく、また、モノクロ画像を形成するものであっても、カラー画像を形成するものであってもよい。さらに、前記印刷装置は、機能の観点から、事前クリップ処理を行う事前クリップ手段、ストローク生成処理を行うストローク生成手段、及び、クリッピング処理を行うクリッピング手段を有する。
【００１４】
また、前記上位装置は、例えば、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、キーボード、マウス、タッチパネル等の入力手段、ＣＲＴ、液晶ディスプレイ等の表示手段等を備えるパーソナルコンピュータ、サーバ等のコンピュータであるが、印刷装置に送信する図形データを作成することができる装置であればいかなる種類の装置であってもよい。
【００１５】
本実施の形態においては、ＰＤＬとして、Ｍｉｃｒｏｓｏｆｔ社によって提唱されているＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）を使用する場合について説明する。図７及び８には、ＸＰＳで指定可能なストローク属性の一覧が示されている。なお、ＸＰＳにおいては、各図形要素をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって記述する。
【００１６】
また、本実施の形態において、図形処理の対象となる図形データは、図９に示されるように、Ｐａｔｈ要素で定義される。図９に示される例において、図形形状はＤａｔａ要素であり、ストローク属性である線幅、開始線端、終了線端及び結合部は、それぞれ、ＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ属性、ＳｔｒｏｋｅＳｔａｒｔＬｉｎｅＣａｐ属性、ＳｔｒｏｋｅＥｎｄＬｉｎｅＣａｐ属性、及び、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎ属性によって定義される。
【００１７】
そして、ストローク属性によって、線の塗り潰（つぶ）し方を指定することができる。また、結合部がＭｉｔｅｒの場合には、ＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔ属性によって、その大きさを設定することができる。
【００１８】
次に、前記構成の画像処理装置の動作について説明する。
【００１９】
図１は本発明の第１の実施の形態における画像処理装置の動作を示すフローチャートである。
【００２０】
まず、画像処理装置が上位装置からＸＰＳで記述された図形データを受信すると、事前クリップ手段は、前記図形データに対して事前クリップ処理を行う。具体的にはストローク属性を考慮したクリッピングを行う。
【００２１】
続いて、ストローク生成手段は、事前クリップ処理が施された図形データに対してストローク生成処理を行い、ストロークを生成する。
【００２２】
最後に、クリッピング手段は、本来の図形を用いてクリッピング処理を行う。これにより、最終的な出力結果を得ることができる。
【００２３】
次に、フローチャートについて説明する。
ステップＳ１  図形データに対して事前クリップ処理を行う。
ステップＳ２  図形データに対してストローク生成処理を行い、ストロークを生成する。
ステップＳ３  本来の図形を用いてクリッピング処理を行う。
【００２４】
次に、前記事前クリップ処理の動作について詳細に説明する。
【００２５】
図１０は本発明の第１の実施の形態における事前クリップ処理のサブルーチンを示すフローチャートである。
【００２６】
まず、事前クリップ手段は、対象となる図形データにストローク属性が指定されているか否かを判定する。すなわち、ストローク属性ありか否かを判断する。そして、図形データにストローク属性が指定されていない、すなわち、ストローク属性なしの場合、事前クリップ手段はそのまま事前クリップ処理を終了する。
【００２７】
一方、図形データにストローク属性が指定されている、すなわち、ストローク属性ありの場合、事前クリップ手段は、△Ｗの値として、図７に示されるようなＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の値を設定する。
【００２８】
続いて、事前クリップ手段は、図７に示されるようなＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値を判定する。具体的には、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒであるか否かを判断する。そして、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒである場合、事前クリップ手段は、△Ｍの値として、図７に示されるようなＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔの値を設定する。また、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでない場合、事前クリップ手段は、△Ｍの値として１．０を設定する。
【００２９】
続いて、事前クリップ手段は、クリップ拡大量を設定する。具体的には、クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。
【００３０】
最後に、クリッピング手段は、設定されたクリップ拡大量によって拡大されたクリップを用いてクリッピング処理を行う。
【００３１】
次に、フローチャートについて説明する。
ステップＳ１−１  ストローク属性ありか否かを判断する。ストローク属性ありの場合はステップＳ１−２に進み、ストローク属性なしの場合は処理を終了する。
ステップＳ１−２  △Ｗの値として、ＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の値を設定する。
ステップＳ１−３  ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒであるか否かを判断する。ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒである場合はステップＳ１−５に進み、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでない場合はステップＳ１−４に進む。
ステップＳ１−４  △Ｍの値として、１．０を設定する。
ステップＳ１−５  △Ｍの値として、ＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔの値を設定する。
ステップＳ１−６  クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。
ステップＳ１−７  設定されたクリップ拡大量によって拡大されたクリップを用いてクリッピング処理を行い、処理を終了する。
【００３２】
次に、前記ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値を判定した後の動作について詳細に説明する。まず、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでない場合の動作について説明する。
【００３３】
図１１は本発明の第１の実施の形態におけるクリップ結果の例を示す第１の図である。なお、図において、 (ａ）は対象図形及びクリップ矩形、（ｂ）は拡大されたクリップ矩形、（ｃ）は拡大されたクリップ矩形によるクリップ結果、（ｄ）はクリップ結果（ｃ）によって生成されたストローク、 (ｅ）は本来のクリップ矩形による最終クリップ結果である。
【００３４】
ここでは、事前クリップ処理の対象となる図形の図形形状及び印刷可能範囲を示すクリップ矩形が、図１１（ａ）に示されるようなものであるとして説明する。
【００３５】
ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでないので、事前クリップ手段は、前述のように、△Ｍの値として１．０を設定した後、クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。そして、クリップ矩形を、図１１（ｂ）に示されるように拡大する。
【００３６】
続いて、クリッピング手段は、図１１（ｃ）に示されるように、拡大されたクリップ矩形を用いて、図形形状のクリッピング処理を行う。
【００３７】
本来のクリップ矩形に含まれるべきクリップポリゴンを生成するのに必要な図形形状は、本来のクリップ矩形からＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の距離内にある。したがって、図１１（ｃ）に示されるようなクリップ結果からストロークを生成すると、図１１（ｄ）に示されるようなストロークを得ることができる。図１１（ｄ）から、「発明が解決しようとする課題」の項で説明した図５（ｄ）に示される例において不足していたストロークポリゴンも保存されていることが分かる。
【００３８】
最後に、クリッピング手段が本来のクリップ矩形を用いてクリッピング処理を行うことによって、図１１（ｅ）に示されるような結果を得ることができる。
【００３９】
次に、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒである場合の動作について説明する。
【００４０】
図１２は本発明の第１の実施の形態におけるクリップ結果の例を示す第２の図である。なお、図において、 (ａ）は対象図形及びクリップ矩形、（ｂ）は拡大されたクリップ矩形、（ｃ）は拡大されたクリップ矩形によるクリップ結果、（ｄ）はクリップ結果（ｃ）によって生成されたストローク、 (ｅ）は本来のクリップ矩形による最終クリップ結果である。
【００４１】
ここでは、事前クリップ処理の対象となる図形の図形形状及びクリップ矩形が、図１２（ａ）に示されるようなものであるとして説明する。
【００４２】
ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒであるので、事前クリップ手段は、前述のように、△Ｍの値としてＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔの値を設定した後、クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。そして、クリップ矩形を、図１２（ｂ）に示されるように拡大する。
【００４３】
続いて、クリッピング手段は、図１２（ｃ）に示されるように、拡大されたクリップ矩形を用いて、図形形状のクリッピング処理を行う。
【００４４】
本来のクリップ矩形に含まれるべきクリップポリゴンを生成するのに必要な図形形状は、本来のクリップ矩形からＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔ×ＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の距離内にある。したがって、図１２（ｃ）に示されるようなクリップ結果からストロークを生成すると、図１２（ｄ）に示されるようなストロークを得ることができる。図１２（ｄ）から、「発明が解決しようとする課題」の項で説明した図６（ｄ）に示される例において不足していたストロークポリゴンも保存されていることが分かる。
【００４５】
最後に、クリッピング手段が本来のクリップ矩形を用いてクリッピング処理を行うことによって、図１２（ｅ）に示されるような結果を得ることができる。
【００４６】
このように、本実施の形態においては、ストロークポリゴンを生成する前に図形形状をクリッピングすることが可能である。したがって、不要なストロークポリゴンの生成を抑制することができ、画像処理装置のパフォーマンスを向上させることができる。
【００４７】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構成を有するものについては、同じ符号を付与することによって、その説明を省略する。また、前記第１の実施の形態と同じ動作及び効果についても、その説明を省略する。
【００４８】
図１３は本発明の第２の実施の形態における事前クリップ処理のサブルーチンを示すフローチャートである。
【００４９】
前記第１の実施の形態においては、すべての図形データに対して事前クリップ処理を行うようになっている。しかし、印刷可能範囲を示すクリップ矩形の外側、すなわち、クリップ図形外の図形形状に対するクリップポリゴンの生成よりも、事前クリップ処理の方がコストが高くなる場合も考えられる。
【００５０】
そこで、本実施の形態においては、事前クリップ処理において、クリッピング処理を行うか否かを判定するようになっている。
【００５１】
事前クリップ処理において、事前クリップ手段は、まず、対象となる図形データにストローク属性が指定されているか否かを判定する。すなわち、ストローク属性ありか否かを判断する。そして、図形データにストローク属性が指定されていない、すなわち、ストローク属性なしの場合、事前クリップ手段はそのまま事前クリップ処理を終了する。
【００５２】
一方、図形データにストローク属性が指定されている、すなわち、ストローク属性ありの場合、事前クリップ手段は、クリップ図形外の図形形状の長さであるＯｕｔＬｅｎｇｔｈを求める。具体的には、ＯｕｔＬｅｎｇｔｈの値として、図形形状のうちのクリップ図形外にある部分の長さを設定する。
【００５３】
続いて、事前クリップ手段は、クリップ図形内の図形形状の長さであるＩｎＬｅｎｇｔｈを求める。具体的には、ＩｎＬｅｎｇｔｈの値として、図形形状のうちのクリップ図形内にある部分の長さを設定する。
【００５４】
続いて、事前クリップ手段は、ＩｎＬｅｎｇｔｈとＯｕｔＬｅｎｇｔｈとの長さを比較し、実際に事前クリップ処理を行うか否かを判定する。具体的には、ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長いか否かを判断する。そして、ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長い場合には、そのまま事前クリップ処理を終了する。また、ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長くない場合には、△Ｗの値としてＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の値を設定する。
【００５５】
続いて、事前クリップ手段は、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値を判定する。具体的には、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒであるか否かを判断する。そして、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒである場合、事前クリップ手段は、△Ｍの値として、ＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔの値を設定する。また、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでない場合、事前クリップ手段は、△Ｍの値として１．０を設定する。
【００５６】
続いて、事前クリップ手段は、クリップ拡大量を設定する。具体的には、クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。
【００５７】
最後に、クリッピング手段は、設定されたクリップ拡大量によって拡大されたクリップを用いてクリッピング処理を行う。
【００５８】
次に、フローチャートについて説明する。
ステップＳ１−１１  ストローク属性ありか否かを判断する。ストローク属性ありの場合はステップＳ１−１２に進み、ストローク属性なしの場合は処理を終了する。
ステップＳ１−１２  ＯｕｔＬｅｎｇｔｈの値として、図形形状のうちのクリップ図形外にある部分の長さを設定する。
ステップＳ１−１３  ＩｎＬｅｎｇｔｈの値として、図形形状のうちのクリップ図形内にある部分の長さを設定する。
ステップＳ１−１４  ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長いか否かを判断する。ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長い場合は処理を終了し、ＩｎＬｅｎｇｔｈがＯｕｔＬｅｎｇｔｈより長くない場合はステップＳ１−１５に進む。
ステップＳ１−１５  △Ｗの値としてＳｔｒｏｋｅＴｈｉｃｋｎｅｓｓ／２．０の値を設定する。
ステップＳ１−１６  ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒであるか否かを判断する。ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒである場合はステップＳ１−１８に進み、ＳｔｒｏｋｅＬｉｎｅＪｏｉｎの値がＭｉｔｅｒでない場合はステップＳ１−１７に進む。
ステップＳ１−１７  △Ｍの値として、１．０を設定する。
ステップＳ１−１８  △Ｍの値として、ＳｔｒｏｋｅＭｉｔｅｒＬｉｍｉｔの値を設定する。
ステップＳ１−１９  クリップ拡大量として、△Ｗの値と△Ｍの値とを乗算した結果を設定する。
ステップＳ１−２０  設定されたクリップ拡大量によって拡大されたクリップを用いてクリッピング処理を行い、処理を終了する。
【００５９】
このように、本実施の形態においては、事前クリップ処理において、クリッピング処理を行うか否かを判定するために、クリップ図形内の図形形状の長さとクリップ図形外の図形形状の長さとを比較する。そして、前記第１の実施の形態で説明した図１１に示される例のように、クリップ図形内の図形形状の長さがクリップ図形外の図形形状の長さより長い場合には、クリッピング処理を行わず、通常のクリップのみを行うようになっている。また、前記第１の実施の形態で説明した図１２に示される例のように、クリップ図形内の図形形状の長さがクリップ図形外の図形形状の長さより長くない場合には、クリッピング処理を行うようになっている。
【００６０】
以上のように、本実施の形態においては、事前クリップ処理においてクリッピング処理を行わない場合には通常のクリップのみを行うので、事前クリッピング処理のオーバーヘッドを回避することができ、画像処理装置のパフォーマンスを向上させることができる。
【００６１】
なお、前記第１及び第２の実施の形態においては、ＰＤＬとしてＸＰＳを使用する場合についてのみ説明したが、ＰＳ（Ｐｏｓｔ  Ｓｃｒｉｐｔ）やＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）などのようなその他のＰＤＬを使用する場合にも適用可能である。
【００６２】
また、前記第２の実施の形態において、クリッピング処理を行うか否かの判定基準として、クリップ図形内の図形形状の長さとクリップ図形外の図形形状の長さとの比較を使用したが、その他の判定基準を使用することもできる。
【００６３】
さらに、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施の形態における画像処理装置の動作を示すフローチャートである。
【図２】従来の図形形状のみから成る図形データの図である。
【図３】従来のストローク属性を伴う図形データの図である。
【図４】従来のポリゴンによるストローク属性を実現した図である。
【図５】従来のストロークを伴う図形のクリッピングが失敗する第１の例を示した図である。
【図６】従来のストロークを伴う図形のクリッピングが失敗する第２の例を示した図である。
【図７】本発明の第１の実施の形態におけるＸＰＳにおけるストローク属性の第１の一覧図である。
【図８】本発明の第１の実施の形態におけるＸＰＳにおけるストローク属性の第２の一覧図である。
【図９】本発明の第１の実施の形態におけるＸＰＳの例とその描画結果を示す図である。
【図１０】本発明の第１の実施の形態における事前クリップ処理のサブルーチンを示すフローチャートである。
【図１１】本発明の第１の実施の形態におけるクリップ結果の例を示す第１の図である。
【図１２】本発明の第１の実施の形態におけるクリップ結果の例を示す第２の図である。
【図１３】本発明の第２の実施の形態における事前クリップ処理のサブルーチンを示すフローチャートである。
【図１】
0005094563.tif 000002
【図２】
0005094563.tif 000003
【図３】
0005094563.tif 000004
【図４】
0005094563.tif 000005
【図５】
0005094563.tif 000006
【図６】
0005094563.tif 000007
【図７】
0005094563.tif 000008
【図８】
0005094563.tif 000009
【図９】
0005094563.tif 000010
【図１０】
0005094563.tif 000011
【図１１】
0005094563.tif 000012
【図１２】
0005094563.tif 000013
【図１３】
0005094563.tif 000014