JPH05258073A - 図形塗潰し装置 - Google Patents

図形塗潰し装置

Info

Publication number
JPH05258073A
JPH05258073A JP3046813A JP4681391A JPH05258073A JP H05258073 A JPH05258073 A JP H05258073A JP 3046813 A JP3046813 A JP 3046813A JP 4681391 A JP4681391 A JP 4681391A JP H05258073 A JPH05258073 A JP H05258073A
Authority
JP
Japan
Prior art keywords
painting
edge list
scan line
graphic
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3046813A
Other languages
English (en)
Other versions
JP2770582B2 (ja
Inventor
Katsumi Nonaka
野中克己
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3046813A priority Critical patent/JP2770582B2/ja
Priority to US07/849,580 priority patent/US5355451A/en
Publication of JPH05258073A publication Critical patent/JPH05258073A/ja
Application granted granted Critical
Publication of JP2770582B2 publication Critical patent/JP2770582B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Abstract

(57)【要約】 【目的】 少ないメモリ容量でオーダード・エッジ・リ
スト方式による図形塗潰しを行う。 【構成】 ステップS1で図形データの副走査方向の最
小値と最大値を求めて有効スキャンラインを初期設定す
る。ステップS2では図形データを参照して、図形の輪
郭とスキャンラインの交点の座標を求めて順次エッジリ
ストに登録していく。そのときエッジリストがオーバー
フローしたか否かを判断し、オーバーフローしなければ
全ての交点を登録した後エッジリストを整列化して塗潰
しを行うが、オーバーフローした場合には、ステップS
8で図形を分割し、有効スキャンラインを初期設定の半
分の範囲に再設定する。その後、再度全ての交点の座標
を求めて、再設定された有効スキャンラインの範囲内の
交点の座標値のみをエッジリストに登録し、オーバーフ
ローがなければ再設定された有効スキャンラインの範囲
のみの分割図形を塗潰す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、図形の屈曲点から図形
の輪郭を復元して当該図形を塗潰す図形塗潰し方式に関
する。
【0002】
【従来の技術】図形の塗潰し処理は、コンピュータグラ
フィックスにおいて非常に重要な技術であり、コード情
報をラスターイメージに展開する場合には欠くことので
きない技術である。特に近年ではアウトラインフォント
を用いた場合に文字の塗潰しのために使用されている。
塗潰しの方式としては種々の方式が提案されているが、
汎用性の高い塗潰し方式としてオーダード・エッジ・リ
スト方式(Orderd EdgeList Algorithm)が知られてい
る。以下、その処理の概略を説明する。なお、本明細書
においては、図形は文字、記号等も含むものとする。
【0003】図7はオーダード・エッジ・リスト方式に
よる塗潰し処理の概略のフローチャートであり、いま、
図8において〜で示す7個の頂点、即ち屈折点の座
標データが与えられたとすると、各頂点間を順に結びな
がら、輪郭を構成する直線と各スキャンラインとの交点
の座標を求め、その座標をオーダード・エッジ・リスト
(以下、エッジリストと称す)に登録する(ステップS
10)。このとき、、、のようにY方向の極大
点、極小点となる交点については重複して2点と数え、
、のように極大点でもなく極小点でもない交点につ
いては重複することなく1点として数え、、のよう
にX方向の極大点、極小点となる交点については1点と
数えるルールを設ける。
【0004】以上の処理において、輪郭を構成する直線
と各スキャンラインとの交点の座標を求める方法として
は、例えばブレゼンハムの直線補間方法を用いることが
できるが、交点の座標を求めることができる方法であれ
ばその他の方法を用いることができるものであることは
言うまでもない。なお、図8においてX方向は表示装置
あるいはページプリンタの主走査方向を示し、Y方向は
副走査方向を示す。以下同様である。
【0005】ステップS10を全ての頂点間について行
うことによって、図9の「○」印で示すように当該図形
の輪郭とスキャンラインの全ての交点の座標を求める
(ステップS11)。以上の処理によりエッジリストに
は図10Aに示すように全ての交点の座標が登録され
る。
【0006】次に、図10Bに示すように、エッジリス
トに登録された座標をY方向の座標値について昇順に整
列化し、更に図10Cに示すように、各Y座標値に関し
てX座標値を整列化して、図10Dに示すような交点の
座標リストを作成する(ステップS12)。次に、整列
化されたエッジリストを先頭から見ていき、スキャンラ
イン単位で、1番目と2番目、3番目と4番目というよ
うに、隣合う奇数番目と偶数番目のX座標を対とし、そ
の間を所定のピクセルパターンでセットすることによっ
て塗潰し処理を行う(ステップS13)。例えば、図1
0Dの場合にはY=2のスキャンラインにおいてはX座
標の3から6までが塗潰され、Y=4のスキャンライン
においてはX座標の3から6までと8から10までが塗
潰される。以上のようにして当該図形は図11に示すよ
うに塗潰される。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
オーダード・エッジ・リスト方式による図形塗潰しにお
いては、輪郭とスキャンラインの交点の座標データがエ
ッジリストを格納するメモリの容量を越えた場合には図
形の塗潰しができないという問題があった。
【0008】例えば、アウトラインフォントをビットマ
ップに展開する場合には、エッジリストを格納するメモ
リとしては、使用する漢字の中で最も交点の数が多い複
雑な漢字をビットマップデータに展開できる程度の容量
を有するようにするのが通常であるが、より複雑な漢字
あるいは記号、図形が作成された場合にはビットマップ
に展開することは不可能となる。勿論、非常に膨大な容
量を有するメモリを使用することによってこのような問
題を回避することはできるが、コストが非常に高いもの
となり、小規模のワードプロセッサあるいはパーソナル
コンピュータ等の図形処理装置においては上述したエッ
ジリストを格納するメモリ領域を豊富に確保できるもの
ではないので、現実的ではないものである。
【0009】本発明は、上記の課題を解決するものであ
って、少ないメモリ容量でオーダード・エッジ・リスト
方式による図形塗潰しを行うことができる図形塗潰し方
式を提供することを目的とするものである。
【0010】
【課題を解決するための手段及び作用】塗潰し書部1
は、図形データを参照して、その副走査方向の最小値と
最大値とから有効スキャンラインを初期設定し、当該図
形の輪郭とスキャンラインとの交点の座標を求めてエッ
ジリストメモリ3に書き込んでいく。その途中でエッジ
リストメモリ3がオーバーフローして全ての交点の座標
値を書き込めなくなった場合には、初期設定した有効ス
キャンラインを分割し、例えば上半分の範囲に再設定
し、再度全ての交点を求めて、再設定された有効スキャ
ンラインの範囲にある交点の座標値のみをエッジリスト
メモリ3に書き込み、エッジリストメモリ3がオーバー
フローしなかった場合には当該再設定された有効スキャ
ンラインの範囲のみを塗潰す処理を繰り返す。
【0011】
【実施例】以下、図面を参照しつつ実施例を説明する。
図1は本発明に係る図形塗潰し方式の一実施例の構成を
示す図、図2は本発明に係る図形塗潰し方式の処理を示
すフローチャートである。図1において、図形データメ
モリ1には、図示しない図形処理装置から図形の輪郭を
示す座標データが書き込まれる。当該図形データは、例
えば図8に示すように当該図形の頂点の座標データであ
ってもよく、またアウトラインフォントのように図形の
輪郭を示すベクトルの始点と終点の集合であってもよ
い。
【0012】図形データメモリ2に図形データが書き込
まれると、塗潰し処理部1は、まず図形データを参照し
てY座標の最小値と最大値とを求め、当該図形のY座標
の範囲、即ち有効スキャンラインを設定する(ステップ
S1)。例えばいま、図3の10で示す図形のデータが
書き込まれたとすると、図形データからY座標の最小値
1 と最大値Y2 を求め、Y1 とY2 の間を有効スキャ
ンラインとして設定する。次に、従来のステップS10
と同様にして当該図形の輪郭と有効スキャンラインの交
点の座標を求め、エッジリストメモリ3に登録する(ス
テップS2)。このとき、塗潰し処理部1は一つの交点
の座標を登録する毎にエッジリストメモリ3がオーバー
フローしたか否かを確認する(ステップS3)。
【0013】そして、全ての交点の座標の登録がエッジ
リストメモリ3がオーバーフローすることなく終了した
場合には、ステップS4からステップS5に分岐して、
従来のステップS12、S13と同様にしてエッジリス
トの整列化を行い、塗潰し処理を行い(ステップS
6)、全領域の塗潰しを完了して(ステップS7)処理
を終了するが、全ての交点の座標をエッジリストメモリ
3に登録する以前にエッジリストメモリ3がオーバーフ
ローした場合には、塗潰し処理部1はエッジリストメモ
リ1をクリアし、ステップS3からステップS8に分岐
して、有効スキャンラインを、例えばステップS1で初
期設定された有効スキャンラインの半分の範囲に再設定
する。従って、図3の場合には図4に示すように、再設
定された有効スキャンラインは、Y1 から(Y1+Y2
/2の範囲になる。これで図形10は2分割される。
【0014】有効スキャンラインを再設定すると、塗潰
し処理部1は、再度図形データを参照して当該図形の輪
郭とスキャンラインの全ての交点の座標を求め、再設定
した有効スキャンライン内にある交点の座標のみをエッ
ジリストメモリ3に登録する(ステップS2)。
【0015】ステップS8で再設定した有効スキャンラ
インでエッジリストメモリ3がオーバーフローすること
なく交点座標の登録が終了した場合には、ステップS
5、S6の処理により、図5に示すように再設定された
有効スキャンラインの範囲だけが塗潰され、次にステッ
プS7からステップS8に分岐して有効スキャンライン
が残りの半分、即ち図4の場合(Y1+Y2)/2からY
2 の範囲に設定されて同じ処理が繰り返されるが、交点
座標の登録の途中でエッジリストメモリ3がオーバーフ
ローした場合には、ステップS8に戻って、有効スキャ
ンラインは更に半分に狭められ、図4の場合には図6に
示すように有効スキャンラインはY1 から(3Y1
2)/4の範囲に再度設定され、上記の処理が繰り返
される。
【0016】以上のようにして塗潰しが行われた図形は
キャッシュメモリ4に展開され、更に図示しないページ
メモリに書き込まれて、表示装置での表示あるいはペー
ジプリンタでのハードコピーに使用される。
【0017】以上、本発明の一実施例について説明した
が、本発明は上記実施例に限定されるものではなく、種
々の変形が可能である。例えば上記実施例では有効スキ
ャンラインの再設定は前回設定された範囲の半分に設定
するものとしたが、これは分割数をできるだけ少なくす
るためであって、1/3あるいは1/4に設定するよう
にしてもよいことは当業者に明らかである。
【0018】
【発明の効果】以上の説明から明らかなように、本発明
によれば、エッジリストメモリの容量としては、最小限
1スキャンラインの画素数の座標データを全て格納でき
るだけの容量を備えていれば、どのように複雑且つ大き
な図形でも1スキャンライン毎に分割して塗潰しを行う
ことができるので、従来のように大容量のメモリを備え
る必要はなく、従ってコストを低減することができるば
かりでなく、ピン数も減らせるので信頼性を向上させる
ことができる。
【図面の簡単な説明】
【図1】 本発明に係る図形塗潰し方式の一実施例の構
成を示す図である。
【図2】 本発明に係る図形塗潰し方式の処理を示すフ
ローチャートである。
【図3】 有効スキャンラインの初期設定を説明するた
めの図である。
【図4】 有効スキャンラインの再設定を説明するため
の図である。
【図5】 分割されて塗潰された様子を示す図である。
【図6】 図4の状態から更に有効スキャンラインを再
設定した様子を示す図である。
【図7】 オーダード・エッジ・リスト方式による塗潰
し処理を示すフローチャートである。
【図8】 入力される図形データの例を示す図である。
【図9】 直線補間により求められた図形の輪郭とスキ
ャンラインの交点を示す図である。
【図10】 エッジリストの整列化を説明するための図
である。
【図11】 塗潰された図形を示す図である。
【符号の説明】 1…塗潰し処理部、2…図形データメモリ、3…エッジ
リストメモリ、4…キャッシュメモリ。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年4月20日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 図形塗潰し装置
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】発明の詳細な説明
【補正方法】変更
【補正内容】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、図形の屈曲点から図形
の輪郭を復元して当該図形を塗潰す図形塗潰し装置に関
する。
【0002】
【従来の技術】図形の塗潰し処理は、コンピュータグラ
フィックスにおいて非常に重要な技術であり、コード情
報をラスターイメージに展開する場合には欠くことので
きない技術である。特に近年ではアウトラインフォント
を用いた場合に文字の塗潰しのために使用されている。
塗潰しの方式としては種々の方式が提案されているが、
汎用性の高い塗潰し方式としてオーダード・エッジ・リ
スト方式(Orderd EdgeList Algorithm)が知られてい
る。以下、その処理の概略を説明する。なお、本明細書
においては、図形は文字、記号等も含むものとする。
【0003】図8はオーダード・エッジ・リスト方式に
よる塗潰し処理の概略のフローチャートであり、いま、
図9において〜で示す7個の頂点の座標データのリ
ストが与えられたとすると、各頂点間を順に結びなが
ら、輪郭を構成する輪郭点と、メモリ上でのY座標値が
N(但し、Nは0以上の整数である)である直線(以
下、これを有効スキャンラインと称す)との交点のX座
標値を求め、そのX座標値をY座標値に対応させてオー
ダード・エッジ・リスト(以下、エッジリストと称す)
に登録する(ステップS20)。このとき、、、
のようにY方向の極大点、極小点となる交点については
重複して2点と数え、、のように極大点でもなく極
小点でもない交点については重複することなく1点とし
て数え、、のようにX方向の極大点、極小点となる
交点については1点と数えるルールを設ける。
【0004】以上の処理において、与えられる頂点の座
標データから当該図形の輪郭点を順次追跡する手法とし
ては、例えばブレゼンハムの直線補間法を用いることが
できるが、図形の輪郭点を求めることができる方法であ
ればその他のいかなる方法を用いることができるもので
あることは言うまでもない。なお、図9においてX方向
は表示装置、ページプリンタ等においては主走査方向を
示し、Y方向は副走査方向を示す。以下同様である。
【0005】ステップS20を全ての頂点間について行
うことによって、図10の「○」印で示すように当該図
形の輪郭と有効スキャンラインとの全ての交点のX座標
値を求める(ステップS21)。以上の処理によりエッ
ジリストには図11Aに示すように全ての交点のX座標
値がY座標の値に対応して登録される。
【0006】次に、図11Bに示すように、エッジリス
トに登録されたX座標値をY座標値について昇順に整列
化し、更に図11Cに示すように、各Y座標値に関して
X座標値を整列化して、図11Dに示すような交点の座
標リストを作成する(ステップS22)。次に、整列化
されたエッジリストを先頭から見ていき、各Y座標値の
単位で、1番目と2番目、3番目と4番目というよう
に、隣合う奇数番目と偶数番目のX座標値を対とし、そ
のX座標値対の間に所定のピクセルパターンをセットす
ることによって塗潰し処理を行う(ステップS23)。
例えば、図11Dにおいて、Y=2の位置ではX座標の
3から6までが塗潰され、Y=4の位置ではX座標が3
から6までの部分、及び8から10までの部分が塗潰さ
れる。以上のようにして当該図形は図12に示すように
塗潰される。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
オーダード・エッジ・リスト方式による図形塗潰しにお
いては、輪郭と有効スキャンラインとの交点のX座標値
のデータがエッジリストを格納するメモリの容量を越え
た場合には図形の塗潰しができないという問題があっ
た。
【0008】例えば、アウトラインフォントをビットマ
ップに展開する場合には、エッジリストを格納するメモ
リとしては、使用する漢字の中で輪郭と有効スキャンラ
インの交点の数が最も多い複雑な漢字をビットマップデ
ータに展開できる程度の容量を有するようにするのが通
常であるが、より複雑な漢字あるいは記号、図形が作成
された場合にはビットマップに展開することは不可能と
なる。勿論、非常に膨大な容量を有するメモリを使用す
ることによってこのような問題を回避することはできる
が、コストが非常に高いものとなり、小規模のワードプ
ロセッサあるいはパーソナルコンピュータ等の図形処理
装置においては上述したエッジリストを格納するメモリ
領域を豊富に確保できるものではないので、現実的では
ないものである。
【0009】本発明は、上記の課題を解決するものであ
って、少ないメモリ容量でオーダード・エッジ・リスト
方式による図形塗潰しを行うことができる図形塗潰し装
置を提供することを目的とするものである。
【0010】
【課題を解決するための手段及び作用】上記の目的を達
成するために、本発明の図形塗潰し装置は、屈折点デー
タ記憶手段と、輪郭線データ生成手段と、輪郭線データ
記憶手段と、塗潰し手段とを備える図形塗潰し装置にお
いて、登録手段と、記憶管理手段と、分割処理手段とを
備えることを特徴とする。ここで、屈折点データ記憶手
段は図形における各屈折点の(X,Y)座標値を屈折点
データとして記憶するものであり、輪郭線データ生成手
段は前記屈折点データ記憶手段から屈折点データを順次
読み出し、各屈折点の間を結ぶ輪郭線を形成する点の
(X,Y)座標値を輪郭線データとして生成するもので
あり、輪郭線データ記憶手段は前記輪郭線データ生成手
段で生成した輪郭線データを記憶するものであり、塗潰
し手段は前記輪郭線データ記憶手段から同一のY座標値
を有する輪郭線データを読み出し、読み出された輪郭線
データの各X座標値の大きさに基づいて各Y座標値毎に
線画像データを生成して当該図形の塗潰しを行うもので
ある。また、登録手段は前記塗潰し処理を行うY座標値
の範囲を登録するものであり、記憶管理手段は前記輪郭
線データ生成手段により生成された輪郭線データのう
ち、そのY座標値が前記登録手段に登録された範囲の輪
郭線データのみを前記輪郭線データ記憶手段に記憶させ
ると共に、前記輪郭線データ記憶手段の記憶領域がオー
バーフローしたか否かを検知する。そして、分割処理手
段は、前記記憶管理手段が前記輪郭線データ記憶手段の
記憶領域のオーバーフローを検知した場合には、前記登
録手段に登録された塗潰し処理を行うY座標値の範囲を
分割すると共に、分割した各Y座標値の範囲毎に前記輪
郭線データ生成手段、輪郭線データ記憶手段及び塗潰し
手段を起動させて塗潰し処理を順次実行させる。
【0011】
【実施例】以下、図面を参照しつつ実施例を説明する。
図1は本発明に係る図形塗潰し装置の一実施例の構成を
示す図、図2は本発明に係る図形塗潰し装置における処
理を示すフローチャートである。図1において、塗潰し
処理部1はCPU及びその周辺回路で構成され、図2に
示す処理を実行するものである。図形データメモリ2
は、図示しない図形処理装置から塗り潰しの対象となる
図形のデータが書き込まれるものである。当該図形デー
タは、例えば図9に示すように当該図形の頂点の座標デ
ータであってもよく、またアウトラインフォントのよう
に当該図形の輪郭を示すベクトルの始点と終点の集合で
あってもよいが、ここでは図形の頂点の座標リストが与
えられるものとする。
【0012】次に、塗潰し処理部1の動作について説明
する。図形データメモリ2に頂点座標リストが書き込ま
れると、塗潰し処理部1は、まず頂点座標リストを参照
して、当該図形の輪郭のY座標の最小値と最大値を求め
(ステップS1)、その最小値と最大値の範囲を有効ス
キャンラインとして設定する(ステップS2)。例えば
いま、図4の10で示す図形の頂点座標リストが図形デ
ータメモリ2に書き込まれたとすると、頂点座標リスト
からY座標の最小値Y1 と最大値Y2 を求め、Y1 とY
2 の間を有効スキャンラインとして設定する。有効スキ
ャンラインを設定すると塗り潰し処理部1は、設定した
有効スキャンラインの高さ幅に応じて、エッジリストメ
モリ3に形成するエッジリストの行と列のサイズを設定
する(ステップS3)。
【0013】エッジリストメモリ3は、図3に示すよう
に、その総容量は固定であるが、行と列の数を可変でき
る2次元バッファメモリで構成されている。従って、行
数と列数は互いに反比例の関係にある。そして、行数は
ステップS2で設定された有効スキャンライン数により
決定され、それによって列数、即ち1スキャンラインに
おける当該図形の輪郭と当該有効スキャンラインとの交
点として登録できるX座標値の最大数が定まる。従って
例えば、ある図形の有効スキャンライン数が50であっ
た場合にはエッジリストメモリ3の行数は50であり、
このときエッジリストメモリ3の列数が20であったと
すると、有効スキャンライン数が40の図形の場合に
は、エッジリストメモリ3の行数は40、列数は25と
なる。エッジリストメモリ3の各行の先頭、即ち0列目
はインデックス領域となされており、その行中に登録さ
れているX座標値の数が書き込まれる。例えば、ある有
効スキャンラインにおいて、図形の輪郭と当該有効スキ
ャンラインの交点が3個である場合には、当該有効スキ
ャンラインに対応する行のインデックス領域には「3」
が書き込まれ、それに続く1〜3列目にはそれぞれの交
点のX座標値が書き込まれる。また、塗り潰し処理部1
は輪郭追跡の処理の過程において、輪郭と有効スキャン
ラインとの交点を求める度毎に、エッジリストの対応す
る行にその交点のX座標値を書き込むが、そのときにイ
ンデックス領域の値も更新する。その際、塗り潰し処理
部1は、更新したインデックス領域の値がステップS3
で設定した列数を越えたと判断した場合にはエッジリス
トメモリ3はオーバーフローしたものと判断する。な
お、エッジリストメモリ3に書き込まれている全ての内
容を無効とする場合には、塗り潰し処理部1はインデッ
クス領域に「0」を書き込む。ステップS3の処理が終
了すると、塗り潰し処理部1は、与えられた頂点座標リ
ストから当該図形の頂点間の次の輪郭点を1点求め(ス
テップS4)、その求めた輪郭点と有効スキャンライン
との交点のX座標値をエッジリストメモリ3の対応する
行に書き込むと共に当該行のインデックス領域の値を更
新し(ステップS5)、更新したインデックス領域の値
からエッジリストメモリ3がオーバーフローしたか否か
を判断する(ステップS6)。エッジリストメモリ3が
オーバーフローしていないと判断すると、塗り潰し処理
部1は、次に当該図形の全ての輪郭の追跡が完了したか
否かを判断し(ステップS7)、完了した場合にはステ
ップS8の処理を行うが、完了していない場合にはステ
ップS4以下の処理を繰り返す。即ち、ステップS4〜
S7の処理は輪郭追跡の過程で輪郭点が一つ求められる
度毎に行われるものである。しかし、ステップS6でエ
ッジリストメモリ3がオーバーフローしたと判断する
と、塗り潰し処理部1は、エッジリストメモリ3の全て
の行のインデックス領域に「0」を書き込んでこれまで
書き込まれた内容を無効とし、ステップS6からステッ
プS11に分岐して、有効スキャンラインを、ステップ
S2で設定した有効スキャンラインの上半分の範囲に再
設定する。例えば、図4に示す図形10について上述し
た処理を行っている途中でエッジリストメモリ3がオー
バーフローした場合には、ステップS11で再設定され
る有効スキャンラインは、図5に示すように、Y1 から
(Y1+Y2)/2の範囲になる。即ち、図形10は2分
割される。
【0014】有効スキャンラインを再設定すると、塗潰
し処理部1は、ステップS3に戻って、ステップS11
で再設定した有効スキャンラインの高さ幅に応じて、エ
ッジリストメモリ3に形成するエッジリストの行と列の
サイズを設定する。例えば最初にステップS3の処理で
設定したときには50行×20列であったとすると、次
にステップS11からステップS3に戻って設定される
エッジリストのサイズは25行×40列となり、これに
よって各行にはより多くの交点のX座標値が書き込める
ようになる。その後、塗り潰し処理部1は、再度与えら
れた頂点座標リストから当該図形の頂点間の次の輪郭点
を1点求め(ステップS4)、その求めた輪郭点とステ
ップS11で設定した有効スキャンラインの範囲内にあ
る有効スキャンラインとの交点のX座標値のみをエッジ
リストメモリ3の対応する行に書き込むと共に当該行の
インデックス領域の値を更新し(ステップS5)、更新
したインデックス領域の値からエッジリストメモリ3が
オーバーフローしたか否かを判断する(ステップS
6)。そして再びステップS6でエッジリストメモリ3
がオーバーフローしたと判断すると、ステップS11で
有効スキャンラインを、前回設定した有効スキャンライ
ンの上半分に設定する。例えば、エッジリストメモリ3
が2回オーバーフローを生じたとすると、そのときには
ステップS11では有効スキャンラインの幅は更に半分
に狭められ、図5の場合には図7に示すように有効スキ
ャンラインはY1 から(3Y1+Y2)/4の範囲に再度
設定され、上記の処理が繰り返される。即ちこの場合に
はステップS11で設定される有効スキャンラインは当
該図形の高さの上側の1/4となる。
【0015】塗り潰し処理部1は上記の処理を繰り返し
実行し、ステップS7で当該図形の全ての輪郭の追跡が
完了したと判断すると、図8に示す従来の塗り潰し処理
のステップS22、S23と同様にしてエッジリストの
整列化を行い(ステップS8)、塗潰し処理を行って
(ステップS9)、塗り残した領域があるか否かを判断
する(ステップS10)。ステップS6の判断において
エッジリストメモリ3のオーバーフローが1回も検知さ
れない場合にはステップS9では当該図形の全領域が塗
り潰されるから、ステップS10では塗り残し領域はな
いものと判断され、塗り潰し処理部1はこの塗り潰し処
理を終了するが、塗り残した領域がある場合には、塗り
潰し処理部1は、既に塗り潰した領域の下側の領域を新
たな図形輪郭とし、その図形の輪郭のY座標の最小値と
最大値を求め(ステップS12)、その最小値と最大値
の範囲を新たな有効スキャンラインとして設定して(ス
テップS2)、上述した処理を繰り返す。
【0016】例えば、ステップS11で再設定した有効
スキャンラインでエッジリストメモリ3がオーバーフロ
ーすることなく輪郭点と有効スキャンラインの交点のX
座標値の登録が終了した場合には、ステップS8、S9
の処理により、図6に示すように再設定された有効スキ
ャンラインの範囲だけが塗潰され、次にステップS10
からステップS12に分岐して有効スキャンラインが残
りの半分、即ち図6の場合(Y1+Y2)/2からY2
範囲が新たな有効スキャンラインとして設定され、以下
上述した処理が繰り返される。以上のようにして塗り潰
しの処理が施された図形はキャッシュメモリ4に展開さ
れ、更に図示しないページメモリに書き込まれて、表示
装置での表示あるいはページプリンタでのハードコピー
等に使用される。
【0017】以上、本発明の一実施例について説明した
が、本発明は上記実施例に限定されるものではなく、種
々の変形が可能である。例えば上記実施例では有効スキ
ャンラインの再設定は前回設定された範囲の半分に設定
するものとしたが、これは分割数をできるだけ少なくす
るためであって、1/3あるいは1/4に設定するよう
にしてもよい。また、エッジリストメモリがオーバーフ
ローして有効スキャンラインを再設定した場合は、図形
の頂点を結ぶ線がこの有効スキャンラインに含まれるか
否かを判断する手段を設け、含まれない場合はステップ
S4の輪郭点を求める演算を省略して次の図形の頂点を
結ぶ線を処理するようにして処理時間を短縮してもよい
ものである。更に、エッジリストメモリがオーバーフロ
ーして有効スキャンラインを再設定する場合において、
エッジリストメモリにそれまで展開していたエッジリス
トを他の記憶手段に一次的に退避させ、その退避させた
エッジリストから再設定した有効スキャンラインに該当
するエッジリストのみを記憶させるようにすれば、それ
まで得た図形の頂点を結ぶ輪郭点をそのまま利用できる
ので、継続して処理を行うことができる。なお、エッジ
リストメモリにそれまで展開していたエッジリストを再
設定した有効スキャンラインに応じて取捨し、エッジリ
ストメモリ内のみで再配置するようにすれば、前記の他
の記憶手段は不要である。また、エッジリストメモリに
エッジリストをシーケンシャルに記憶させ、その後各ス
キャンラインに対応したエッジリストを順次選択するよ
うにすれば、エッジリストメモリにおいて実際に使用さ
れない無駄な領域が少なくなり、エッジリストメモリを
効率よく使用できる。この場合もエッジリストメモリが
オーバーフローした場合に再設定後の有効スキャンライ
ンに応じてエッジリストを取捨して再配置すれば継続し
て処理を行うことができる。以上の変形を必要に応じて
実施できることは当業者に明らかである。
【0018】
【発明の効果】以上の説明から明らかなように、本発明
によれば、エッジリストメモリの容量としては、最小限
1スキャンラインの画素数の座標データを全て格納でき
るだけの容量を備えていれば、どのように複雑且つ大き
な図形でも1スキャンライン毎に分割して塗潰しを行う
ことができるので、従来のように大容量のメモリを備え
る必要はなく、従ってコストを低減することができるば
かりでなく、ピン数も減らせるので信頼性を向上させる
ことができる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】 本発明に係る図形塗潰し装置の一実施例の構
成を示す図である。
【図2】 本発明に係る図形塗潰し装置の処理を示すフ
ローチャート。
【図3】 エッジリストメモリの構造を示す図である。
【図4】 有効スキャンラインの初期設定を説明するた
めの図である。
【図5】 有効スキャンラインの再設定を説明するため
の図である。
【図6】 分割塗り潰しを説明するための図である。
【図7】 図5の状態から更に有効スキャンラインを再
設定した様子を示す図である。
【図8】 オーダード・エッジ・リスト方式による塗潰
し処理を示すフローチャート。
【図9】 入力される図形データの例を示す図である。
【図10】 直線補間により求められた図形の輪郭とス
キャンラインの交点を示す図である。
【図11】 エッジリストの整列化を説明するための図
である。
【図12】 塗潰された図形を示す図である。
【符号の説明】 1…塗潰し処理部、2…図形データメモリ、3…エッジ
リストメモリ、4…キャッシュメモリ。
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正内容】
【図3】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図7
【補正方法】変更
【補正内容】
【図7】
【手続補正11】
【補正対象書類名】図面
【補正対象項目名】図8
【補正方法】変更
【補正内容】
【図8】
【手続補正12】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正13】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正内容】
【図10】
【手続補正14】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】
【手続補正15】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】追加
【補正内容】
【図12】

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 屈折点の座標データから図形の輪郭を復
    元して当該図形を塗潰す図形塗潰し方式において、輪郭
    を定める座標点のデータ量が当該輪郭座標点を格納する
    メモリの容量を越えた場合に限り、当該図形を走査方向
    と直交する方向で当該図形を分割して塗潰しを繰り返す
    ことを特徴とする図形塗潰し方式。
JP3046813A 1991-03-12 1991-03-12 図形塗潰し装置 Expired - Fee Related JP2770582B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3046813A JP2770582B2 (ja) 1991-03-12 1991-03-12 図形塗潰し装置
US07/849,580 US5355451A (en) 1991-03-12 1992-03-11 Graphic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3046813A JP2770582B2 (ja) 1991-03-12 1991-03-12 図形塗潰し装置

Publications (2)

Publication Number Publication Date
JPH05258073A true JPH05258073A (ja) 1993-10-08
JP2770582B2 JP2770582B2 (ja) 1998-07-02

Family

ID=12757775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3046813A Expired - Fee Related JP2770582B2 (ja) 1991-03-12 1991-03-12 図形塗潰し装置

Country Status (2)

Country Link
US (1) US5355451A (ja)
JP (1) JP2770582B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134124A1 (ja) * 2009-05-19 2010-11-25 三菱電機株式会社 ベクトル図形描画装置
US8736871B2 (en) 2009-07-29 2014-05-27 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816144A (ja) * 1994-06-29 1996-01-19 Fujitsu Ltd アウトラインフォント展開方法およびアウトラインフォント展開装置
JP3403707B2 (ja) * 2000-09-29 2003-05-06 松下電器産業株式会社 描画装置
JP4858883B2 (ja) * 2008-11-07 2012-01-18 Necシステムテクノロジー株式会社 ベクター画像描画装置、ベクター画像描画方法およびプログラム
US10930040B2 (en) * 2019-05-20 2021-02-23 Adobe Inc. Graphic object modifications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373486A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd 図形塗潰し方式
JPS63271585A (ja) * 1987-04-28 1988-11-09 Fuji Xerox Co Ltd 図形出力制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01196675A (ja) * 1988-01-30 1989-08-08 Toshiba Corp パターンデータ生成方式
JP2634851B2 (ja) * 1988-04-28 1997-07-30 シャープ株式会社 画像処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373486A (ja) * 1986-09-17 1988-04-04 Fujitsu Ltd 図形塗潰し方式
JPS63271585A (ja) * 1987-04-28 1988-11-09 Fuji Xerox Co Ltd 図形出力制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134124A1 (ja) * 2009-05-19 2010-11-25 三菱電機株式会社 ベクトル図形描画装置
JP5159949B2 (ja) * 2009-05-19 2013-03-13 三菱電機株式会社 ベクトル図形描画装置
US8736871B2 (en) 2009-07-29 2014-05-27 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2770582B2 (ja) 1998-07-02
US5355451A (en) 1994-10-11

Similar Documents

Publication Publication Date Title
US5016001A (en) Pattern data generating system
EP0592770B1 (en) Method for filling of interior pixels within a polygon
JPH05258073A (ja) 図形塗潰し装置
EP0392499B1 (en) Apparatus for generating high-quality character pattern
JPH0725068A (ja) 文字生成方法及びその装置
JPH08194459A (ja) アウトライン文字描画装置
US20220366621A1 (en) Systems for Generating Anti-Aliased Vector Objects
JPH09325750A (ja) 画像処理装置および方法
JP3034140B2 (ja) 文字生成方法及びその装置
JP2630843B2 (ja) 直線描画方法及び装置
US5428719A (en) Method and apparatus for generating high-quality pattern in accordance with an edge defining a character pattern
JPS6057264B2 (ja) 2値パタ−ンの拡大方式
JP3471817B2 (ja) 連結連なり(ラン)を使用して小さなサイズの文字ビットマップを編集する方法
JP3146771B2 (ja) フォントラスタライズ装置およびその方法
JPH0519194B2 (ja)
JP2562458B2 (ja) コンピュータシステム用文字発生方法
JP2605609B2 (ja) ドット表示処理装置
JP2835056B2 (ja) 高品質文字パターン発生方式
JP2804651B2 (ja) 輪郭塗り潰し方式
JP3567728B2 (ja) 画像処理方法および装置
JP3347756B2 (ja) 文字生成方法及びその装置
JP3072756B2 (ja) 描画装置
JPH09325749A (ja) 文字パターン形成装置及び文字パターン形成方法
JP3057963B2 (ja) データ変換装置
JPH0439782A (ja) 図形の塗り潰し装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees