(57)【特許請求の範囲】
【請求項１】
楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、
その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、
前記楕円形状を規定するパラメータ、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータ、及び、前記放射グラデーションを描画する描画領域を規定するパラメータを、前記取得手段により取得された画像描画命令より抽出する抽出手段と、
その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、その楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、
その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、
前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータを、前記変換行列生成手段により生成された前記変換行列を用いて変換する第１変換手段と、
前記抽出手段により抽出されたパラメータにより規定される前記描画領域を含む第１領域を、前記変換行列生成手段により生成された前記変換行列を用いて変換する第２変換手段と、
その第２変換手段により変換された前記第１領域を含む第２領域内に、前記変換行列による変換によって得られる前記真円形状の放射グラデーションを、前記第１変換手段により変換された前記グラデーションパターンを規定するパラメータに基づいて描画する描画手段と、
その描画手段によってグラデーションが描画された前記第２領域を前記逆行列算出手段により算出される前記逆行列を用いて逆変換して、前記描画領域に前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備えることを特徴とする画像生成装置。
【請求項２】
前記抽出手段により抽出されたパラメータにより規定される前記描画領域が全て含まれる第１矩形領域を、前記第２変換手段により前記変換行列を用いて変換される前記第１領域として設定する第１矩形領域設定手段を備えることを特徴とする請求項１に記載の画像生成装置。
【請求項３】
前記描画手段は、前記画像が走査される走査線毎に前記放射グラデーションを描画するものであり、
前記第２変換手段により前記変換行列を用いて変換された前記第１領域が全て含まれ、一辺が前記走査線と平行な第２矩形領域を、前記描画手段により前記放射グラデーションが描画される前記第２領域として設定する第２矩形領域設定手段を備えることを特徴とする請求項１又は２に記載の画像生成装置。
【請求項４】
前記真円形状の放射グラデーションの描画は、グラデーションの描画に用いられる色値毎に、同一の色値が描画される真円を特定することによって行われるものであり、
前記描画手段による前記第２領域内の前記グラデーションの描画に必要な色値が描画される真円を特定する特定手段を備え、
前記描画手段は、前記特定手段により特定された真円から、前記第２領域内に前記真円形状の放射グラデーションを描画することを特徴とする請求項１から３のいずれかに記載の画像生成装置。
【請求項５】
前記文書受付手段は、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎにより記述された文書を受け付けるものであり、
前記取得手段により取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、
前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出することを特徴とする請求項１から４のいずれかに記載の画像生成装置。
【請求項６】
請求項１から５のいずれかに記載の画像生成装置と、
その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備えることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成装置および印刷装置に関するものである。
【背景技術】
【０００２】
近年、コンピュータを用いた文書作成システムや文書印刷システムの高機能化に伴い、複雑な描画を表現したいという要望がある。例えば、効果的なプレゼンテーションや立体形状を表現するために、ある描画領域の色を徐々に変化させるグラデーションが多用されるようになってきた。
【０００３】
このようなグラデーションをプリンタで印刷したり、ディスプレイ上に表示したりするためには、グラデーションパターンをビットマップ形式で生成し、ページメモリ上或いはフレームメモリ上に描画する必要がある。このグラデーションの描画は、色値の僅かに異なる複数の領域を少しずつずらしながら重ねて描画することによって行われる。このとき、同一の色値で描画すべき領域を１つ１つ特定する必要があるため、その描画に係る演算は複雑なものとなる。
【０００４】
そこで、グラデーションの描画に係る負荷を抑制しつつ、グラデーション描画を行う装置が種々提案されている。例えば、特許文献１に記載には、同心円状のグラデーション描画を行う画像形成装置において、走査線毎に色値の変化点を求め、その変化点の間を同一の色値で描画することにより、グラデーション描画のための負荷を軽減するものが記載されている。
【０００５】
一方、電子文書を記述するためのページ記述言語（以下、「ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）」と称する）として、近年、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、「ＸＰＳ」と称する）が策定され、このＸＰＳに対応した製品が登場している。このＸＰＳでは、楕円形状の放射グラデーションを描画するための画像描画命令として、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素を記述することができ、より複雑なグラデーションを表現できるようになっている。
【特許文献１】特開平１１−３１２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
さて、上述した特許文献１には、同心円状のグラデーション描画について記載されているが、楕円形状の放射グラデーションを描画する技術については記載されていない。一方、楕円形状の放射グラデーションを描画する場合に、異なる色値が描画される色値の変化点を楕円形状の軌跡に基づいて算出すると、楕円形状の軌跡を表す式が複雑であるので、その演算も非常に複雑なものとなってしまう。よって、グラデーションを描画する装置において、その描画に係る負荷が大きくなってしまうという問題点があった。
【０００７】
本発明は、上述した問題点を解決するためになされたものであり、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる画像生成装置および印刷装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
この目的を達成するために、請求項１に記載の画像生成装置は、楕円形状の放射グラデーションの画像描画命令を含む文書を受け付ける文書受付手段と、その文書受付手段により受け付けられた文書から前記画像描画命令を取得する取得手段と、前記楕円形状を規定するパラメータ、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータ、及び、前記放射グラデーションを描画する描画領域を規定するパラメータを、前記取得手段により取得された画像描画命令より抽出する抽出手段と、その抽出手段により抽出された前記楕円形状を規定するパラメータに基づいて、その楕円形状を真円形状に変換する変換行列を生成する変換行列生成手段と、その変換行列生成手段により生成される前記変換行列の逆行列を算出する逆行列算出手段と、前記抽出手段により抽出された前記グラデーションパターンを規定するパラメータを、前記変換行列生成手段により生成された前記変換行列を用いて変換する第１変換手段と、前記抽出手段により抽出されたパラメータにより規定される前記描画領域を含む第１領域を、前記変換行列生成手段により生成された前記変換行列を用いて変換する第２変換手段と、その第２変換手段により変換された前記第１領域を含む第２領域内に、前記変換行列による変換によって得られる前記真円形状の放射グラデーションを、前記第１変換手段により変換された前記グラデーションパターンを規定するパラメータに基づいて描画する描画手段と、その描画手段によってグラデーションが描画された前記第２領域を前記逆行列算出手段により算出される前記逆行列を用いて逆変換して、前記描画領域に前記楕円形状の放射グラデーションを生成するグラデーション生成手段とを備える。
【０００９】
請求項２に記載の画像生成装置は、請求項１に記載の画像生成装置において、前記抽出手段により抽出されたパラメータにより規定される前記描画領域が全て含まれる第１矩形領域を、前記第２変換手段により前記変換行列を用いて変換される前記第１領域として設定する第１矩形領域設定手段を備える。
【００１０】
請求項３に記載の画像生成装置は、請求項１又は２に記載の画像生成装置において、前記描画手段は、前記画像が走査される走査線毎に前記放射グラデーションを描画するものであり、前記第２変換手段により前記変換行列を用いて変換された前記第１領域が全て含まれ、一辺が前記走査線と平行な第２矩形領域を、前記描画手段により前記放射グラデーションが描画される前記第２領域として設定する第２矩形領域設定手段を備える。
【００１１】
請求項４に記載の画像生成装置は、請求項１から３のいずれかに記載の画像生成装置において、前記真円形状の放射グラデーションの描画は、グラデーションの描画に用いられる色値毎に、同一の色値が描画される真円を特定することによって行われるものであり、前記描画手段による前記第２領域内の前記グラデーションの描画に必要な色値が描画される真円を特定する特定手段を備え、前記描画手段は、前記特定手段により特定された真円から、前記第２領域内に前記真円形状の放射グラデーションを描画する。
【００１２】
請求項５に記載の画像生成装置は、請求項１から４のいずれかに記載の画像生成装置において、前記文書受付手段は、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎにより記述された文書を受け付けるものであり、前記取得手段により取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素である場合に、楕円形状の放射グラデーションの描画命令であることを判断する命令判断手段を備え、前記抽出手段は、前記命令判断手段により楕円形状の放射グラデーションの描画命令であると判断された前記ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、前記楕円形状の中心座標、長軸の半径および短軸の半径を、前記楕円形状を規定するパラメータとして抽出すると共に、前記グラデーションの中心座標を、前記楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出する。
【００１３】
請求項６に記載の印刷装置は、請求項１から５のいずれかに記載の画像生成装置と、その画像生成装置により生成された画像を記録媒体に印刷する印刷手段とを備える。
【発明の効果】
【００１４】
請求項１に記載の画像生成装置によれば、画像描画命令として楕円形状の放射グラデーションの描画命令が入力されると、楕円形状を真円形状に変換する変換行列が変換行列生成手段により生成され、その変換行列を用いて、楕円形状内に描画されるグラデーションパターンを規定するパラメータが第１変換手段により変換されると共に、放射グラデーションが描画される描画領域を含む第１領域が第２変換手段により変換される。そして、描画手段によって、この変換された第１領域を含む第２領域内に、変換行列による変換によって得られる真円形状の放射グラデーションが、第１変換手段により変換されたグラデーションパターンを規定するパラメータに基づいて、描画される。
【００１５】
このように、楕円形状の放射グラデーションの描画命令があった場合に、その楕円形状の放射グラデーションを直接描画するのではなく、真円形状の放射グラデーションの描画が行われるので、異なる色が描画される色の変化点を真円の軌跡に基づいて算出することができる。よって、その演算を楕円形状の放射グラデーションを描画する場合と比較して単純化することができる。従って、そのグラデーションの描画に係る負荷を抑制することができる。
【００１６】
また、真円形状の放射グラデーションの描画は第２領域内に対して行われるので、少なくとも描画領域に対応する領域に真円形状の放射グラデーションを描画することができる。更に、その第２領域として、描画領域に対応する領域を全て含みつつ、その第２領域の面積が真円形状の全領域よりも小さくなるように設定すれば、真円形状の放射グラデーションが描画される面積を小さくすることができるので、その描画に係る負荷をより小さくすることができる。
【００１７】
一方、変換行列生成手段により生成される変換行列の逆行列が逆行列算出手段により算出され、描画手段によってグラデーションの描画された第２領域が、その逆行列を用いてグラデーション生成手段によって逆変換されて、描画領域に楕円形状の放射グラデーションが生成される。これにより、画像描画命令によって規定された放射グラデーションが描画される描画領域に対して、画像描画命令に含まれるパラメータによって規定される楕円形状の放射グラデーションを容易に生成することができる。よって、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成できる画像生成装置を得ることができるという効果がある。
【００１８】
請求項２に記載の画像生成装置によれば、請求項１に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、第１矩形領域設定手段によって、放射グラデーションの描画される描画領域を全て含む第１矩形領域が、第２変換手段により変換行列を用いて変換される第１領域として設定されるので、第２変換手段による変換を、矩形形状をした第１矩形領域に対して行うことができる。換言すれば、第２変換手段による変換は、矩形形状の４つの頂点の各座標をそれぞれ変換すればよく、よって、描画領域が複雑な形状を有する場合であっても、その第２変換手段による変換に係る演算量を小さく抑えることができる。従って、描画に係る負荷をより抑制することができるという効果がある。
【００１９】
請求項３に記載の画像生成装置によれば、請求項１又は２に記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、描画手段は、画像が走査される走査線毎に放射グラデーションを描画するように構成されており、第２変換手段により変換行列を用いて変換された第１領域が全て含まれ、一辺が走査線と平行な第２矩形領域が、描画手段により放射グラデーションが描画される第２領域として、第２矩形領域設定手段により設定される。これにより、描画手段は、一辺が走査線と平行な矩形形状をした第２矩形領域に対して放射グラデーションを描画するので、各走査線における第２矩形領域の範囲を全ての走査線において同一とすることができるため、各走査線での描画の開始位置および終了位置の演算を容易にすることができる。よって、描画に係る負荷をより抑制することができるという効果がある。
【００２０】
請求項４に記載の画像生成装置によれば、請求項１から３のいずれかに記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、真円形状の放射グラデーションの描画が、グラデーションの描画に用いられる色値毎に、同一の色値が描画される真円を特定することによって行われる場合に、特定手段によって、描画手段による第２領域内のグラデーションの描画に必要な色値の描画される真円が特定され、その特定された真円から、第２領域内に真円形状の放射グラデーションが描画手段によって描画される。これにより、真円形状の放射グラデーションにおいて描画される色値のうち、第２領域内のグラデーションの描画に必要な色値が描画される真円に対して描画処理が行われる一方、不要な色値が描画される真円を特定して描画処理が行われることを防ぐことができるので、その描画に係る負荷をさらに抑制することができるという効果がある。
【００２１】
請求項５に記載の画像生成装置によれば、請求項１から４のいずれかに記載の画像生成装置の奏する効果に加えて、次の効果を奏する。即ち、文書受付手段によって、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（ＸＰＳ）により記述された文書が受け付けられ、その受け付けられた文書から、取得手段によって取得された画像描画命令がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素であれば、命令判断手段によりその画像描画命令が楕円形状の放射グラデーションの描画命令であると判断される。そして、抽出手段によって、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素から、楕円形状の中心座標、長軸の半径および短軸の半径が、楕円形状を規定するパラメータとして抽出されると共に、グラデーションの中心座標が、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして抽出される。これにより、ＸＰＳにより記述された文書に、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が存在する場合に、描画に係る負荷を抑制しつつ、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成することができるという効果がある。
【００２２】
請求項６に記載の印刷装置によれば、画像描画命令として楕円形状の放射グラデーションの描画命令が入力されると、その画像描画命令によって示される楕円形状の放射グラデーションが、請求項１から５のいずれかに記載の画像生成装置によって生成され、その生成された画像が印刷手段によって印刷される。よって、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の一実施形態におけるプリンタ制御装置１０を含むプリンタ１の電気的構成を示したブロック図である。
【００２４】
プリンタ１は、インクジェットヘッド１９を有するインクジェットプリンタであり、インクジェットヘッド１９に穿設されているノズルから紙に向けてインク滴を吐出して印刷を行う周辺装置である。また、プリンタ制御装置１０は、プリンタ１全体の動作を制御すると共に、プリンタ１で印刷される画像データを生成する装置である。
【００２５】
プリンタ１は、ＰＣ１００と通信ケーブルまたは無線通信を介して接続されており、ＰＣ１００から送信される印刷命令を受信すると、その印刷命令と共にＰＣ１００から送信されるＸＰＳによって記述された電子文書（以下、「ＸＰＳ文書」と称する）等のデータをプリンタ制御装置１０において解析し、そのデータ（ＸＰＳ文書）に従った画像データを生成して、その生成された画像データに基づく画像を紙に印刷する。
【００２６】
このとき、ＸＰＳ文書に、楕円形状の放射グラデーションの描画を指示する画像描画命令であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０（図２参照）が含まれていると、プリンタ１のプリンタ制御装置１０によって、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で示される楕円形状の放射グラデーションが、ＸＰＳ文書で規定される領域内に生成される。
【００２７】
プリンタ制御装置１０は、その楕円形状の放射グラデーションの描画に係る負荷を抑制しつつ、その楕円形状の放射グラデーションを生成できるように構成されている。尚、ここで、楕円形状の放射グラデーションとは、中心点から楕円形状で放射状に色値が変化するグラデーションのことを示す。
【００２８】
次に、プリンタ１の詳細構成について説明する。プリンタ１は、図１に示すように、プリンタ制御装置１０の他、操作パネル１４、液晶ディスプレイ（以下、「ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）」と称する）１５、搬送モータ（ＬＦモータ）１６、搬送モータ駆動回路１７、インクジェットヘッド１９、ヘッド用ドライバ２０、インターフェイス２１を備えている。
【００２９】
このうち、プリンタ制御装置１０、操作パネル１４、ＬＣＤ１５、搬送モータ駆動回路１７、ヘッド用ドライバ２０、インターフェイス２１は、入出力ポート２３を介して互いに接続されている。また、搬送モータ１６は、搬送モータ駆動回路１７に接続され、インクジェットヘッド１９は、ヘッド用ドライバ２０に接続されている。
【００３０】
プリンタ制御装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３を備えており、これらはバスライン２２を介して互いに接続されている。バスライン２２は、入出力ポート２３に接続されており、プリンタ制御装置１０の各部と、入出力ポート２３に接続された各部との間で、信号の送受信が行われる。
【００３１】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶される固定値やプログラム、或いは、インターフェイス２１を介してＰＣ１００より受信される各種信号などに従って、プリンタ１の制御や、プリンタ１で印刷される画像データの生成を行う演算装置である。
【００３２】
ＲＯＭ１２は、ＣＰＵ１１で実行される制御プログラム１２ａや、その制御プログラム１２ａで参照される固定値などを格納した書換不能な不揮発性のメモリである。図８〜図１３に示す各処理を実行するプログラムは、この制御プログラム１２ａに含まれる。
【００３３】
このうち、図８に示す印刷処理を行うプログラムは、インターフェイス２１を介してＰＣ１００から印刷命令を受信した場合にＣＰＵ１１によって実行されるもので、印刷命令と共に受信するＸＰＳ文書等のデータを解析して、そのデータに応じた画像を生成する。
【００３４】
また、図９に示す楕円放射グラデーションラスタライズ処理を行うプログラムは、ＰＣ１００から印刷命令に続いてＸＰＳ文書を受信した場合であって、そのＸＰＳ文書に楕円形状の放射グラデーションを描画するＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０（図２参照）が含まれている場合に、印刷処理を行うプログラムから、ＣＰＵ１１によって実行されるプログラムである。
【００３５】
この楕円放射グラデーションラスタライズ処理を行うプログラムがＣＰＵ１１によって実行されると、図１０に示すパラメータ取得処理、図１１に示す変換行列算出処理、図１２に示す描画最小矩形設定処理、および、図１３に示すグラデーション生成処理の各処理を実行するプログラムが順次実行される。
【００３６】
そして、これらのプログラムを実行することによって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で示される楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列が生成され、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の上位要素（例えば、Ｐａｔh要素４０）で規定されるグラデーションの描画領域（図２および図３参照）を含む最小矩形Ｒ（図４（ａ）参照）が、生成された変換行列によってアフィン変換される。次いで、アフィン変換によって楕円形状から得られる真円形状の放射グラデーションが、変換後の最小矩形Ｒを全て含む、一辺が走査線に平行な最小の矩形領域である最小矩形Ｒ２（図４（ｃ）参照）に対して描画される。尚、ここで、真円形状の放射グラデーションとは、中心点から真円形状で放射状に色値が変化するグラデーションのことである。
【００３７】
その後、生成された変換行列の逆行列が算出され、その逆行列を用いてグラデーションが描画された最小矩形Ｒ２を逆アフィン変換することによって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で示される楕円形状の放射グラデーションが、Ｐａｔｈ要素４０などの上位要素で規定されるグラデーションの描画領域内に生成される。尚、本実施形態における楕円形状の放射グラデーションの描画原理の詳細については、図４を参照して後述する。
【００３８】
ＲＡＭ１３は、書換可能な揮発性のメモリであり、各種のデータを一時的に記憶するためのメモリである。このＲＡＭ１３には、ＸＰＳデータメモリ１３ａ、グラデーションパラメータメモリ１３ｂ、描画領域メモリ１３ｃ、変換行列メモリ１３ｄ、最小矩形メモリ１３ｅ、ページメモリ１３ｆが設けられている。
【００３９】
ＸＰＳデータメモリ１３ａは、ＰＣ１００から印刷命令とともに受信したＸＰＳ文書を一時的に格納するメモリである。インターフェイス２１は、ＰＣ１００よりＸＰＳ文書を受信すると、その受信したＸＰＳ文書をＲＡＭ１３のＸＰＳデータメモリ１３ａにＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送する。これにより、ＰＣ１００から受信したＸＰＳ文書がＸＰＳデータメモリ１３ａに格納される。
【００４０】
このＸＰＳデータメモリ１３ａに格納されたＸＰＳ文書は、後述する印刷処理（図８参照）が実行されるＣＰＵ１１によって読み出され、ＸＰＳ文書の内容が解析される。そして、ＣＰＵ１１は、このＸＰＳ文書の内容に従った画像描画処理を行うことにより、プリンタ１で印刷する画像データを生成し、生成された画像データをページメモリ１３ｆに格納する。
【００４１】
グラデーションパラメータメモリ１３ｂは、ＸＰＳ文書における楕円形状の放射グラデーションの描画を指示する画像描画命令である、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０（図２参照）に含まれる、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを格納するメモリである。
【００４２】
ＣＰＵ１１は、ＸＰＳデータメモリ１３ａに格納されたＸＰＳ文書中にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０が含まれている場合に、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行されるパラメータ取得処理（図１０参照）によって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０から、楕円形状を規定するパラメータと、その楕円形状内に描画されるグラデーションパターンを規定するパラメータとを抽出し、これらをグラデーションパラメータメモリ１３ｂに格納する。尚、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０と、その要素に含まれるパラメータの詳細については、図２および図３を参照して後述する。
【００４３】
グラデーションパラメータメモリ１３ｂに格納されたパラメータのうち、楕円形状を規定するパラメータは、楕円放射グラデーションラスタライズ処理（図９参照）の中でＣＰＵ１１により実行される変換行列算出処理（図１１参照）によって、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成するために使用される。
【００４４】
また、グラデーションパラメータメモリ１３ｂに格納されたパラメータのうち、楕円形状内に描画されるグラデーションパターンを規定するパラメータの１つである、グラデーションの中心座標（図３参照）は、楕円放射グラデーションラスタライズ処理（図９参照）の中でＣＰＵ１１により実行されるグラデーション生成処理（図１３参照）によって、上述の変換行列を用いてアフィン変換される。
【００４５】
そして、そのアフィン変換後のグラデーションの中心座標を含む、グラデーションパラメータメモリ１３ｂに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータによって、図４（ｃ）に示す最小矩形Ｒ２に対して、真円形状の放射グラデーションが描画される。
【００４６】
描画領域メモリ１３ｃは、ＸＰＳ文書において、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の上位要素（Ｐａｔｈ要素４０など）に含まれる、楕円形状の放射グラデーションが描画されるグラデーション描画領域を規定するパラメータを格納するメモリである。尚、ＸＰＳ文書に含まれるＰａｔｈ要素４０の詳細については、図２および図３を参照して後述する。
【００４７】
ＣＰＵ１１は、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行されるパラメータ取得処理（図１０参照）によって、Ｐａｔｈ要素４０などの上位要素から、楕円形状の放射グラデーションが描画されるグラデーション描画領域を規定するパラメータを抽出し、それによって特定されるグラデーション描画領域のパラメータ（ベクトル情報など）を描画領域メモリ１３ｃに格納する。
【００４８】
また、ＣＰＵ１１は、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行される描画最小矩形設定処理（図１２参照）において、描画領域メモリ１３ｃを参照し、Ｐａｔｈ要素４０などから抽出されたグラデーション描画領域を全て含む最も小さい矩形領域である最小矩形Ｒを設定する（図４（ａ）参照）。
【００４９】
更に、ＣＰＵ１１は、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行されるグラデーション生成処理（図１３参照）において、描画領域メモリ１３ｃを参照し、真円形状の放射グラデーションが描画された最小矩形Ｒ２を逆アフィン変換することにより得られる領域から、その描画領域メモリ１３ｃに格納されたパラメータに基づいて、グラデーション描画領域を切り出す。
【００５０】
尚、ＸＰＳ文書では、Ｐａｔｈ要素以外に、他の要素（Ｇｌｙｐｈｓ要素、Ｃａｎｖａｓ要素など）によっても、グラデーション描画領域を規定することができる。本実施形態では、ＸＰＳ文書に、そのようなグラデーション描画領域を規定する要素があれば、その要素からグラデーション描画領域を特定し、そのグラデーション描画領域を規定するパラメータを、描画領域メモリ１３ｃに格納する。
【００５１】
変換行列メモリ１３ｄは、ＸＰＳ文書のＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状から真円形状にアフィン変換する変換行列を格納するメモリである。ＣＰＵ１１は、後述する楕円放射グラデーションラスタライズ処理（図６参照）の中で実行される変換行列算出処理によって、グラデーションパラメータメモリ１３ｂに格納された楕円形状を規定するパラメータに基づいて、楕円形状から、中心を原点とした真円形状にアフィン変換する変換行列を生成し、その生成した変換行列を変換行列メモリ１３ｄに格納する。
【００５２】
この変換行列メモリ１３ｄに格納された変換行列は、グラデーションパラメータメモリ１３ｂに格納された楕円形状内に描画されるグラデーションパターンを規定するパラメータのうち、グラデーションの中心座標（図２および図３参照）をアフィン変換する場合に用いられる。
【００５３】
このとき、アフィン変換後のグラデーションの中心座標がＹ軸上の０又は正側にない場合、ＣＰＵ１１は、そのアフィン変換後のグラデーションの中心座標がＹ軸上の正側に配置されるように、変換行列に回転の要素を追加して、新たな変換行列を生成する。そして、新たに生成された変換行列は、変換行列メモリ１３ｄに上書きによって格納される。尚、変換行列の追加される回転の要素については、図４を参照して後述する。
【００５４】
グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標は、最終的に変換行列メモリ１３ｄに格納された変換行列（即ち、回転の要素が追加された変換行列）によって、再びアフィン変換される。また、上述の最小矩形Ｒも、最終的に変換行列メモリ１３ｄに格納された変換行列によって、アフィン変換される。
【００５５】
そして、最小矩形Ｒに対するアフィン変換によって得られる領域を含む最小の矩形領域である最小矩形Ｒ２（図４（ｃ）参照）に対して、アフィン変換によって得られる真円形状の放射グラデーションを描画する。
【００５６】
また、最終的に変換行列メモリ１３ｄに格納された変換行列（即ち、回転要素が追加された変換行列）は、ＣＰＵ１１によって、その逆行列が算出される。そして、真円形状の放射グラデーションが描画された最小矩形Ｒ２を、算出した逆行列を用いて逆アフィン変換することで、上位要素で規定される描画領域に対して生成された、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で示される楕円形状の放射グラデーションを得ることができる。
【００５７】
最小矩形メモリ１３ｅは、変形行列メモリ１３ｄに格納された変換行列によって楕円形状から得られる真円形状の放射グラデーションが描画される最小矩形Ｒ２（図４（ｃ）参照）の座標を格納するメモリである。
【００５８】
ＣＰＵ１１は、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行される描画最小矩形設定処理（図１０参照）によって、描画領域メモリ１３ｃに格納された楕円形状の放射グラデーションを描画する描画領域を規定するパラメータから、その描画領域を全て含む最小矩形Ｒ（図４（ａ）参照）を設定し、その最小矩形Ｒをアフィン変換する。そして、その最小矩形Ｒのアフィン変換によって得られた領域を全て含む最小矩形Ｒ２を設定して、その最小矩形Ｒ２の座標を最小矩形メモリ１３ｅに格納する。
【００５９】
また、ＣＰＵ１１は、楕円放射グラデーションラスタライズ処理（図９参照）の中で実行されるグラデーション生成処理（図１３参照）によって、最小矩形メモリ１３ｅに格納された最小矩形Ｒ２の座標から、真円形状の放射グラデーションにおいて形成される同一の色値が描画される真円のうち、最小矩形Ｒ２の描画に必要な真円を特定すると共に、最小矩形メモリ１３ｅに格納された最小矩形Ｒ２の座標に基づいて、その最小矩形Ｒ２に対し、真円形状の放射グラデーションを描画する。尚、最小矩形Ｒ２の描画に必要な真円の特定方法については、図６および図７を参照して、後述する。
【００６０】
ページメモリ１３ｆは、プリンタ制御装置１０によって生成された、プリンタ１で印刷される画像データを、ビットマップ形式で格納するメモリである。楕円放射グラデーションラスタライズ処理（図９参照）によって生成された楕円形状の放射グラデーションや、その他ＸＰＳ文書等のデータに従って生成された画像データが、このページメモリ１３ｆ上にラスタライズされる。
【００６１】
そして、印刷処理（図８参照）により、ＰＣ１００から印刷命令と共に受信したデータに従って、印刷される画像データがページメモリ１３ｆ上にラスタライズされると、ＣＰＵ１１は、搬送モータ駆動回路１７やヘッド用ドライバ２０を駆動して、ページメモリ１３ｆに格納された画像データから、紙にその画像データに対応する画像を紙に印刷する。
【００６２】
次に、操作パネル１４は、プリンタの設定や、各種動作の指示を行うための入力ボタンによって構成されたユーザインターフェイスである。ＬＣＤ１５は、操作パネル１４の操作に応じてメニューや動作状態などを表示するための表示デバイスである。ユーザは操作パネル１４を操作することにより、その操作に対応する情報がＬＣＤ１５に表示される。
【００６３】
搬送モータ（ＬＦモータ）１６は、プリンタ１の所定の位置に配置された紙を搬送方向の上流から下流又はその逆方向に搬送するためのステッピングモータであり、その駆動はＣＰＵ１１からの指示により搬送モータ駆動回路１７によって制御される。この搬送モータ１６の駆動により、インクジェットヘッド１９の下面（ノズル端の対向面）に紙が給送される。
【００６４】
インクジェットヘッド１９は、複数のノズル、アクチュエータ（いずれも図示せず）を備えた印字ヘッドであり、シアン、マゼンタ、イエロー、ブラックの各インクに対応した４つのインクジェットヘッドが設けられている。また、ヘッド用ドライバ２０は、インクジェットヘッド１９に設けられたアクチュエータを駆動する駆動回路である。
【００６５】
ＣＰＵ１１は、ページメモリ１３ｆに格納された画像データに基づいて、シアン、マゼンタ、イエロー、ブラックの各インクに対応した多値化データを生成し、その多値化データを、ゲートアレイ（図示せず）を介してヘッド用ドライバ２０へ送信する。ヘッド用ドライバ２０は、送信された多値化データに合った波形の駆動パルスを生成し、その駆動パルスを各ノズルに対応したアクチュエータに印加することによって、各ノズルからインク滴が吐出され、ページメモリ１３ｆに格納された画像データに対応する画像が紙に印刷される。
【００６６】
インターフェイス２１は、プリンタ１とＰＣ１００とのデータの送受信を制御するためのものであり、プリンタ１は、このインターフェイス２１を介して、ＰＣ１００から印刷命令および印刷すべき画像を示すデータ（ＸＰＳ文書など）を受信する。
【００６７】
このとき、インターフェイス２１は、ＰＣ１００から印刷命令を受信すると、ＣＰＵ１１に対してその旨を通知する割り込み信号を送信する。また、インターフェイス２１は、ＰＣ１００からＸＰＳ文書を受信すると、そのＸＰＳ文書をＲＡＭ１３に設けられたＸＰＳデータメモリ１３ａにＤＭＡ転送する。
【００６８】
次いで、図２および図３を参照して、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０と、その上位要素であるＰａｔｈ要素４０の詳細について説明する。図２は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０およびＰａｔｈ要素４０の例、及び、それらの要素で規定されるパラメータを説明する説明図である。また、図３は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０およびＰａｔｈ要素４０で規定されたパラメータによって描画される楕円形状の放射グラデーションの例を示した図である。
【００６９】
まず、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０は、図２に示すように、複数の属性およびサブ要素から構成されている。このうち、”Ｃｅｎｔｅｒ”属性３１、”ＲａｄｉｕｓＸ”属性３３、”ＲａｄｉｕｓＹ”属性３４は、楕円形状を規定するパラメータを与えるものである。一方、”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素３５は、楕円形状内に描画されるグラデーションパターンを規定するパラメータを与えるものである。
【００７０】
”Ｃｅｎｔｅｒ”属性３１は、図３に示す楕円形状の中心座標（Ｃｘ，Ｃｙ）を与えるものである。ここで、楕円形状の中心とは、楕円形状の長軸および短軸が交わる点のことである。
【００７１】
”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２は、図３に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）を与えるものである。ここで、グラデーションの中心とは、放射グラデーションにおける色の変化の始点（グラデーションの始点）のことである。
【００７２】
放射グラデーションは、このグラデーションの中心から、グラデーションにおける色の変化の終点（グラデーションの終点）であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で規定される楕円形状の外周上の点までの間で、色が徐々に変化するように表現される。
【００７３】
尚、これら”Ｃｅｎｔｅｒ”属性３１，”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２によって与えられるパラメータは、ＸＰＳ文書によって示される印刷領域の左上端の位置を原点として、互いに直交する２つの座標軸（Ｘ軸、Ｙ軸）で示される直交座標系によって表わされている（図３参照）。
【００７４】
この直交座標系では、印刷領域の左右方向がＸ軸となり、左から右に向けてＸ軸の正方向が規定されている。一方、印刷領域の上下方向がＹ軸となり、上から下に向けてＹ軸の正方向が規定されている。
【００７５】
図２に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の例では、楕円形状の中心座標は”Ｃｅｎｔｅｒ”属性３１より（１５０，１５０）が与えられる。また、グラデーションの中心座標は”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２より（２００，１７０）が与えられる。
【００７６】
一方、”ＲａｄｉｕｓＸ”属性３３は、楕円形状におけるＸ軸方向の半径（以下、「Ｘ径」と称する）Ｒｘを与えるものである。また、”ＲａｄｉｕｓＹ”属性３４は、楕円形状におけるＹ軸方向の半径（以下、「Ｙ径」と称する）Ｒｙを与えるものである。
【００７７】
尚、”ＲａｄｉｕｓＸ”属性３３および”ＲａｄｉｕｓＹ”属性３４のパラメータによって規定される楕円形状は、Ｘ軸方向およびＹ軸方向にその楕円形状の長軸および短軸が設定されるようになっている。
【００７８】
従って、ＲｘおよびＲｙのうち、値の小さい方が楕円形状の短軸の半径となり、値の大きい方が長軸の半径となる。また、楕円形状のＸ軸方向の長さは、図３に示すように、２Ｒｘとなり、Ｙ軸方向の長さは２Ｒｙとなる。
【００７９】
図２に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の例では、Ｘ径は”ＲａｄｉｕｓＸ”属性３３より「１４０」が与えられ、Ｙ径は”ＲａｄｉｕｓＹ”属性３４より「１００」が与えられる。
【００８０】
一方、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素３５は、グラデーションの色値を規定するパラメータを与えるものである。この要素３５は、更に２つのＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａ，３５ｂから構成されている。このＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａ，３５ｂは、ともに”Ｃｏｌｏｒ”属性と、”Ｏｆｆｓｅｔ”属性とを含んでいる。
【００８１】
”Ｃｏｌｏｒ”属性は、”Ｏｆｆｓｅｔ”属性で示される点における赤、緑、青それぞれの色値を与えるもので、６桁の１６進数で与えられる。このうち、上位２桁の１６進数が赤の色値を与え、続く２桁の１６進数が緑の色値を与え、残る２桁の１６進数が青の色値を与える。
【００８２】
”Ｏｆｆｓｅｔ”属性は、”Ｃｏｌｏｒ”属性で示される色値で表わされる点を規定するものである。例えば、”Ｏｆｆｓｅｔ”属性の値が「０」の場合、”Ｃｏｌｏｒ”属性で示される色値がグラデーションの中心（グラデーションの始点）における色値であることを示し、”Ｏｆｆｓｅｔ”属性の値が「１」の場合、”Ｃｏｌｏｒ”属性で示される色値がＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で規定される楕円形状の外周上の点（グラデーションの終点）における色値であることを示す。
【００８３】
よって、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａにより、図３に示すように、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓが与えられ、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂにより、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅが与えられる。
【００８４】
図２に示したＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の例では、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓは、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａより、それぞれ「（ＦＦ）１６」「（ＦＦ）１６」「（００）１６」が与えられる。
【００８５】
また、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅは、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂより、それぞれ「（００）１６」「（００）１６」「（ＦＦ）１６」が与えられる。尚、「（ＦＦ）１６」は、１６進数の”ＦＦ”（１０進数の２５５）であることを示し、「（００）１６」は、１６進数の”００”（１０進数の０）であることを示す。
【００８６】
このような複数の属性およびサブ要素を含むＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって、図３に示すように、”Ｃｅｎｔｅｒ”属性３１により与えられる楕円形状の中心座標（Ｃｘ，Ｃｙ）から、印刷領域においてその楕円形状が描画される位置が特定され、”ＲａｄｉｕｓＸ”属性３３および”ＲａｄｉｕｓＹ”属性３４により与えられる楕円形状のＸ径ＲｘおよびＹ径Ｒｙから、その楕円形状における外周の形および大きさが特定される。そして、これらにより、印刷領域における楕円形状の外周上の点の位置が特定される。
【００８７】
また、”ＧｒａｄｉｅｎｔＯｒｉｇｉｎ”属性３２により与えられるグラデーションの中心座標（Ｇｘ，Ｇｙ）によって、印刷領域におけるグラデーションの中心の位置が特定される。
【００８８】
そして、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ａにより与えられるグラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓと、ＧｒａｄｉｅｎｔＳｔｏｐ要素３５ｂにより与えられる楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅとを、そのグラデーションの中心と楕円形状の外周上の点との距離に応じて内挿することにより、楕円形状内のグラデーションパターンが特定される。
【００８９】
次いで、Ｐａｔｈ要素４０について説明する。Ｐａｔｈ要素４０は、Ｐａｔｈ．Ｆｉｌｌ要素４１に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０などの各要素に対応した図形が描画される描画領域を規定するもので、換言すれば、このＰａｔｈ要素４０で規定された描画領域の中に、Ｐａｔｈ．Ｆｉｌｌ要素４１に含まれる各要素に対応した図形が描画される。
【００９０】
このＰａｔｈ要素４０は、図２に示すように、”Ｄａｔａ”属性を含んでおり、この”Ｄａｔａ”属性によって、描画領域に関する情報が、上述したＸ軸、Ｙ軸で示される直交座標系によって表わされる。
【００９１】
即ち、”Ｄａｔａ”属性には、「Ｍ  Ｍｘ，Ｍｙ」、「Ｌ  Ｌｘ，Ｌｙ」、「Ｚ」等のコマンドが含まれており、このコマンドによって示される線分によって描画領域が規定される。例えば、「Ｍ  Ｍｘ，Ｍｙ」コマンドは、座標（Ｍｘ，Ｍｙ）にエンドポイントと呼ばれるポイントを移動させるコマンドで、このコマンドにより、描画領域の始点が規定される。
【００９２】
また、「Ｌ  Ｌｘ，Ｌｙ」コマンドは、エンドポイントを座標（Ｌｘ，Ｌｙ）まで移動させ、移動前後のエンドポイント間を直線で引くコマンドであり、このコマンドにより描画領域の各頂点が規定される。
【００９３】
更に、「Ｚ」コマンドは、エンドポイントを描画領域の始点（Ｍｘ，Ｍｙ）に移動させ、移動前後のエンドポイント間を直線で引くことで、線を閉じるコマンドであり、このコマンドによって、描画領域全体の形状が特定される。
【００９４】
図２に示したＰａｔｈ要素４０の例では、”Ｄａｔａ”属性の「Ｍ  Ｍｘ，Ｍｙ」コマンドにより、描画領域の始点の座標として（１００，１４０）が与えられる。また、”Ｄａｔａ”属性の「Ｌ  Ｌｘ，Ｌｙ」コマンドにより、描画領域の頂点の座標として（１４０，１６０）および（１２０，８０）が与えられ、座標（１００，１４０）で示される点と座標（１４０，１６０）で示される点との間、及び、座標（１４０，１６０）で示される点と座標（１２０，８０）で示される点との間が、直線で結ばれる。
【００９５】
更に、”Ｄａｔａ”属性の「Ｚ」コマンドによって、座標（１２０，８０）で示される点と、座標（１００，１４０）で示される点との間が、直線で結ばれる。従って、この例では、３つの点（１００，１４０）、（１４０，１６０）、（１２０，８０）を頂点とした三角形の領域が、Ｐａｔｈ．Ｆｉｌｌ要素４１に含まれる要素に対応した図形が描画される描画領域として特定される。
【００９６】
そして、この例では、Ｐａｔｈ．Ｆｉｌｌ要素４１にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０が含まれているので、Ｐａｔｈ要素４０で規定される描画領域が、図３に示すように、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で規定される楕円形状の放射グラデーションが描画されるグラデーション描画領域として特定される。
【００９７】
このように、Ｐａｔｈ要素４０によって、Ｐａｔｈ．Ｆｉｌｌ４１に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって描画される楕円形状の放射グラデーションが描画されるグラデーション描画領域が特定される。そして、Ｐａｔｈ要素４０より特定されたグラデーション描画領域を規定するパラメータ（ベクトル情報など）が、描画領域メモリ１３ｃに格納される。
【００９８】
次いで、図４を参照して、本実施形態における楕円形状の放射グラデーションの描画原理について説明する。図４は、その楕円形状の放射グラデーションの描画原理を説明する説明図である。なお、以下の説明において、次式に示す３行３列の行列を（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）と表記する。
【００９９】
【数１】
0004518172.tif 000002
本実施形態において、ＰＣ１００から印刷命令と共に受信したデータがＸＰＳ文書であって、そのＸＰＳ文書にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０が含まれていると、プリンタ制御装置１０は、まず、図４（ａ）に示す各種パラメータ、即ち、楕円の中心座標（Ｃｘ，Ｃｙ）、Ｘ径Ｒｘ、Ｙ径Ｒｙといった楕円形状を規定するパラメータと、グラデーションの中心座標（Ｇｘ，Ｇｙ）、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓ、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅといった楕円形状内に描画されるグラデーションパターンを規定するパラメータとを、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０から抽出する。
【０１００】
また、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の上位要素であるＰａｔｈ要素４０などから、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状の放射グラデーションが描画されるグラデーション描画領域を規定するパラメータを抽出する（図４（イ））。
【０１０１】
尚、図４（ａ）は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で規定されたパラメータによって描画される楕円形状の放射グラデーションと、Ｐａｔｈ要素で規定されるグラデーション描画領域の例を示す図であり、図３と同一の図である。
【０１０２】
次に、抽出した楕円形状を規定するパラメータを用いて、図４（ａ）に示す楕円形状を、図４（ｂ）に示す半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換する変換行列Ａを、以下の（１）式によって生成する（図４（ロ））。
【０１０３】
Ａ＝（１，０，０，Ｒｘ／Ｒｙ，−Ｃｘ，−（Ｒｘ／Ｒｙ）・Ｃｙ）  ・・・（１）
尚、本実施形態では、以下、図４（ａ）に示す楕円形状を、図４（ｂ）に示す半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換する場合について説明するが、楕円形状を半径がＲｙで中心座標が原点（０，０）である真円形状にアフィン変換してもよいし、楕円形状を半径がＲ（Ｒは任意の値）で中心座標が原点（０，０）である真円形状にアフィン変換してもよい。
【０１０４】
前者の場合、変換行列Ａは以下の（２）式によって生成され、後者の場合、変換行列Ａは（３）式によって生成される。
【０１０５】
Ａ＝（Ｒｙ／Ｒｘ，０，０，１，−（Ｒｙ／Ｒｘ）・Ｃｘ，−Ｃｙ）  ・・・（２）
Ａ＝（Ｒ／Ｒｘ，０，０，Ｒ／Ｒｙ，−（Ｒ／Ｒｘ）・Ｃｘ，−（Ｒ／Ｒｙ）・Ｃｙ）  ・・・（３）
次いで、図４（ａ）に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）を（１）式によって生成した変換行列Ａを用いて、アフィン変換する（図４（ハ））。そして、図４（ｂ）に示すアフィン変換後のグラデーションの中心がＹ軸上の０又は正側にあるか否かを判断し、アフィン変換後のグラデーションの中心がＹ軸上の０および正側にない場合には、そのグラデーションの中心および原点（０，０）を結んだ線分と、Ｙ軸正方向とによって成す角度θ（図４（ｂ）参照）を算出する（図４（ニ））。
【０１０６】
そして、原点を中心に角度θだけ回転するアフィン変換を行う変換行列Ｂ’を以下の（４）式によって生成し、（５）式に示すように、この変換行列Ｂ’を変換行列Ａに乗算することによって、変換行列Ａに回転の要素を追加した変換行列Ｂを生成する（図４（ホ））。
【０１０７】
Ｂ’＝（ｃｏｓθ，ｓｉｎθ，−ｓｉｎθ，ｃｏｓθ，０，０）  ・・・（４）
Ｂ＝Ａ・Ｂ’  ・・・（５）
尚、（１）式によって生成される変換行列Ａによって変換されたグラデーションの中心が、Ｙ軸上の０又は正側にある場合には、（１）式の変換行列Ａがそのまま変換行列Ｂとして使用される。
【０１０８】
次に、グラデーション描画領域を全て含む最小矩形Ｒを設定する（図４（ヘ））。ここで、最小矩形Ｒを設定するのは、以下の理由による。即ち、後の処理で、グラデーションが描画される領域をアフィン変換するが、グラデーション描画領域が複雑な形状をしている場合、そのグラデーション描画領域を直接アフィン変換すれば、その演算が複雑なものとなる。
【０１０９】
そこで、グラデーション描画領域を全て含む最小矩形Ｒを設定し、その最小矩形Ｒに対してアフィン変換を行うことによって、アフィン変換に係る演算を単純化し、描画に係る負荷の抑制を図っている。
【０１１０】
尚、本実施形態では、処理の単純化のために、Ｐａｔｈ要素４０などによって規定されるグラデーション描画領域の形状に関わらず、このグラデーション描画領域に対して最小矩形Ｒを設定するが、そのグラデーション描画領域の形状の複雑さを判定し、グラデーション描画領域の形状が複雑であると判断できる場合に限り、最小矩形Ｒを設定するようにしてもよい。この場合において、グラデーション描画領域の形状が単純であると判断された場合には、グラデーション描画領域を直接アフィン変換してもよい。
【０１１１】
グラデーション描画領域の形状の複雑さの判定としては、例えば、グラデーション描画領域の頂点の数が所定数以上（例えば、頂点の数が５以上）であれば、その形状を複雑であると判断し、それ以外であれば、その形状を単純であると判断してもよい。また、グラデーション描画領域の外周に、曲線部分が含まれる場合には、その形状を複雑であると判断してもよい。
【０１１２】
次いで、上述の変換行列Ｂを用いて、図４（ａ）に示すグラデーションの中心座標（Ｇｘ，Ｇｙ）を再度アフィン変換することによって（図４（ト））、図４（ａ）に示す楕円形状が、図４（ｃ）に示すように、半径がＲｘで中心座標が原点（０，０）である真円形状に変換されると共に、グラデーションの中心がＹ軸上の０又は正側に配置される。
【０１１３】
また、最小矩形Ｒも変換行列Ｂを用いて、アフィン変換する（図４（ト））。これにより、楕円形状からアフィン変換された真円形状において最小矩形Ｒに対応する領域を、図４（ｃ）に示すように、特定することができる。
【０１１４】
次に、真円形状における最小矩形Ｒに対応する領域（即ち、変換行列Ｂによるアフィン変換後の最小矩形Ｒの領域）を全て含む、一辺が走査線に平行な最小の矩形領域である最小矩形Ｒ２を設定する（図４（チ））。
【０１１５】
そして、最小矩形Ｒ２に対して、図４（ｃ）に示す真円形状の放射グラデーションを描画するラスタライズ処理を実行する（図４（リ））。即ち、Ｙ軸上の０又は正側に配置されたアフィン変換後のグラデーションの中心（グラデーションの始点）における赤、緑、青の各色値をＲｓ，Ｇｓ，Ｂｓとし、真円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値をＲｅ，Ｇｅ，Ｂｅとして、そのグラデーションの始点から終点に向けて各色値が徐々に変化する図４（ｄ）に示す放射グラデーションを、最小矩形Ｒ２内に生成する。
【０１１６】
そして、その生成された真円形状内の放射グラデーションをビットマップ形式によってＲＡＭ１３に格納することによって、ラスタライズ処理を実行する。尚、真円形状の放射グラデーションの生成方法の詳細については、図５を参照して後述する。
【０１１７】
ここで、最小矩形Ｒ２は、一辺が走査線と平行な矩形形状として設定されているので、このラスタライズ処理において、各走査線における最小矩形Ｒ２の範囲を、全ての走査線において同一とすることができる。よって、各走査線での描画の開始位置および終了位置の演算を容易にすることができ、描画に係る負荷をさらに抑制することができる。
【０１１８】
また、本実施形態では、最小矩形Ｒ２に対して真円形状の放射グラデーションを描画する場合に、真円形状の放射グラデーションにおいて形成される同一の色値が描画される真円のうち、最小矩形Ｒ２の描画に必要な真円が特定され、その特定された真円から、最小矩形Ｒ２に対して真円形状の放射グラデーションが描画される。
【０１１９】
たとえば、図４（ｄ）に図示した例では、最小矩形Ｒ２の描画に必要な真円として、一番外周の真円と一番内側の真円とを除く、外周から２番目〜４番目の真円を特定する。そして、その外周から２番目〜４番目の真円から、最小矩形Ｒ２に対して真円形状の放射グラデーションを描画する。
【０１２０】
これにより、真円形状の放射グラデーションにおいて描画される色値のうち、最小矩形Ｒ２の描画に必要な真円に対して描画処理が行われる一方、不要な真円を特定して描画処理が行われることを防ぐことができ、その描画に係る負荷をさらに抑制することができる。
【０１２１】
次いで、ＲＡＭ１３に格納されている、図４（ｄ）に示す真円形状の放射グラデーションが描画された最小矩形Ｒ２に対して、逆アフィン変換を行う（図４（ヌ））。この逆アフィン変換で用いられる変換行列は、図４（ａ）に示す楕円形状を図４（ｃ）に示す真円形状にアフィン変換する変換行列Ｂの逆行列である。
【０１２２】
ここで、最小矩形Ｒ２は、Ｐａｔｈ要素４０などによって規定されるグラデーション描画領域を全て含むアフィン変換後の最小矩形Ｒを全て含んだ矩形領域であるので、この最小矩形Ｒ２を逆アフィン変換することによって得られる領域は、グラデーション描画領域を全て含んでいる。
【０１２３】
そこで、逆アフィン変換された最小矩形Ｒ２から、そのグラデーション描画領域を切り出すことによって、図４（ｅ）に示すように、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０により規定される楕円形状の放射グラデーションが生成されたグラデーション描画領域を得ることができる。
【０１２４】
尚、ここで生成された楕円形状の放射グラデーションは、ビットマップ形式でページメモリ１３ｄに格納される。これにより、楕円形状の放射グラデーションが生成されたグラデーション描画領域がラスタライズされる。
【０１２５】
次いで、図５を参照して、真円形状の放射グラデーションの生成方法について説明する。図５は、真円形状の放射グラデーションに対し、赤における放射グラデーションの生成方法を説明する説明図である。
【０１２６】
尚、真円形状の放射グラデーションを生成する場合、赤、緑、青における放射グラデーションがそれぞれ独立して生成されるが、緑および青における放射グラデーションの生成は、赤における放射グラデーションの生成と同一の方法で行われるので、その図示と説明を省略する。
【０１２７】
真円形状の放射グラデーションは、そのグラデーションが描画される最小矩形Ｒ２において、その最小矩形Ｒ２を描画するのに必要な一番外側の真円から順に、同一の色値を有する真円の中心座標と半径とを算出し、それらによって規定される真円形状内を同一の色値で描画することによって生成する。
【０１２８】
各真円の中心座標と半径、およびその真円において描画すべき色値は、以下の式によって算出する。まず、真円形状の外周（真円０）の中心座標Ｃ０および半径ｒ０は、それぞれ（０，０）及びＲｘが設定される。そして、それらによって規定される真円０上の点および真円０内部に描画する色値Ｒ０は、真円形状の外周上の点（グラデーションの終点）における色値Ｒｅに設定される。真円０上の点および真円０内部は、この色値Ｒ０で描画される。
【０１２９】
また、真円０に描画される色値Ｒ０とは異なる色値Ｒ１が描画される一つ内側の真円１の中心座標Ｃ１（Ｃ１ｘ，Ｃ１ｙ）および半径ｒ１と、その真円１内部に描画する色値Ｒ１とは、以下の（６）式〜（９）式を用いて算出される。
【０１３０】
Ｃ１ｘ＝０  ・・・（６）
Ｃ１ｙ＝Ｇ’ｙ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（７）
ｒ１＝ｒ０−ｒ０・ｋ／（Ｒｅ−Ｒｓ）  ・・・（８）
Ｒ１＝Ｒｅ−ｋ  ・・・（９）
ここで、Ｇ’ｙは、変換行列Ｂによるアフィン変換後の放射グラデーションの中心のＹ座標である。
【０１３１】
また、ｋは隣り合う環状領域に描画される色値の変化量であり、本実施形態では、放射グラデーションの中心における色値Ｒｓが真円形状の外周上の点における色値Ｒｅよりも大きい場合に負の値、例えば「−１」の値が設定される。また、放射グラデーションの中心における色値Ｒｓが真円形状の外周上の点における色値Ｒｅよりも小さい場合に正の値、例えば「＋１」の値が設定さる。尚、変化量ｋの絶対値は、人間の知覚や使用する色空間の特徴およびプリンタ１における色再現能力などを考慮して、色の変化が滑らかであると感じられる値を選べばよい。
【０１３２】
（６）式から（８）式によって算出された真円１の中心座標Ｃ１（Ｃ１ｘ，Ｃ１ｙ）および半径ｒ１によって規定される真円内部は、（９）式によって算出された色値Ｒ１で描画される。
【０１３３】
更に、真円２、真円３、・・・、真円ｎ、・・・のうち、最小矩形Ｒ２を描画するのに必要な真円の中心座標、半径、および色値が、外側の真円から順に算出され、中心座標および半径で規定される各真円内部が、対応する真円の色値で描画される。そして、最小矩形Ｒ２を描画するのに必要な全ての真円について、その中心座標、半径、および色値が算出され、その算出された色値で描画されるまで、この処理が繰り返し行われる。尚、真円ｎ（ｎが０又は１の場合を含む）の中心座標Ｃｎ（Ｃｎｘ，Ｃｎｙ）、半径ｒｎおよび色値Ｒｎは以下の（１０）式〜（１３）式を用いて算出される。
【０１３４】
Ｃｎｘ＝０  ・・・（１０）
Ｃｎｙ＝Ｇ’ｙ・ｎ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（１１）
ｒｎ＝ｒ０−ｒ０・ｎ・ｋ／（Ｒｅ−Ｒｓ）  ・・・（１２）
Ｒｎ＝Ｒｅ−ｎ・ｋ  ・・・（１３）
以上の方法によって、真円形状における放射グラデーションの生成が行われる。ここで、変換行列Ｂを用いたアフィン変換によって、放射グラデーションの中心がＹ軸上の０又は正側に配置されているので、同一の色値を有する真円形状の中心座標を算出する場合、Ｘ座標は０に固定することができる。
【０１３５】
換言すれば、同一の色値が描画される真円形状の中心座標をＹ座標のみを用いた一次元の関数として算出することができるので、真円形状に対してグラデーションを描画するときの演算量を削減することができる。
【０１３６】
また、変換行列Ｂを用いたアフィン変換によって、放射グラデーションの中心がＹ軸上の０又は正側に配置されることにより、アフィン変換後の放射グラデーションの中心が、常に真円形状の中心と同じか、それよりも正側に位置するように固定することができる。
【０１３７】
次いで、図６および図７を参照して、最小矩形Ｒ２の描画に必要な真円の特定方法について説明する。まず、図６は、最小矩形Ｒ２の描画に必要な真円のうち、一番外側の真円を特定する方法を説明する説明図である。
【０１３８】
この一番外側の真円を特定する場合、真円形状のグラデーションの中心から真円形状の外周に向けて順番に、同一の色値が描画される真円に対して、それぞれ図６に示す条件を満足することによって最小矩形Ｒ２の全てがその真円の内部に含まれるかをそれぞれ判断する。そして、最小矩形Ｒ２の全てがその真円の内部に含まれると判断される最初の真円を、最小矩形Ｒ２の描画に必要な真円のうち、一番外側の真円として特定する。
【０１３９】
真円ｎに対して、最小矩形Ｒ２の全てが真円ｎの内部に含まれるか否かの判断は、以下によって行われる。尚、以下の説明では、最小矩形Ｒ２の右下の点（即ち、最小矩形Ｒ２におけるＸ座標およびＹ座標が共に最大の点）の座標を（ＵＲｘ，ＵＲｙ）、最小矩形Ｒ２の左上の点（即ち、最小矩形Ｒ２におけるＸ座標およびＹ座標が共に最小の点）の座標を（ＬＬｘ、ＬＬｙ）とし、真円ｎの中心Ｃｎの座標を（０，Ｃｎｙ）、半径をｒｎとして説明する。
【０１４０】
まず、最小矩形Ｒ２における右下の点のＸ座標ＵＲｘの絶対値と、左上の点のＸ座標ＬＬｘの絶対値とを比較し、いずれか大きいほうの値を２乗して、それを変数ｌｅｎ＿ｘに代入する。即ち、左上の点のＸ座標ＬＬｘの絶対値が右下の点のＸ座標ＵＲｘの絶対値よりも大きい場合には、変数ｌｅｎ＿ｘにＬＬｘを２乗した値を代入し、その他の場合には、変数ｌｅｎ＿ｘにＵＲｘを２乗した値を代入する。
【０１４１】
そして、以下の（１４）式および（１５）式により、最小矩形Ｒ２における右下および    
左上の２点が、真円ｎの内部に含まれているか否かをそれぞれ判定する。
【０１４２】
（ＬＬｙ−Ｃｎｙ）×（ＬＬｙ−Ｃｎｙ）＋ｌｅｎ＿ｘ＜ｒｎ×ｒｎ・・・（１４）
（ＵＲｙ−Ｃｎｙ）×（ＵＲｙ−Ｃｎｙ）＋ｌｅｎ＿ｘ＜ｒｎ×ｒｎ・・・（１５）
これら（１４）式および（１５）式をいずれも満足する場合、最小矩形Ｒ２における右下および左上の２点が、真円ｎの内部に含まれていると判断することができる。
【０１４３】
そして、これらの２点が真円ｎの内部に含まれていれば、最小矩形Ｒ２の全てが真円ｎの内部に含まれていると判断できる。従って、本実施形態では、（１４）式および（１５）式をいずれも満足する場合に、最小矩形Ｒ２の全てが真円ｎの内部に含まれていると判断する。
【０１４４】
次いで、図７は、図６に示す方法によって特定された一番外側の真円から順に描画処理を行う場合に、最小矩形Ｒ２の描画に必要な全ての真円について描画処理を行ったか否かを判断する方法について説明する説明図である。
【０１４５】
この判断は、外側の真円から順に描画処理を行うときに、それぞれの真円に対して、最小矩形Ｒ２の領域の少なくとも一部がその真円の領域に含まれているか否かを判断することによって行われ、最小矩形Ｒ２の領域の全てが真円の領域に含まれていないと判断された時点で、最小矩形Ｒ２の描画に必要な全ての真円について描画処理を行ったと判断する。
【０１４６】
最小矩形Ｒ２の領域の少なくとも一部が真円ｎの領域に含まれているか否かの判断は、図７に示すように、以下の４つのパターンのいずれかを満足するか否かによって行われる。
【０１４７】
即ち、１つ目のパターンは、図７（１）に示すように、真円ｎの最上部（即ち、真円ｎにおいて最もＹ座標が小さい箇所）が、最小矩形Ｒ２の最下部（即ち、最小矩形Ｒ２において、最もＹ座標が大きい箇所）よりも下にあるか否かを判断するもので、その判断は以下の（１６）式によって行われる。
【０１４８】
（Ｃｎｙ−ｒｎ）  ＞  ＵＲｙ  ・・・（１６）
この（１６）式を満足する場合、真円ｎの最上部が、最小矩形Ｒ２の最下部よりも下にあると判断される。
【０１４９】
２つ目のパターンは、図７（２）に示すように、真円ｎの最下部（即ち、真円ｎにおいて最もＹ座標が大きい箇所）が、最小矩形Ｒ２の最上部（即ち、最小矩形Ｒ２において、最もＹ座標が小さい箇所）よりも上にあるか否かを判断するもので、その判断は以下の（１７）式によって行われる。
【０１５０】
（Ｃｎｙ＋ｒｎ）  ＜  ＬＬｙ  ・・・（１７）
この（１７）式を満足する場合、真円ｎの最下部が、最小矩形Ｒ２の最上部よりも上にあると判断される。
【０１５１】
３つ目のパターンは、図７（３）に示すように、真円ｎの左（即ち、真円ｎにおいて、最もＸ座標が小さい箇所）が、最小矩形Ｒ２の右（即ち、最小矩形Ｒ２において最もＸ座標が大きい箇所）よりも右にあるか否かを判断するもので、その判断は以下の（１８）式によって行われる。
【０１５２】
−ｒｎ  ＞  ＵＲｘ  ・・・（１８）
この（１８）式を満足する場合、真円ｎの左が、最小矩形Ｒ２の右よりも右にあると判断される。
【０１５３】
４つ目のパターンは、図７（４）に示すように、真円ｎの右（即ち、真円ｎにおいて、最もＸ座標が大きい部分）が、最小矩形Ｒ２の左（即ち、最小矩形Ｒ２において最もＸ座標が小さい部分）よりも左にあるか否かを判断するもので、その判断は以下の（１９）式によって行われる。
【０１５４】
ｒｎ  ＜  ＬＬｘ  ・・・（１９）
この（１９）式を満足する場合、真円ｎの右が、最小矩形Ｒ２の左よりも左にあると判断される。
【０１５５】
そして、（１６）式から（１９）式のいずれも満足しない場合、最小矩形Ｒ２は最小矩形Ｒ２の領域の少なくとも一部が真円ｎの領域に含まれていると判断できる。一方、（１６）式から（１９）式のいずれかを満足する場合には、最小矩形Ｒ２の領域の全てが真円ｎの領域に含まれていないと判断することができる。
【０１５６】
従って、本実施形態では、外側の真円から順に描画処理を行うときに、各真円において、（１５）式から（１９）式を満足するか否かを判定し、その判定結果から、（１５）式から（１９）式のいずれかの式を満足する場合に、最小矩形Ｒ２の領域の全てが真円ｎの領域に含まれていないと判断する。そして、最小矩形Ｒ２の領域の全てが真円の領域に含まれていないと判断された時点で、最小矩形Ｒ２の描画に必要な全ての真円において、描画処理を行ったと判断する。
【０１５７】
次いで、図８を参照して、プリンタ制御装置１０で実行される印刷処理の処理フローについて説明する。図８は、この印刷処理を示すフローチャートである。この処理は、インターフェイス２１を介してＰＣ１００から受信した印刷命令に続くデータに従って、印刷すべき画像データを生成し、生成した画像データを印刷する処理で、インターフェイス２１がＣＰＵ１１に対して印刷命令を受信した旨を通知する割り込み信号を送信すると、ＣＰＵ１１によってその割り込みが検出されて、この処理の実行が開始される。
【０１５８】
この印刷処理では、まず、印刷命令に続いてＰＣ１００から受信したデータがＸＰＳに従って記述されたＸＰＳ文書であるか否かを判断する（Ｓ１１）。その結果、ＸＰＳ文書であると判断される場合には（Ｓ１１:Ｙｅｓ）、次いで、インターフェイス２１によってＸＰＳデータメモリ１３ａにＤＭＡ転送されたＸＰＳ文書を、ＸＰＳデータメモリ１３ａから読み出して、その内容を解析し、ＸＰＳ文書に含まれる描画命令に対応する要素の１つを取得する（Ｓ１２）。
【０１５９】
そして、Ｓ１２の処理によって取得された要素が、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０（図２参照）であるか否かを判断する（Ｓ１３）。その結果、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０であると判断される場合には（Ｓ１３：Ｙｅｓ）、その取得された要素が楕円形状の放射グラデーションの描画命令であると判断し、後述する楕円放射グラデーションラスタライズ処理（図９参照）を実行する（Ｓ１４）。
【０１６０】
この楕円放射グラデーションラスタライズ処理により、描画に係る負荷を抑制しつつ、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状の放射グラデーションを、Ｐａｔｈ要素４０（図２参照）などの上位要素によって示されるグラデーション描画領域に対して生成することができる。そして、この生成された楕円形状の放射グラデーションがページメモリ１３ｆ上にラスタライズされる。Ｓ１４の処理の後、Ｓ１６の処理へ移行する。
【０１６１】
一方、Ｓ１３の処理の結果、Ｓ１２の処理によって抽出された描画命令に対応する要素が、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０でないと判断される場合には（Ｓ１３:Ｎｏ）、その要素に応じたラスタライズ処理を実行し、生成された画像データをページメモリ１３ｆに格納して（Ｓ１５）、Ｓ１６の処理へ移行する。
【０１６２】
Ｓ１６の処理では、Ｓ１２の処理によって抽出された要素の他に、ＸＰＳ文書に描画命令に対応する要素があるか否かを判断する。そして、Ｓ１２の処理によって抽出された要素の他にＸＰＳ文書に描画命令に対応する要素があると判断される場合には（Ｓ１６：Ｙｅｓ）、Ｓ１２の処理へ回帰し、再びＳ１２〜Ｓ１６の処理を実行する。
【０１６３】
そして、ＸＰＳ文書に含まれる全ての描画命令に対応する要素がＳ１２の処理によって抽出され、その全ての要素に対してＳ１４又はＳ１５の処理によってラスタライズ処理が実行された（Ｓ１６：Ｎｏ）と判断されるまで、Ｓ１２〜Ｓ１６の処理を繰り返し実行する。これにより、ＸＰＳ文書によって示される画像データが、ページメモリ１３ｆ上にラスタライズされる。
【０１６４】
一方、Ｓ１６の処理の結果、Ｓ１２の処理によってＸＰＳ文書に含まれる全ての描画命令に対応する要素が抽出され、その全ての要素に対してＳ１４又はＳ１５の処理によるラスタライズ処理が実行されたと判断されると（Ｓ１６：Ｎｏ）、Ｓ１８の処理へ移行する。
【０１６５】
また、Ｓ１１の処理の結果、印刷命令に続いてＰＣ１００から受信したデータがＸＰＳに従って記述されたＸＰＳ文書でないと判断される場合には（Ｓ１１:Ｎｏ）、その印刷命令に続いてＰＣ１００から受信したデータの内容に従って、印刷用の画像データを生成し、その画像データをページメモリ１３ｆ上に格納する（Ｓ１７）。そして、Ｓ１８の処理へ移行する。
【０１６６】
次いで、Ｓ１８の処理では、Ｓ１１からＳ１７の処理によって生成されてページメモリ１３ｆに格納された画像データに基づいて、搬送モータ駆動回路１７およびヘッド用ドライバ２０に対して信号を送信し、搬送モータ１６およびインクジェットヘッド１９を駆動することによって、紙に画像データに基づく画像を印刷する。そして、この印刷処理を終了する。
【０１６７】
これにより、ＰＣ１００より印刷命令を受信すると、その印刷命令に続くデータに基づいて画像データが生成され、その生成された画像データに基づく画像を紙に印刷させることができる。
【０１６８】
また、この印刷処理では、ＰＣ１００から印刷命令に続く画像データとしてＸＰＳ文書を受信した場合に、そのＸＰＳ文書を解析する。そして、そのＸＰＳ文書にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０が含まれている場合には、後述する楕円放射グラデーションラスタライズ処理が実行される。
【０１６９】
これにより、プリンタ制御装置１０は、描画に係る負荷を抑制しつつ、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状の放射グラデーションを、その上位要素（Ｐａｔｈ要素４０など）によって示されるグラデーション描画領域に対して生成できるようになっている。
【０１７０】
次いで、図９から図１３を参照して、プリンタ制御装置１０で実行される楕円放射グラデーションラスタライズ処理について説明する。まず、図９は、この楕円放射グラデーションラスタライズ処理を示すフローチャートである。
【０１７１】
この処理は、ＸＰＳ文書に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状の放射グラデーションを、その上位要素（Ｐａｔh要素４０など）によって示されるグラデーション描画領域に対して生成する処理である。
【０１７２】
この処理は、ＣＰＵ１１により実行される印刷処理の中で、印刷命令に続くデータがＸＰＳ文書であり、且つ、そのＸＰＳ文書に記載された要素の中にＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０が含まれる場合に、実行される。以下、この楕円放射グラデーションラスタライズ処理を、図４に示した楕円形状の放射グラデーションの描画原理と対応付けながら説明する。
【０１７３】
この楕円放射グラデーションラスタライズ処理では、まず、パラメータ取得処理を実行する（Ｓ２１）。このパラメータ取得処理によって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０から楕円形状を規定するパラメータや、その楕円形状内に描画されるグラデーションパターンを規定するパラメータが抽出されると共に、その上位要素であるＰａｔｈ要素４０などから、放射グラデーションが描画される領域であるグラデーション描画領域を規定するパラメータが抽出される。このパラメータ取得処理の詳細については、図１０を参照して後述する。尚、このパラメータ取得処理が、図４（イ）に相当する。
【０１７４】
次いで、変換行列算出処理を実行する（Ｓ２２）。この変換行列算出処理によって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状（図４（ａ）参照）を、半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換すると共に、グラデーションの中心をＹ軸上の０又は正側に配置する（図４（ｃ）参照）変換行列Ｂが生成される。この変換行列算出処理の詳細については、図１１を参照して後述する。尚、この変換行列算出処理が、図４（ロ）〜（ホ）に相当する。
【０１７５】
次に、描画最小矩形設定処理を実行する（Ｓ２３）。この描画最小矩形設定処理によって、Ｐａｔｈ要素４０などの上位要素から抽出されたグラデーション描画領域を全て含む最小矩形Ｒが設定され、その最小矩形Ｒが、変換行列算出処理によって算出された変換行列Ｂを用いてアフィン変換される。
【０１７６】
そして、そのアフィン変換によって得られた最小矩形Ｒに対応する領域を全て含む、一辺が走査線に平行な最小矩形Ｒ２が、変換行列Ｂによるアフィン変換によって得られる真円形状の放射グラデーションを描画する領域として設定される。この描画最小矩形設定処理の詳細については、図１２を参照して後述する。尚、この描画最小矩形設定処理が、図４（ヘ）〜（チ）に相当する。
【０１７７】
Ｓ２３の処理の後、グラデーション生成処理を実行する（Ｓ２４）。そして、Ｓ２４の処理の後、この楕円放射グラデーションラスタライズ処理を終了する。これにより、描画最小矩形設定処理によって設定された最小矩形Ｒ２に対して、真円形状の放射グラデーションが描画されると共に、その放射グラデーションの描画された最小矩形Ｒ２が、変換行列Ｂの逆行列を用いた逆アフィン変換される。
【０１７８】
そして、この逆アフィン変換された最小矩形Ｒ２からグラデーション描画領域を切り出すことによって、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０により示される楕円形状の放射グラデーションが生成されたグラデーション描画領域を得ることができる。このグラデーション生成処理の詳細については、図１３を参照して後述する。尚、このグラデーション生成処理が、図４（ト）、（リ）、（ヌ）に相当する。
【０１７９】
次いで、図１０を参照して、プリンタ制御装置１０で実行されるパラメータ取得処理について説明する。図１０は、このパラメータ取得処理を示すフローチャートである。この処理は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０や、Ｐａｔｈ要素４０などの上位要素から、楕円形状の放射グラデーションの描画に係るパラメータを抽出する処理で、上述したように、楕円放射グラデーションラスタライズ処理の中で、ＣＰＵ１１により実行される。
【０１８０】
この処理では、まず、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０から、楕円形状を規定するパラメータとして、楕円形状の中心座標（Ｃｘ，Ｃｙ）、長軸および短軸の半径であるＸ径Ｒｘ及びＹ径Ｒｙ（いずれも図２および図３参照）を抽出し、これらをグラデーションパラメータメモリ１３ｂに格納する（Ｓ３１）。
【０１８１】
次いで、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０から、楕円形状内に描画されるグラデーションパターンを規定するパラメータとして、グラデーションの中心座標（Ｇｘ，Ｇｙ）、グラデーションの中心（グラデーションの始点）における赤、緑、青の各色値Ｒｓ，Ｇｓ，Ｂｓ、及び、楕円形状の外周上の点（グラデーションの終点）における赤、緑、青の各色値Ｒｅ，Ｇｅ，Ｂｅ（いずれも図２および図３参照）を抽出し、これらもグラデーションパラメータメモリ１３ｂに格納する（Ｓ３２）。
【０１８２】
そして、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０の上位要素であるＰａｔｈ要素４０などから、楕円形状の放射グラデーションが描画されるグラデーション描画領域を規定するパラメータを抽出し、このパラメータによって特定されるグラデーション描画領域のベクトル情報といったパラメータを描画領域メモリ１３ｃに格納して（Ｓ３３）、このパラメータ取得処理を終了する。
【０１８３】
これにより、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０や、そのＰａｔｈ要素４０などの上位要素から、楕円形状の放射グラデーションの描画に係るパラメータが抽出され、楕円形状やその楕円形状に描画されるグラデーションパターンを規定するパラメータをグラデーションパラメータメモリ１３ｂに格納することができると共に、その楕円形状の放射グラデーションが描画されるグラデーション描画領域を規定するパラメータを、描画領域メモリ１３ｃに格納することができる。
【０１８４】
次いで、図１１を参照して、プリンタ制御装置１０で実行される変換行列算出処理について説明する。図１１は、この変換行列算出処理を示すフローチャートである。この処理は、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状（図４（ａ）参照）を、半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換すると共に、グラデーションの中心をＹ軸上の０又は正側に配置する（図４（ｃ）参照）変換行列Ｂを算出する処理で、上述したように、楕円放射グラデーションラスタライズ処理の中で、ＣＰＵ１１により実行される。
【０１８５】
この処理では、まず、グラデーションパラメータメモリ１３ｂに格納された楕円形状を規定するパラメータを読み出し、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状（図４（ａ）参照）から、半径がＲｘで中心座標が原点（０，０）である真円形状（図４（ｂ）参照）にアフィン変換する変換行列Ａを、上述の（１）式を用いて生成し、変換行列メモリ１３ｄに格納する（Ｓ４１）。
【０１８６】
尚、Ｓ４１の処理では、上述したように、変換行列Ａを（２）式より生成して変換行列メモリ１３ｄに格納することにより、楕円形状から、半径がＲｙで中心座標が原点（０，０）である真円形状にアフィン変換するようにしてもよい。
【０１８７】
また、変換行列Ａを（３）式より生成して変換行列メモリ１３ｄに格納し、楕円形状から、半径がＲ（Ｒは任意の値）で中心座標が原点（０，０）である真円形状にアフィン変換するようにしてもよい。尚、このＳ４１の処理が、図４（ロ）に相当する。
【０１８８】
Ｓ４１の処理により、変換行列Ａが生成されて、変換行列メモリ１３ｄに格納されると、次いで、グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標（Ｇｘ，Ｇｙ）を、変換行列メモリ１３ｄに格納された変換行列Ａを用いてアフィン変換する（Ｓ４２）。このＳ４２の処理が、図４（ハ）に相当する。
【０１８９】
そして、Ｓ２４の処理によって得られたアフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にあるか否かを判断する（Ｓ４３）。その結果、そのアフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にあると判断される場合には（Ｓ４３：Ｙｅｓ）、変換行列Ａをそのまま変換行列Ｂとして、変換行列メモリ１３ｄに格納された変換行列をそのまま保持し（Ｓ４４）、この変換行列算出処理を終了する。
【０１９０】
一方、Ｓ４３の処理の結果、アフィン変換後のグラデーションの中心座標が、Ｙ軸上の０又は正側にないと判断される場合には（Ｓ４３：Ｎｏ）、その変換後のグラデーションの中心および原点（０，０）を結んだ線分とＹ軸正方向とによって成す角度θ（図４（ｂ）参照）を算出すると共に（図４（ニ）に相当）、変換行列メモリ１３ｄに格納された変換行列Ａに、（４）式および（５）式を用いて、原点（０，０）を中心とした角度θの回転操作を追加して、変換行列Ｂを生成し（図４（ホ）に相当）、この変換行列Ｂを変換行列メモリ１３ｄに上書きして格納する（Ｓ４５）。そして、この変換行列算出処理を終了する。
【０１９１】
これにより、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状（図４（ａ）参照）を、半径がＲｘで中心座標が原点（０，０）である真円形状にアフィン変換すると共に、グラデーションの中心をＹ軸上の０又は正側に配置する（図４（ｃ）参照）変換行列Ｂを生成することができる。
【０１９２】
次いで、図１２を参照して、プリンタ制御装置１０で実行される描画最小矩形設定処理について説明する。図１２は、この描画最小矩形設定処理を示すフローチャートである。この処理は、変換行列Ｂのアフィン変換によって楕円形状より得られる真円形状の放射グラデーションを描画する領域として最小矩形Ｒ２（図４（ｃ）参照）を設定する処理で、上述したように、楕円放射グラデーションラスタライズ処理の中で、ＣＰＵ１１により実行される。
【０１９３】
この処理では、まず、描画領域メモリ１３ｃに格納されたグラデーション描画領域を規定するパラメータから、そのグラデーション描画領域を全て含む最小矩形Ｒを設定する（Ｓ５１）。そして、その最小矩形Ｒを、変換行列メモリ１３ｄに最終的に格納される変換行列Ｂを用いてアフィン変換する（Ｓ５２）。尚、Ｓ５１の処理が図４（ヘ）に相当し、Ｓ５２の処理が図４（ト）に相当する。
【０１９４】
これにより、変換行列Ｂを用いたアフィン変換によって楕円形状から得られる真円形状において、楕円形状の放射グラデーションが描画されるグラデーション描画領域を全て含んだ最小矩形Ｒに対応する領域を特定することができる。
【０１９５】
また、Ｓ５１の処理によってグラデーション描画領域を全て含む最小矩形Ｒが設定され、Ｓ５２の処理によって、その最小矩形Ｒに対してアフィン変換が行われるので、アフィン変換を、矩形形状をした最小矩形Ｒに対して行うことができる。
【０１９６】
換言すれば、Ｓ５２の処理におけるアフィン変換は、最小矩形Ｒの４つの頂点の各座標をそれぞれアフィン変換すればよいので、グラデーション描画領域が複雑な形状を有する場合であっても、そのアフィン変換に係る演算量を小さく抑えることができる。よって、描画に係る負荷を抑制することができる。
【０１９７】
Ｓ５２の処理の後、最小矩形Ｒのアフィン変換によって得られた領域を全て含む、一辺が走査線に平行な最小矩形Ｒ２を特定し、変換行列Ｂのアフィン変換によって楕円形状より得られる真円形状の放射グラデーションを描画する領域として設定する（Ｓ５３）。そして、この描画最小矩形領域を終了する。尚、Ｓ５３の処理により設定された最小矩形Ｒ２の座標は、最小矩形メモリ１３ｅに格納される。このＳ５３の処理が、図４（チ）に相当する。
【０１９８】
このＳ５３の処理により、アフィン変換によって得られる真円形状において、グラデーション描画領域に対応する領域を含む最小矩形Ｒ２を特定することができる。よって、後述のグラデーション生成処理（図１３参照）において、真円形状の放射グラデーションを最小矩形Ｒ２に対して描画し、真円形状の放射グラデーションが描画された最小矩形Ｒ２を変換行列Ｂの逆行列を用いて逆アフィン変換すれば、グラデーション描画領域に対して、楕円形状の放射グラデーションが描画された画像を生成することができる。
【０１９９】
また、最小矩形Ｒ２は、一辺が走査線と平行な矩形形状として設定されているので、このラスタライズ処理において、各走査線における最小矩形Ｒ２の範囲を、全ての走査線において同一とすることができる。よって、各走査線での描画の開始位置および終了位置の演算を容易にすることができるので、描画に係る負荷をさらに抑制することができる。
【０２００】
更に、最小矩形Ｒ２は、真円形状における最小矩形Ｒに対応する領域を全て含む、一辺が走査線に平行な最小の矩形領域として設定されるので、最小矩形Ｒ２の面積を可能な限り小さくすることができる。加えて、最小矩形Ｒも放射グラデーションを全て含む最小の矩形領域として設定されるので、最小矩形Ｒ２は、放射グラデーション領域に対応する領域を全て含みつつ、その面積を小さく抑えることができる。よって、真円形状の放射グラデーションが描画される面積を小さくすることができるので、その描画に係る負荷の抑制を図ることができる。
【０２０１】
次いで、図１３を参照して、プリンタ制御装置１０で実行されるグラデーション生成処理について説明する。図１３は、このグラデーション生成処理を示すフローチャートである。この処理は、Ｐａｔｈ要素４０などの上位要素で規定されるグラデーション描画領域に対して、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０で規定される楕円形状の放射グラデーションが描画された画像を生成する処理で、上述したように、楕円放射グラデーションラスタライズ処理の中で、ＣＰＵ１１により実行される。
【０２０２】
この処理では、まず、グラデーションパラメータメモリ１３ｂに格納されたグラデーションの中心座標（Ｇｘ，Ｇｙ）を、変換行列メモリ１３ｂに格納された変換行列Ｂを用いてアフィン変換する（Ｓ６１）。これにより、グラデーションの中心が、図４（ｃ）に示すように、Ｙ軸上の０又は正側に配置される。このＳ６１の処理が、図４（ト）に相当する。
【０２０３】
続く、Ｓ６２〜Ｓ６４の処理では、真円形状の放射グラデーションにおいて同一の色値が描画される複数の真円のうち、最小矩形Ｒ２を描画するために必要な一番外側の真円を特定する。まず、Ｓ６２の処理では、真円形状の放射グラデーションにおいて同一の色値が描画される真円の数Ｍを算出し、真円の数Ｍから１だけ引いた値（Ｍ−１）を変数ｎに代入する。
【０２０４】
この変数ｎは、真円形状の放射グラデーションにおいて、同一の色値で描画される図４に示した各真円（真円０、真円１、・・・真円ｎ、・・・、真円（Ｍ−１））のうち１つの真円を選択するために用いるものであり、以降の処理では、変数ｎで示される真円ｎに対して処理が実行される。よって、Ｓ６２の処理によって、真円形状の放射グラデーションのうち一番内側に存在する真円（Ｍ−１）が選択され、以降の処理が実行される。
【０２０５】
尚、真円の数Ｍは、グラデーションの始点および終点における色値の差を、上述した色値の変化量ｋで除算することによって算出できる。また、変数ｎの値は、新たな値が設定される度に、ＲＡＭ１３上に一時的に確保された変数ｎ用の領域に格納される。
【０２０６】
次いで、真円ｎの中心座標Ｃｎ（Ｃｎｘ，Ｃｎｙ）と半径ｒｎとを、（１０）式から（１２）式を用いて算出する（Ｓ６３）。尚、本実施形態では、変換行列Ｂを用いた変換によって楕円形状から得られる真円形状の中心は原点にあり、また、グラデーションの中心はＹ軸上の０又は正側に配置されるので、真円ｎの中心座標ＣｎのＸ座標Ｃｎｘは（１０）式に示すように０となる。
【０２０７】
次に、最小矩形メモリ１３ｅに格納された最小矩形Ｒ２の座標のうち、最小矩形Ｒ２の右下の点（即ち、最小矩形Ｒ２におけるＸ座標およびＹ座標が共に最大の点）の座標（ＵＲｘ，ＵＲｙ）、最小矩形Ｒ２の左上の点（即ち、最小矩形Ｒ２におけるＸ座標およびＹ座標が共に最小の点）の座標（ＬＬｘ、ＬＬｙ）を読み出し、それらの座標と、真円ｎの中心座標Ｃｎ（０，Ｃｎｙ）および半径ｒｎとから、真円ｎの内部に最小矩形Ｒ２の全てが含まれるか否かを判断する（Ｓ６４）。この判断は、図６に示した条件を満足するか否かで行われる。
【０２０８】
その結果、真円ｎの内部に最小矩形Ｒ２の一部または全部が含まれていないと判断される場合には（Ｓ６４：Ｙｅｓ）、変数ｎの値を１だけ減らして（Ｓ６５）、Ｓ６３の処理へ回帰する。これにより、１つ外側の真円がＳ６５の処理によって選択され、その真円に対して、Ｓ６３およびＳ６４の処理が行われる。
【０２０９】
即ち、１つ外側の真円の中心座標および半径が（１０）式から（１２）式によって算出され、算出された中心座標および半径に基づき、その１つ外側の真円内部に最小矩形Ｒ２の全てが含まれているか否かが判断される。
【０２１０】
そして、Ｓ６４の処理において、真円ｎの内部に最小矩形Ｒ２の全てが含まれていると判断されるまで（Ｓ６４：Ｙｅｓ）、Ｓ６３〜Ｓ６５の処理が繰り替え実行される。これにより、真円形状の内側から外側に向かって順番に、同一の色値が描画される各々の真円内部に、最小矩形Ｒ２の全てが含まれるか否かがそれぞれ判断される。
【０２１１】
そして、Ｓ６４の処理の結果、真円ｎの内部に最小矩形Ｒ２の全てが含まれていると判断される場合には（Ｓ６４：Ｙｅｓ）、その真円ｎが、最小矩形Ｒ２を描画するために必要な一番外側の真円であると特定できる。
【０２１２】
そこで、続くＳ６６〜Ｓ７８の処理では、最小矩形Ｒ２に対して生成すべき真円形状の放射グラデーションを、最小矩形Ｒ２を描画するために必要な一番外側の真円ｎから内側に向かって順番に、各真円の内部をそれぞれ対応する色値で上書きしながら描画する。このＳ６６〜Ｓ７８の処理が、図４（リ）に相当する。
【０２１３】
尚、各真円における描画は、Ｘ軸方向に設けられた走査線である描画ライン毎に行われる。また、描画によって得られた放射グラデーデョンは、ＲＡＭ１３上に格納されてラスタライズされる。
【０２１４】
まず、Ｓ６６の処理では、真円ｎの最下部（即ち、真円ｎにおいて最もＹ座標が大きい箇所）のＹ座標（Ｃｎｙ＋ｒｎ）が、最小矩形Ｒ２の最下部（即ち、最小矩形Ｒ２において、最もＹ座標が大きい箇所）のＹ座標ＵＲｙより大きいか否かを判断する。そして、前者が後者より大きいと判断される場合には（Ｓ６６：Ｙｅｓ）、最小矩形Ｒ２の最下部のＹ座標ＵＲｙを描画ラインのＹ座標（以下、「描画ライン座標」と称する）Ｌｙとして設定し（Ｓ６７）、Ｓ６９の処理へ移行する。これにより、最小矩形Ｒ２の最下部のＹ座標ＵＲｙで示される描画ラインが、（１３）式によって算出される真円ｎの色値で描画される最初の描画ラインとして設定される。
【０２１５】
一方、Ｓ６６の処理の結果、真円ｎの最下部のＹ座標（Ｃｎｙ＋ｒｎ）が、最小矩形Ｒ２の最下部のＹ座標ＵＲｙ以下であると判断される場合には（Ｓ６６：Ｎｏ）、真円ｎの最下部のＹ座標（Ｃｎｙ＋ｒｎ）を描画ライン座標Ｌｙとして設定し（Ｓ６８）、Ｓ６９の処理へ移行する。これにより、真円ｎの最下部のＹ座標（Ｃｎｙ＋ｒｎ）が、（１３）式によって算出される真円ｎの色値で描画される最初の描画ラインとして設定される。尚、描画ライン座標Ｌｙの値は、その値が新たに設定される度に、ＲＡＭ１３上に一時的に確保された描画ライン座標Ｌｙ用の領域に格納される。
【０２１６】
次に、Ｓ６９の処理では、描画ライン座標Ｌｙにおける真円ｎの２つのＸ座標を、描画ライン座標Ｌｙと、真円ｎの中心座標Ｃｎ（０，Ｃｎｙ）および半径ｒｎとから算出し、これを描画両端座標Ｌｘとして設定する（Ｓ６９）。尚、この描画両端座標Ｌｘは、その値が設定される度に、ＲＡＭ１３上に一時的に確保された描画両端座標Ｌｘ用の領域に格納される。
【０２１７】
そして、描画両端座標Ｌｘと最小矩形Ｒ２の右端のＸ座標ＵＲｘおよび左端のＸ座標ＬＬｘとを、２つある描画両端座標Ｌｘについてそれぞれ比較し、各描画両端座標Ｌｘが最小矩形Ｒ２の領域内にあるか否かを判断する（Ｓ７０）。
【０２１８】
その結果、少なくともいずれかの描画両端座標Ｌｘが最小矩形Ｒ２の領域内にないと判断される場合には（Ｓ７０：Ｎｏ）、最小矩形Ｒ２の領域内にない描画両端座標Ｌｘを、最小矩形Ｒ２の両端のＸ座標ＵＲｘ、ＬＬｘのうち、いずれか近いほうの値に置き換えて（Ｓ７１）、Ｓ７２の処理へ移行する。
【０２１９】
一方、Ｓ７０の処理の結果、いずれの描画両端座標Ｌｘも最小矩形Ｒ２の領域内にあると判断される場合には（Ｓ７０：Ｙｅｓ）、Ｓ７１の処理をスキップして、Ｓ７２の処理へ移行する。これにより、Ｓ６９の処理によって設定された描画両端座標Ｌｘがそのまま保持される。
【０２２０】
そして、２つの描画両端座標Ｌｘによって挟まれる領域を、描画ライン座標Ｌｙにおいて、（１３）式により算出される真円ｎの色値が描画される場所として特定することができる。そこで、Ｓ７２の処理では、この２つの描画両端座標Ｌｘで挟まれる領域を、（１３）式により算出される真円ｎの色値で描画する。これにより、描画ライン座標Ｌｙで示される描画ラインにおいて、真円ｎに対応する色値を、最小矩形Ｒ２内の所定の場所に描画することができる。
【０２２１】
Ｓ７２の処理の後、次いで、描画ライン座標Ｌｙの値を１だけ減らす（Ｓ７３）。これにより、描画ラインが、１つ上のラインに設定される。そして、Ｓ７３の処理で得られた描画ライン座標Ｌｙが、最小矩形Ｒ２の領域内にあり、且つ、真円ｎの領域内にあるか否かを判断する（Ｓ７４）。
【０２２２】
この判断は、描画ライン座標Ｌｙの値が、最小矩形Ｒ２の最下部（即ち、最小矩形Ｒ２において最もＹ座標が大きい箇所）のＹ座標ＵＲｙおよび最上部（即ち、最小矩形Ｒ２において最もＹ座標が小さい箇所）のＹ座標ＬＬｙの間にあり、且つ、真円ｎの最下部（即ち、真円ｎにおいて最もＹ座標が大きい箇所）のＹ座標（Ｃｎｙ＋ｒｎ）および最上部（即ち、真円ｎにおいて最もＹ座標が小さい箇所）のＹ座標（Ｃｎｙ−ｒｎ）の間にあるか否かを判断することによって行われる。
【０２２３】
その結果、描画ライン座標Ｌｙが、最小矩形Ｒ２の領域内にあり、且つ、真円ｎの領域内にあると判断される場合には（Ｓ７４：Ｙｅｓ）、Ｓ６９の処理へ回帰し、再びＳ６９からＳ７４の処理が実行される。
【０２２４】
そして、このＳ６９〜Ｓ７４の処理は、Ｓ７４の処理によって、描画ライン座標Ｌｙが、最小矩形Ｒ２の領域内にあり、且つ、真円ｎの領域内にあると判断される（Ｓ７４：Ｙｅｓ）間、繰り返し実行される。これにより、最小矩形Ｒ２の領域内に存在する真円ｎの内部を、（１３）式により算出される色値で描画することができる。
【０２２５】
一方、Ｓ７４の処理の結果、描画ライン座標Ｌｙが、最小矩形Ｒ２の領域内になく、若しくは、真円ｎの領域内にないと判断される場合には（Ｓ７４：Ｎｏ）、次いで、変数ｎが同一の色値で描画される真円の数Ｍから１だけ引いた値（Ｍ−１）未満であるか否かを判断する（Ｓ７５）。
【０２２６】
その結果、変数ｎの値が（Ｍ−１）である（即ち、変数ｎの値が（Ｍ−１）未満でない）と判断される場合（Ｓ７５：Ｎｏ）、真円ｎの内側に同一の色値で描画される真円が存在しないと判断し、Ｓ７９の処理へ移行する。
【０２２７】
一方、Ｓ７５の処理の結果、変数ｎが（Ｍ−１）未満であると判断される場合には（Ｓ７５：Ｙｅｓ）、同一の色値で描画される真円が真円ｎの内側に存在すると判断できるので、次いで、変数ｎの値を１だけ増やす（Ｓ７６）。これにより、処理対象の真円として、１つ内側の真円が選択される。
【０２２８】
そして、真円ｎの中心座標Ｃｎおよび半径ｒｎを（１０）式から（１２）式を用いて算出し（Ｓ７７）、最小矩形Ｒ２の描画に必要な全ての真円について描画を行ったか否かを判断するために、真円ｎの領域に最小矩形Ｒ２の一部または全部が含まれているか否かを判断する（Ｓ７８）。
【０２２９】
この判断は、最小矩形メモリ１３ｅに格納された最小矩形Ｒ２の座標のうち、最小矩形Ｒ２の右下の点の座標（ＵＲｘ，ＵＲｙ）、最小矩形Ｒ２の左上の点の座標（ＬＬｘ、ＬＬｙ）を読み出し、それらの座標と、真円ｎの中心座標Ｃｎ（０，Ｃｎｙ）および半径ｒｎとから、図７に示した条件を満足するか否かで行われる。
【０２３０】
その結果、真円ｎの領域に最小矩形Ｒ２の全部が含まれないと判断される場合には（Ｓ７８：Ｎｏ）、最小矩形Ｒ２の描画に必要な全ての真円について描画が行われたと判断できるので、Ｓ７９の処理へ移行する。
【０２３１】
一方、Ｓ７８の処理の結果、真円ｎの領域に最小矩形Ｒ２の一部または全部が含まれると判断される場合には（Ｓ７８：Ｙｅｓ）、最小矩形Ｒ２の描画に必要な全ての真円について描画が行われていないと判断し、Ｓ６６の処理へ回帰する。これにより、Ｓ７６の処理により新たに設定された真円ｎ（１つ内側の真円）についてＳ６６からＳ７４の処理が行われ、最小矩形Ｒ２の領域内に存在する、新たに設定された真円ｎの内部が、（１３）式により算出される色値で描画される。
【０２３２】
そして、Ｓ６６からＳ７４の処理は、Ｓ７５の処理の結果、変数ｎの値が（Ｍ−１）未満であると判断され（Ｓ７５：Ｙｅｓ）、且つ、Ｓ７８の処理の結果、真円ｎの領域に最小矩形Ｒ２の一部または全部が含まれると判断される（Ｓ７８：Ｙｅｓ）間、繰り返し実行される。これにより、最小矩形Ｒ２の描画に必要な全ての真円の内部を描画することができるので、最小矩形Ｒ２に対し、真円形状の放射グラデーションを生成することができる。
【０２３３】
一方、Ｓ７５の処理の結果、変数ｎの値が（Ｍ−１）である（即ち、変数ｎの値が（Ｍ−１）未満でない）と判断される場合（Ｓ７５：Ｎｏ）、若しくは、Ｓ７８の処理の結果、真円ｎの領域に最小矩形Ｒ２の全部が含まれないと判断される場合に（Ｓ７８：Ｎｏ）移行する、Ｓ７９の処理では、変換行列メモリ１３ｃに格納された変換行列Ｂの逆行列Ｃを算出する。
【０２３４】
そして、この算出された逆行列Ｃを用いて、真円形状の放射グラデーションが描画された最小矩形Ｒ２を逆アフィン変換する（Ｓ８０）。これにより、描画領域メモリ１３ｃに格納されたグラデーション描画領域を含む逆アフィン変換後の最小矩形Ｒ２内に、楕円形状の放射グラデーションを生成することができる。このＳ８０の処理が、図４（ヌ）に相当する。
【０２３５】
最後に、この逆アフィン変換された最小矩形Ｒ２から、描画領域メモリ１３ｃに格納されたグラデーション描画領域を抽出し、これをビットマップ形式でページメモリ１３ｈに格納して（Ｓ８１）、この楕円放射グラデーションラスタライズ処理を終了する。
【０２３６】
これにより、上位要素（Ｐａｔh要素４０など）により示されるグラデーション描画領域に対して、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０により示される楕円形状の放射グラデーションを生成することができる。
【０２３７】
また、この放射グラデーション生成処理では、Ｓ６３〜Ｓ６５の処理およびＳ７７の処理によって、最小矩形Ｒ２内に真円形状のグラデーションの描画に必要な色値の描画される真円が特定され、その特定された真円に対して描画が行われる。換言すれば、最小矩形Ｒ２内を描画するのに不要な真円を特定し、その真円に対して描画に関する処理が行われることを防ぐことができるので、その描画に係る負荷を抑制することができる。
【０２３８】
以上のように、プリンタ制御装置１０において、楕円放射グラデーションラスタライズ処理（図９〜図１３）が実行されると、その楕円形状の放射グラデーションを直接描画するのではなく、真円形状の放射グラデーションの描画が行われるので、異なる色が描画される色の変化点を真円の軌跡に基づいて算出することができる。よって、その演算を、楕円形状の放射グラデーションを描画する場合と比較して単純化することができるので、そのグラデーションの描画に係る負荷を抑制することができる。
【０２３９】
また、真円形状の放射グラデーションの描画が、グラデーション描画領域に対応する領域を含む最小矩形Ｒ２に対して行われるので、少なくともそのグラデーション描画領域に対応する領域に真円形状の放射グラデーションを描画することができると共に、真円形状の放射グラデーションを全て描画する場合と比較して描画される面積を小さくできるので、その描画に係る負荷をより小さくすることができる。
【０２４０】
一方、楕円形状を規定するパラメータに基づいて生成された楕円形状を真円形状に変換する変換行列Ｂの逆行列Ｃが算出され、真円形状の放射グラデーションが描画された最小矩形Ｒ２が、逆行列Ｃを用いて逆アフィン変換されるので、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素３０によって示される楕円形状とグラデーションパターンとに従った放射グラデーションを、Ｐａｔｈ要素４０などの上位要素によって示されるグラデーション描画領域に対して容易に生成することができる。
【０２４１】
従って、ＸＰＳにより記述された文書に、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が存在する場合に、描画に係る負荷を抑制しつつ、そのＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素によって示される楕円形状の放射グラデーションを生成することができる。
【０２４２】
以上、本実施形態におけるプリンタ制御装置１０によれば、楕円形状が真円形状にアフィン変換されると共に、グラデーション描画領域を含む領域が同じ変換行列によってアフィン変換され、そのアフィン変換された領域を含む領域に対し、真円形状の放射グラデーションが描画される。これにより、放射グラデーションの描画に係る負荷を小さくすることができる。そして、その放射グラデーションが描画された領域を逆アフィン変換することによって、楕円形状の放射グラデーションが描画されたグラデーション描画領域を得ることができる。よって、放射グラデーションの描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成することができる。
【０２４３】
また、本実施形態におけるプリンタ１によれば、ＰＣ１００からの印刷命令に続いて受信されるデータの中に楕円形状の放射グラデーションの描画命令があると、その描画命令から楕円形状の放射グラデーションがプリンタ制御装置１０によって生成されるので、楕円形状の放射グラデーションを印刷する場合に、描画に係る負荷を抑制しつつ、楕円形状の放射グラデーションを生成して、その印刷を行うことができる。
【０２４４】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０２４５】
例えば、上記実施形態では、画像描画命令であるＸＰＳ文書のＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の短軸および長軸が、それぞれＸ軸方向またはＹ軸方向に設定されている場合について説明したが、必ずしもこれに限られるものではなく、楕円形状の短軸および長軸が任意の方向に設定されていてもよい。
【０２４６】
この場合、画像描画命令で示される楕円形状の短軸および長軸が、Ｘ軸方向またはＹ軸方向に設定されるように、その楕円形状を回転させるアフィン変換を行うと共に、グラデーション描画領域も同様のアフィン変換を行った上で、図４を参照して説明した描画原理に基づいて楕円形状の放射グラデーションを生成し、その後、短軸および長軸の方向を画像描画命令で示される方向に戻すために、得られた楕円形状の放射グラデーションに対して、逆アフィン変換を行うようにしてもよい。
【０２４７】
上記実施形態では、ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素に含まれるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素によって、グラデーションの中心（グラデーションの始点）および楕円形状の外周上の点（グラデーションの終点）における色値が規定される場合について説明したが、このＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ．ＧｒａｄｉｅｎｔＳｔｏｐｓ要素に、グラデーションの始点および終点の間の任意の点における色値を規定するＧｒａｄｉｅｎｔＳｔｏｐ要素が含まれる場合であっても、本発明を適用可能である。
【０２４８】
この場合、任意の点における色値を規定するＧｒａｄｉｅｎｔＳｔｏｐ要素の”Ｏｆｆｓｅｔ”属性で示される値は、グラデーションの始点・終点間の距離を「１」としたときの、このＧｒａｄｉｅｎｔＳｔｏｐ要素で色値が規定される任意の点とグラデーションの始点との距離ｄを表しているので、真円形状に対してグラデーションを描画するときには、真円形状のグラデーションの中心（グラデーションの始点）から上記距離ｄだけ離れた点における色値が、上記ＧｒａｄｉｅｎｔＳｔｏｐ要素で規定される任意の点における色値となるようにすればよい。
【０２４９】
上記実施形態では、グラデーション生成処理（図１３参照）において、最小矩形Ｒ２に対して真円形状の放射グラデーションを生成した後、変換行列Ｂの逆行列Ｃを算出する場合について説明したが、必ずしもこれに限られるものではなく、変換行列Ｂを生成したのち、放射グラデーションが描画された真円形状を逆アフィン変換する前までの間に逆行列Ｃを算出すればよい。
【０２５０】
上記実施形態では、ＰＣ１００より受信される印刷命令に続くデータがＸＰＳ文書であり、このＸＰＳ文書に楕円形状の放射グラデーションの描画命令であるＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素が含まれると、図９に示す楕円放射グラデーションラスタライズ処理を実行する場合について説明したが、必ずしもこれに限られるものではなく、ＰＣ１００からの印刷命令に続くＰＤＬによって記述されたデータに、楕円形状の放射グラデーションの描画命令が含まれていれば、図９に示す楕円放射グラデーションラスタライズ処理を実行するようにしてもよい。
【０２５１】
上記実施形態では、プリンタ制御装置１０がプリンタ１内部に設けられる場合について説明したが、必ずしもこれに限られるものではなく、プリンタ制御装置１０は、プリンタ１の外部に設けられ、プリンタ制御装置１０がプリンタ１と、通信ケーブルや無線通信によって接続されていてもよい。また、プリンタ制御装置１０がＰＣ１００内部に設けられていてもよい。
【０２５２】
上記実施形態では、プリンタ制御装置１０において図９に示す楕円放射グラデーションラスタライズ処理が実行され、プリンタ１において印刷される楕円形状の放射グラデーションを生成する場合について説明したが、この楕円放射グラデーションラスタライズ処理の実行は、プリンタ制御装置１０の他、楕円形状の放射グラデーションを出力するデバイスを制御する装置においても適用可能である。
【０２５３】
例えば、ディスプレイに楕円形状の放射グラデーションを表示させる場合に、そのディスプレイを制御する装置において、図９に示す楕円放射グラデーションラスタライズ処理を実行し、ディスプレイへの表示用画像データを格納するフレームメモリに対し、その楕円放射グラデーションラスタライズ処理により生成された楕円形状の放射グラデーションをラスタライズしてもよい。
【０２５４】
上記実施形態では、プリンタ１が記録媒体として紙に印刷する場合について説明したが、必ずしもこれに限られるものではなく、布やプラスチック、ビニールなどに印刷されてもよい。
【０２５５】
上記実施形態では、アフィン変換後のグラデーションの中心がＹ軸上の０又は正側に配置されるように変換行列Ｂを生成する場合について説明したが、アフィン変換後のグラデーションの中心がＹ軸上の０又は負側に配置されるように変換行列Ｂを生成してもよい。また、アフィン変換後の中心がＸ軸上の０又は正側に配置されるように変換行列Ｂを生成してもよいし、Ｘ軸上の０又は負側に配置されるように変換行列Ｂを生成してもよい
上記実施形態では、グラデーション描画領域に対して、そのグラデーション描画領域を全て含む最も小さい矩形領域である最小矩形Ｒを設定する場合について説明したが、必ずしも最小の矩形である必要はなく、グラデーション描画領域を全て含む矩形領域を設定してもよい。また、グラデーション描画領域を全て含む三角形の領域を設定してもよい。このような場合であっても、アフィン変換に係る演算を単純化し、描画に係る負荷の抑制を図ることができる。
【０２５６】
上記実施形態では、アフィン変換された最小矩形Ｒに対応する領域を全て含み、一辺が走査線と平行な最も小さい矩形領域である最小矩形Ｒ２を設定する場合について説明したが、必ずしも最小の矩形である必要はなく、真円形状より小さく且つアフィン変換された最小矩形Ｒに対応する領域を全て含む一辺が走査線と平行な矩形領域を設定してもよい。この場合でも、各走査線での描画の開始位置および終了位置の演算を容易にすることができるので、描画に係る負荷の抑制を図ることができる。
【０２５７】
上記実施形態では、グラデーションの楕円内を描画したがＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素内の”ＳｐｒｅａｄＭｅｔｈｏｄ”属性のＰａｄ，Ｒｅｆｌｅｃｔ，Ｒｅｐｅａｔのタイプにしたがって楕円外の領域を描画することもできる。
【図面の簡単な説明】
【０２５８】
【図１】本発明の一実施形態におけるプリンタ制御装置を含むプリンタの電気的構成を示すブロック図である。
【図２】ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素およびＰａｔｈ要素を説明する説明図である。
【図３】ＲａｄｉａｌＧｒａｄｉｅｎｔＢｒｕｓｈ要素で示される楕円形状の放射グラデーションと、Ｐａｔｈ要素で示されるグラデーション描画領域とを説明する説明図である。
【図４】楕円形状の放射グラデーションの描画原理を説明する説明図である。
【図５】真円形状の放射グラデーションに対し、赤の放射グラデーションの生成方法を説明する説明図である。
【図６】最小矩形Ｒ２の描画に必要な真円の特定方法を説明する説明図である。
【図７】最小矩形Ｒ２の描画に必要な真円の特定方法を説明する説明図である。
【図８】プリンタ制御装置で実行される印刷処理を示すフローチャートである。
【図９】プリンタ制御装置で実行される楕円放射グラデーションラスタライズ処理を示すフローチャートである。
【図１０】プリンタ制御装置で実行されるパラメータ取得処理を示すフローチャートである。
【図１１】プリンタ制御装置で実行される変換行列算出処理を示すフローチャートである。
【図１２】プリンタ制御装置で実行される描画最小矩形設定処理を示すフローチャートである。
【図１３】プリンタ制御装置で実行されるグラデーション生成処理を示すフローチャートである。
【符号の説明】
【０２５９】
１                      プリンタ（印刷装置の一例）
１０                    プリンタ制御装置（画像生成装置の一例）
１９                    インクジェットヘッド（印刷手段の一例）
Ｓ１１：Ｙｅｓ          （文書受付手段の一例）
Ｓ１２                  （取得手段の一例）
Ｓ１３                  （命令判断手段の一例）
Ｓ２１                  （抽出手段の一例）
Ｓ２２                  （変換行列生成手段の一例）
Ｓ５１                  （第１矩形領域設定手段の一例）
Ｓ５２                  （第２変換手段の一例）
Ｓ５３                  （第２矩形領域設定手段の一例）
Ｓ６１                  （第１変換手段の一例）
Ｓ６２〜Ｓ６５、Ｓ７８  （特定手段の一例）
Ｓ６６〜Ｓ７７          （描画手段の一例）
Ｓ７９                  （逆行列算出手段の一例）
Ｓ８０，Ｓ８１          （グラデーション生成手段の一例）
【図１】
0004518172.tif 000003
【図２】
0004518172.tif 000004
【図３】
0004518172.tif 000005
【図５】
0004518172.tif 000006
【図６】
0004518172.tif 000007
【図７】
0004518172.tif 000008
【図８】
0004518172.tif 000009
【図９】
0004518172.tif 000010
【図１０】
0004518172.tif 000011
【図１１】
0004518172.tif 000012
【図１２】
0004518172.tif 000013
【図１３】
0004518172.tif 000014
【図４】
0004518172.tif 000015