(57)【要約】【課題】  描画処理にかかる負荷を軽減し、処理時間を短縮することが可能な画像処理装置及び画像処理方法を提供する。【解決手段】  変換部１は、入力される描画コマンドのうち、キャップ図形を用いた線分図形を描画する描画コマンドについて、キャップ図形を用いない描画コマンドに変換する。描画部２は、変換部１で必要に応じて変換された描画コマンドに従って描画処理を行う。一部の線分図形を描画する描画コマンドについて、変換部１でキャップ図形を用いない描画コマンドに変換されているので、それらの描画コマンドについては描画すべき図形の数が減少しており、従来に比べて短時間で描画処理を行うことができる。【選択図】  図１
2005242591.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドを受け取って描画処理を行う画像処理装置において、線分図形と該線分図形に付加されるキャップ図形を描画する描画コマンドを受け取ったとき前記キャップ図形を用いない描画コマンドに変換する変換手段と、前記変換手段で必要に応じて変換された描画コマンドに従って描画処理を行う描画手段を有することを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記キャップ図形がスクウェアキャップの場合には、描画する前記線分図形の線長を変更するとともに、前記キャップ図形を用いない描画コマンドに変換することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記変換手段は、前記キャップ図形がラウンドキャップの場合には、描画される前記線分図形の線幅が所定の線幅以下のとき、前記線分図形の線長を変更するとともに、前記キャップ図形を用いない描画コマンドに変換することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記変換手段は、画質を重視する設定の場合には前記所定の線幅の値を小さくすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記変換手段は、前記キャップ図形がラウンドキャップの場合には、描画する前記線分図形の図形形状を角丸矩形とした描画コマンドに変換することを特徴とする請求項１ないし請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記変換手段は、前記キャップ図形がトライアンギュラキャップの場合には、描画する前記線分図形の図形形状を凸多角形とした描画コマンドに変換することを特徴とする請求項１ないし請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記変換手段は、前記線分図形の長さが０の場合には、該線分図形の両端に付加される２つの前記キャップ図形を合成した図形を描画する描画コマンドに変換することを特徴とする請求項１ないし請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
描画コマンドを受け取って描画処理を行う画像処理方法において、線分図形と該線分図形に付加されるキャップ図形を描画する描画コマンドを受け取ったとき前記キャップ図形を用いない描画コマンドに変換し、必要に応じて変換された描画コマンドに従って描画処理を行うことを特徴とする画像処理方法。
【請求項９】
前記描画コマンドの変換処理として、前記キャップ図形がスクウェアキャップの場合には、描画する前記線分図形の線長を変更するとともに、前記キャップ図形を用いない描画コマンドに変換することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記描画コマンドの変換処理として、前記キャップ図形がラウンドキャップの場合には、描画される前記線分図形の線幅が所定の線幅以下のとき、前記線分図形の線長を変更するとともに、前記キャップ図形を用いない描画コマンドに変換することを特徴とする請求項８または請求項９に記載の画像処理方法。
【請求項１１】
画質を重視する設定の場合には、前記所定の線幅の値を小さくすることを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記描画コマンドの変換処理として、前記キャップ図形がラウンドキャップの場合には、描画する前記線分図形の図形形状を角丸矩形とした描画コマンドに変換することを特徴とする請求項８ないし請求項１１のいずれか１項に記載の画像処理方法。
【請求項１３】
前記描画コマンドの変換処理として、前記キャップ図形がトライアンギュラキャップの場合には、描画する前記線分図形の図形形状を凸多角形とした描画コマンドに変換することを特徴とする請求項８ないし請求項１２のいずれか１項に記載の画像処理方法。
【請求項１４】
前記描画コマンドの変換処理として、前記線分図形の長さが０の場合には、該線分図形の両端に付加される２つの前記キャップ図形を合成した図形を描画する描画コマンドに変換することを特徴とする請求項８ないし請求項１３のいずれか１項に記載の画像処理方法。
【請求項１５】
描画コマンドを受け取って描画処理を行う画像処理をコンピュータに実行させる画像処理プログラムであって、請求項８ないし請求項１４のいずれか１項に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１６】
描画コマンドを受け取って描画処理を行う画像処理をコンピュータに実行させる画像処理プログラムを格納したコンピュータが読取可能な記憶媒体であって、請求項８ないし請求項１４のいずれか１項に記載の画像処理方法をコンピュータに実行させる画像処理プログラムを格納したことを特徴とするコンピュータが読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画コマンドを受け取って描画処理を行う画像処理技術に関するものである。
【背景技術】
【０００２】
一般にコンピュータ上の情報をプリンタなどの出力装置に出力する際には、出力装置などに対してページ記述言語等で記述された描画コマンドを送り、出力装置側で描画コマンドを解釈して描画処理を行い、描画した画像を出力している。
【０００３】
ページ記述言語等で直線の描画を指示するときには、線分図形と、その両端の形状を決めるキャップ図形により表現される。図１２は、キャップ図形の一例の説明図である。図１２（Ａ）にはバットキャップを、図１２（Ｂ）にはスクウェアキャップを、図１２（Ｃ）にはラウンドキャップを、図１２（Ｄ）にはトライアンギュラキャップを、それぞれ示している。
【０００４】
図１２（Ｂ）〜（Ｄ）に示す例では、いずれも、中央部分の線分図形と、その両端に付加されたキャップ図形からなっている。これらのキャップ図形は、線分図形とは独立して設定されるため、通常は線分図形とは別のオブジェクトとして描画される。そのため、描画の際には１本の線分図形を描画するために３つの図形（１つの線分図形と２つのキャップ図形）を描画することになる。なお、図１２（Ａ）に示すバットキャップについては、実質的にはキャップ図形として面積を持たず、キャップ図形の描画処理は行われない。このようなキャップ図形の描画に関しては非特許文献１などに記載されている。
【０００５】
一方、例えば線分の中でも破線や点線は、それぞれの線素ごとに線分図形として描画する。例えば文書中に表を挿入し、その表の罫線を破線で描画する場合、１本１本の罫線は多数の線素で構成されるため、１つの表を描画するための線分図形の数は非常に多くなる。さらに、上述のように各線分図形はキャップ図形を伴うため、キャップ図形の数も線分図形の数に比例して増大し、全体の描画するオブジェクトの数は膨大なものとなる。そのため、描画処理にかかる負荷も大きく、描画処理には時間を要していた。
【０００６】
【非特許文献１】「４．５．１ストローク」及び「８章オペレータｓｅｔｌｉｎｅｃａｐ，ｓｅｔｄａｓｈ」、「ＰｏｓｔＳｃｒｉｐｔリファレンス・マニュアル」、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ、１９９１年１２月２１日発行
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した事情に鑑みてなされたもので、描画処理にかかる負荷を軽減し、処理時間を短縮することが可能な画像処理装置及び画像処理方法を提供することを目的とするものである。また、そのような画像処理方法をコンピュータによって実行可能な画像処理プログラムと、そのような画像処理プログラムを記憶した記憶媒体を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、描画コマンドを受け取って描画処理を行う画像処理装置及び画像処理方法であって、変換手段において線分図形と該線分図形に付加されるキャップ図形を描画する描画コマンドを受け取ったとき前記キャップ図形を用いない描画コマンドに変換し、描画手段において変換手段で必要に応じて変換された描画コマンドに従って描画処理を行うことを特徴とするものである。
【０００９】
描画コマンドの変換処理としては、例えばキャップ図形がスクウェアキャップの場合には、描画する線分図形の線長を変更するとともに、キャップ図形を用いない描画コマンドに変換することができる。
【００１０】
また、キャップ図形がラウンドキャップの場合には、描画される線分図形の線幅が所定の線幅以下のとき、線分図形の線長を変更するとともに、キャップ図形を用いない描画コマンドに変換することができる。このときの所定の線幅の値は、画質を重視する設定の場合には小さく設定するとよい。これによりキャップ図形の形状が変更されることによる描画結果の相違をなるべく抑えることができる。
【００１１】
キャップ図形がラウンドキャップの場合の別の例としては、描画する線分図形の図形形状を角丸矩形とした描画コマンドに変換してもよい。
【００１２】
さらに、キャップ図形がトライアンギュラキャップの場合には、描画する線分図形の図形形状を凸多角形とした描画コマンドに変換することができる。さらにまた、線分図形の長さが０の場合には、その線分図形の両端に付加される２つのキャップ図形を合成した図形を描画する描画コマンドに変換することができる。
【００１３】
描画コマンドの変換は、描画される線分図形の線幅が所定の線幅以下の場合に行うことができる。これによって、キャップ図形を用いない描画コマンドに変換したことによる描画結果の相違を防止することができる。なお、ユーザが所望する画質によって描画コマンドの変換を行うレベルを調節することができ、画質を重視する設定の場合には、所定の線幅の値を小さくすることによって描画結果の相違がなるべく発生しないように構成することができる。
【００１４】
また本発明は、描画コマンドを受け取って描画処理を行う画像処理をコンピュータに実行させる画像処理プログラムであって、上述のような画像処理方法をコンピュータに実行させることを特徴とするものである。さらに本発明は、コンピュータが読取可能な記憶媒体であって、上述のような画像処理プログラムを格納したことを特徴とするものである。
【発明の効果】
【００１５】
本発明によれば、通常であれば別々に描画処理される線分図形とその端部に描画されるキャップ図形とを描画する描画コマンドを、キャップ図形を用いない描画コマンドに変換する。従って描画手段で描画処理を行う際には、変換を行った描画コマンドについては描画処理すべき図形の数を１／２〜１／３に減少させることができる。その結果、描画処理の負荷を軽減し、また描画処理時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の実施の一形態を示すブロック図である。図中、１は変換部、２は描画部である。変換部１は、入力される描画コマンドのうち、線分図形を描画する描画コマンドについて、変換対象の描画コマンドか否かを判定して、変換対象の描画コマンドについては、線分図形に付加されるキャップ図形を用いない描画コマンドに変換する。詳細については後述する。
【００１７】
描画部２は、変換部１で必要に応じて変換された描画コマンドに従って描画処理を行う。一部の線分図形を描画する描画コマンドについて、変換部１でキャップ図形を用いない描画コマンドに変換されているので、それらの描画コマンドについては描画すべき図形の数が減少しており、従来に比べて短時間で描画処理を行うことができる。
【００１８】
以下、変換部１の動作について、より詳細に説明してゆく。まず、図１２に示したいくつかのキャップ図形の例を用いて、どのような変換を行うかを説明する。図１２に示したキャップ図形のうち、図１２（Ａ）に示したバットキャップは、上述のようにキャップ図形として面積を持たず、もともとキャップ図形を描画しない。従って、バットキャップが指定されている描画コマンドは変換の必要がなく、変換対象とはしない。
【００１９】
図２は、スクウェアキャップの場合の変換処理の一例の説明図である。図２（Ａ）（図１２（Ｂ）も同じ）に示したスクウェアキャップの場合には、図２（Ｂ）に示すようにキャップ図形と線分図形とを合成し、１つの矩形状の線分図形としてまとめることができる。具体例として、図２（Ａ）に示すキャップ図形付きの描画コマンドの一例を図２（Ｃ）に示している。ここでは、描画コマンドによって長さ２、線幅１、キャップ形状がスクウェアである場合を考える。この場合、キャップ図形は長さ０．５、線幅１の線分が前後に接続しているものと考えることができる。従ってこの例では、長さ２、線幅１の線分図形をキャップ図形なしで描画したものと考えることができる。この場合、変換部１による変換処理によって、図２（Ｄ）に示すように、長さを３に変更し、キャップ形状として実質的に描画しないバットキャップあるいはキャップなしとした描画コマンドに変換すればよい。このとき、描画位置（線分図形の書き出し位置）がキャップ図形の分だけずれる。そのため、図２（Ｄ）に示すように、オフセット値を０．５として描画位置をずらしている。
【００２０】
このようにして変換された描画コマンドは、キャップ図形を用いずに線分図形を描画するものであるため、通常であれば１つの線分図形と２つのキャップ図形の３つを描画処理していたものが１つの線分図形のみを描画すればよくなる。従って、描画部２における処理量が減少し、処理負荷の低減とともに、処理時間の短縮を図ることができる。
【００２１】
図３は、トライアンギュラキャップの場合の変換処理の一例の説明図である。図３（Ａ）（図１２（Ｄ））に示したトライアンギュラキャップの場合には、図３（Ｂ）に示すようにキャップ図形と線分図形とを合成し、１つの凸多角形（６角形）としてまとめることができる。
【００２２】
このようにして変換された描画コマンドは、キャップ図形を用いずに描画するものであるため、通常であれば１つの線分図形と２つのキャップ図形の３つを描画処理していたものが１つの凸多角形のみを描画すればよくなる。従って、描画部２における処理量が減少し、処理負荷の低減とともに、処理時間の短縮を図ることができる。
【００２３】
次に、キャップ図形としてラウンドキャップが指定されている場合について説明する。図４は、ラウンドキャップの場合の変換処理の第１の例の説明図である。図４（Ａ）（図１２（Ｃ））に示したラウンドキャップの場合についても上述のトライアンギュラキャップの場合と同様に、別の図形を描画する描画コマンドに変換することができる。ラウンドキャップの場合には、図４（Ｂ）に示すようにキャップ図形と線分図形とを合成した角丸矩形としてまとめることができる。なお、角部の円弧部の半径は線幅の１／２とすればよい。
【００２４】
このようにして変換された描画コマンドは、キャップ図形を用いずに描画するものであるため、通常であれば１つの線分図形と２つのキャップ図形の３つを描画処理していたものが１つの角丸矩形のみを描画すればよくなる。従って、描画部２における処理量が減少し、処理負荷の低減とともに、処理時間の短縮を図ることができる。
【００２５】
ラウンドキャップが指定されている場合の第２の例として、キャップ図形をスクウェアキャップで近似し、それによって図２で説明したように１つの線分図形のみで描画を行う描画コマンドに変換する例を示す。なお、ここでは描画部２が描画処理を行う際には、ハーフラインスキャンコンバージョン法によりラスタライズを行うものとする。図５は、ハーフラインスキャンコンバージョン法の説明図である。ハーフラインスキャンコンバージョン法は、例えば図５において実線で区切った升目の中心点（破線の交点）が描画領域内に含まれる時、当該升目の領域（画素）を塗りつぶすこととするものである。図５中の太い実線で示した三角形を描画する場合、ハッチングを施した升目を塗りつぶすものとして描画処理を行う。
【００２６】
このようなハーフラインスキャンコンバージョン法によりラスタライズを行う場合、例えば升目に対応する１画素程度の直径を有する円弧は、１つの升目の大きさの矩形と同等の描画結果となる。従って、ラウンドキャップはスクウェアキャップの場合と同等の描画結果となることから、ラウンドキャップをスクウェアキャップとして近似することが可能である。
【００２７】
図６は、ラウンドキャップをスクウェアキャップに変換する場合の一例の説明図である。例えば、スクウェアキャップが付加された線幅１の線分を描画しようとする場合、描画位置の関係から理論的には図６（Ａ）に示すように描画されるものとする。この場合、上述のハーフラインスキャンコンバージョン法によってラスタライズを行うと、図６（Ｂ）にハッチングを施して示した領域（画素）が描画されることになる。
【００２８】
図６（Ｂ）を参照して分かるように、描画する線分図形の線幅が狭く、よってキャップ図形の大きさが小さい場合には、ラウンドキャップの円弧状の形状は失われてしまう。従って、例えばキャップ図形の形状をスクウェアキャップに変換しても、描画される領域はほとんど変わらない。図６（Ｃ）には、図６（Ａ）に示す線分図形においてキャップ図形の形状をスクウェアキャップに変更した例を示している。この図形をハーフラインスキャンコンバージョン法によってラスタライズすると、図６（Ｄ）に示すようになる。図６（Ｂ）と図６（Ｄ）を比較して分かるように、描画される領域（画素）は一致している。
【００２９】
このように、ラウンドキャップの場合には、スクウェアキャップに変換できることが分かった。上述のようにスクウェアキャップの場合には線分図形の長さの調整によりキャップ図形を用いない描画コマンドへの変換が可能である。従って、ラウンドキャップの場合にも、線分図形の長さを調整した、キャップ図形を用いない描画コマンドへの変換が可能である。線分図形のみの描画処理は短時間で行うことができるため、例えば上述の角丸図形に変換する場合よりも処理時間を短縮することができる。
【００３０】
しかし、ラウンドキャップの場合には、スクウェアキャップの場合とは異なり、一律にキャップ図形を用いない描画コマンドへ変換すると不都合が生じることがある。図７は、線分図形の線幅が太い場合のラウンドキャップとスクウェアキャップでの描画領域の一例の説明図である。図７には、線幅が２の線分図形について、ハーフラインスキャンコンバージョン法によってラスタライズした場合の例を示している。図７（Ａ）に示すラウンドキャップが付加された線分図形を描画した場合、図７（Ｂ）に示すような描画結果が得られる。これに対して、同じ線分図形についてスクウェアキャップを付加した場合を図７（Ｃ）に示しており、この場合の描画結果を図７（Ｄ）に示している。
【００３１】
図７（Ｂ）と図７（Ｄ）を比較して分かるように、右上の１画素分の矩形領域について、ラウンドキャップの場合には描画されないのに対して、対応するスクウェアキャップでは描画されている。このような描画領域の誤差は、線分図形の線幅が大きくなるほど顕著である。従って、許容される誤差の程度に応じて、線分図形の線幅が所定値より小さい場合に限って、線分長を調節したキャップ図形を用いない描画コマンドへの変換を行うように構成すると良い。
【００３２】
このとき、例えば許容される誤差の程度に応じて、線幅の所定値を設定することができる。例えば画質を重視し、厳密さを要求する場合には線幅の所定値を通常よりも小さく設定すればよい。また、高速処理を要求する場合には、線幅の所定値を通常よりも大きく設定すればよい。
【００３３】
図８は、線分図形が傾いている場合のラウンドキャップとスクウェアキャップでの描画領域の一例の説明図である。図８に示した例では、線分図形を斜めに描画する場合を示している。なお、この例では線幅を１．５としている。この場合も、図８（Ａ）に示すようなラウンドキャップが付加された線分図形を描画すると、図８（Ｂ）においてハッチングを施した領域（画素）が描画される。同じ線分図形について図８（Ｃ）に示すようにスクウェアキャップを付加した場合の描画結果は図８（Ｄ）に示すようになる。
【００３４】
図８（Ｂ）と図８（Ｄ）に示した描画結果を比較すると、左上部分の描画結果が異なっている。このように、斜めの線分図形を描画する場合にも、ラウンドキャップをスクウェアキャップに変換すると、描画結果に誤差を生じることがある。従って、このように斜めの線分図形については、変換を行わないか、あるいは多少の誤差を許容し、線幅が所定値以内であればラウンドキャップをスクウェアキャップに変換するように構成することができる。図示していないが、線幅が１程度であれば、変換を行ってもほぼ同じ描画結果を得ることができる。
【００３５】
なお、例えば線分図形の線幅が所定値を超える場合には、変換処理を行わないか、あるいは上述の図４で説明した第１の例のように角丸矩形への変換処理を行うように構成することができる。また、ここではラウンドキャップの場合について示したが、トライアンギュラキャップの場合にも同様にスクウェアキャップとして近似することも可能である。
【００３６】
図９は、線分図形の長さが０の場合の変換処理の一例の説明図である。特殊な場合として、線分図形の長さが０の場合には、実質的に線分図形は描画されない。従って、線分図形の両端に付加される２つのキャップ図形について描画すればよい。従来は、その２つのキャップ図形はそれぞれ異なる図形として描画している。しかし、この２つのキャップ図形についても１つの図形として合成可能である。
【００３７】
図９（Ａ）にはスクウェアキャップの場合を示している。この場合には、図９（Ｂ）に示すように１つの矩形として合成できる。このような矩形を描画する描画コマンドを生成すればよい。同様に、図９（Ｃ）にはラウンドキャップの場合を示している。この場合には、図９（Ｄ）に示すように１つの円図形として合成できる。このような円図形を描画する描画コマンドを生成すればよい。また、図９（Ｅ）にはトライアンギュラキャップの場合を示している。この場合には、図９（Ｆ）に示すように１つの菱形（傾けた矩形）として合成できる。このような菱形を描画する描画コマンドを生成すればよい。
【００３８】
このように、キャップ図形を合成した描画コマンドを生成することによって、描画部２で描画する図形の数を減少させることができる。従って、処理負荷を低減させることができるとともに、処理時間の短縮を図ることができる。
【００３９】
以上、キャップ図形の形状や線分図形の長さに応じた場用がコマンドの変換処理の一例について説明した。これらの変換処理を行う動作例を示す。図１０は、変換部の動作の一例を示すフローチャートである。まず準備として、Ｓ１１において、画質を重視する設定であるか否かを判定する。画質を重視する場合にはＳ１２において線幅の所定値を示す閾値を１（画素）に設定し、画質を重視する設定ではない場合にはＳ１３において閾値を２（画素）に設定する。なお、この設定値は任意に設定可能であり、所定値そのものを設定するように構成しても良い。
【００４０】
Ｓ１４において、入力された描画コマンドを受け取り、Ｓ１５において、線分図形を描画するものであるか否かを調べる。線分図形を描画するものでない場合には、本発明による変換処理を行わないのでＳ２２に進む。
【００４１】
描画コマンドが線分図形を描画するものである場合には、Ｓ１６において、描画する線分図形の線幅と、Ｓ１２又はＳ１３で設定した閾値とを比較する。線幅が閾値より小さい値である場合には、図６で説明したようにスクウェアキャップに近似することができ、さらに図２で説明したようにキャップ図形を用いない描画コマンドに変換可能である。従って、Ｓ１８において、Ｓ１４で取得した描画コマンドを、キャップ図形を用いない描画コマンドに変換する。なお、図６ではラウンドキャップの場合について説明したが、ここではスクウェアキャップやトライアンギュラキャップの場合にも同様の変換を行っている。線幅が狭い場合には、いずれの場合もＳ１８における変換処理が可能である。もちろん、画質を重視する場合には、Ｓ１２において閾値を小さく設定しているので、Ｓ１８において変換処理を行うケースは少なくなる。これによって実際に描画される領域の誤差の発生を抑えることができる。
【００４２】
Ｓ１６で線分図形の線幅が閾値以上である場合には、さらにＳ１７において、指定されているキャップ形状がスクウェアキャップであるか否かを判定する。スクウェアキャップの場合には、図２を用いて説明したように、線幅に関係なく、キャップ図形を用いない描画コマンドへの変換が可能である。従って、設定されているキャップ形状がスクウェアキャップの場合には、Ｓ１８において、キャップ図形を用いない描画コマンドへの変換を行う。
【００４３】
線分図形のキャップ形状がスクウェアキャップでない場合には、Ｓ１９において、線分図形の長さが０であるか否かを判定する。線分図形の長さが０である場合には、図９で説明したように、線分図形の両端に付加されるキャップ図形を合成することができる。従ってＳ２１において、線分図形の両端に付加されるキャップ図形を合成した描画コマンドに変換してＳ２２へ進む。
【００４４】
線分図形の長さが０でない場合には、線分図形とキャップ図形を合成した図形を描画する描画コマンドへの変換を行う。例えばラウンドキャップであれば図４で説明したように角丸図形を描画する描画コマンドへの変換を行う。また、例えばトライアンギュラキャップであれば図３で説明したように凸多角形を描画する描画コマンドへの変換を行えばよい。
【００４５】
Ｓ２２において、全ての描画コマンドについて処理を行ったか否かを判定し、未処理の描画コマンドが残っている場合にはＳ１４へ戻って次の描画コマンドの処理を行う。全ての描画コマンドについての処理を終えたら、適宜変換処理を行った描画コマンドに従って描画部２が描画処理を行う。上述のように、キャップ図形を伴う線分図形を描画する描画コマンドについては、キャップ図形を用いない描画コマンドに変換されている。従って描画処理時に扱う図形の数は格段に減少しており、短時間で描画処理を行うことができる。
【００４６】
なお、上述の動作例は一例であって、上述の各例に示すような変換処理を行う処理であれば図１０に示す流れに限られないことは言うまでもない。また、変換部１で行う描画コマンドへの変換処理は上述の各例に限られるものではなく、他の形状のキャップ図形が存在すれば、そのキャップ図形に対応するように変形可能であることも言うまでもない。
【００４７】
図１１は、本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラムおよびそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。図中、３１はプログラム、３２はコンピュータ、４１は光磁気ディスク、４２は光ディスク、４３は磁気ディスク、４４はメモリ、５１は光磁気ディスク装置、５２は光ディスク装置、５３は磁気ディスク装置である。
【００４８】
上述の実施の形態で説明した変換部１や描画部２の機能の一部または全部を、コンピュータにより実行可能なプログラム３１によって実現することが可能である。その場合、そのプログラム３１およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶することも可能である。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク４１，光ディスク４２（ＣＤやＤＶＤなどを含む）、磁気ディスク４３，メモリ４４（ＩＣカード、メモリカードなどを含む）等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
【００４９】
これらの記憶媒体にプログラム３１を格納しておき、例えばコンピュータ３２の光磁気ディスク装置５１，光ディスク装置５２，磁気ディスク装置５３，あるいは図示しないメモリスロットにこれらの記憶媒体を装着することによって、コンピュータからプログラム３１を読み出し、本発明の画像処理装置の機能または画像処理方法を実行することができる。あるいは、あらかじめ記憶媒体をコンピュータ３２に装着または内蔵しておき、例えばネットワークなどを介してプログラム３１をコンピュータ３２に転送し、記憶媒体にプログラム３１を格納して実行させてもよい。
【００５０】
もちろん、一部の機能についてハードウェアによって構成することもできるし、あるいは、すべてをハードウェアで構成してもよい。また、例えば画像形成装置に組み込むなど、他の画像処理と連動される場合には、その画像処理を行うプログラムとの一体化も可能である。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の一形態を示すブロック図である。
【図２】スクウェアキャップの場合の変換処理の一例の説明図である。
【図３】トライアンギュラキャップの場合の変換処理の一例の説明図である。
【図４】ラウンドキャップの場合の変換処理の第１の例の説明図である。
【図５】ハーフラインスキャンコンバージョン法の説明図である。
【図６】ラウンドキャップをスクウェアキャップに変換する場合の一例の説明図である。
【図７】線分図形の線幅が太い場合のラウンドキャップとスクウェアキャップでの描画領域の一例の説明図である。
【図８】線分図形が傾いている場合のラウンドキャップとスクウェアキャップでの描画領域の一例の説明図である。
【図９】線分図形の長さが０の場合の変換処理の一例の説明図である。
【図１０】変換部の動作の一例を示すフローチャートである。
【図１１】本発明の画像処理装置の機能または画像処理方法をコンピュータプログラムで実現した場合におけるコンピュータプログラムおよびそのコンピュータプログラムを格納した記憶媒体の一例の説明図である。
【図１２】キャップ図形の一例の説明図である。
【符号の説明】
【００５２】
１…変換部、２…描画部、３１…プログラム、３２…コンピュータ、４１…光磁気ディスク、４２…光ディスク、４３…磁気ディスク、４４…メモリ、５１…光磁気ディスク装置、５２…光ディスク装置、５３…磁気ディスク装置。
【図１】
2005242591.tif 000003
【図２】
2005242591.tif 000004
【図３】
2005242591.tif 000005
【図４】
2005242591.tif 000006
【図５】
2005242591.tif 000007
【図６】
2005242591.tif 000008
【図７】
2005242591.tif 000009
【図８】
2005242591.tif 000010
【図９】
2005242591.tif 000011
【図１０】
2005242591.tif 000012
【図１１】
2005242591.tif 000013
【図１２】
2005242591.tif 000014