JPH04684A - 図形塗り潰し方法 - Google Patents
図形塗り潰し方法Info
- Publication number
- JPH04684A JPH04684A JP2102249A JP10224990A JPH04684A JP H04684 A JPH04684 A JP H04684A JP 2102249 A JP2102249 A JP 2102249A JP 10224990 A JP10224990 A JP 10224990A JP H04684 A JPH04684 A JP H04684A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- information
- contour
- image memory
- painting
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 14
- 239000013598 vector Substances 0.000 claims abstract description 19
- 101100406385 Caenorhabditis elegans ola-1 gene Proteins 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 4
- 238000005429 filling process Methods 0.000 description 4
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Dot-Matrix Printers And Others (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
「産業上の利用分野」
この発明は、特に、高品位の文字や図形の表示、プリン
トアウトなどを行うシステムに用いて好適な図形塗り潰
し方法に関する。
トアウトなどを行うシステムに用いて好適な図形塗り潰
し方法に関する。
「従来の技術」
一般に、高品位の文字を取り扱うシステムにおいて、該
文字は、その字体を表す輪郭線から形成されている。こ
の輪郭線は複数の線分によって近似されており、実際に
は、これら複数の線分の始点座標をデータとするアウト
ラインベクタのみが記憶されている。そして、印刷や表
示の際には上記アウトラインベクタに基づいて、該文字
の輪郭線を生成し、該輪郭線により囲まれた閉領域内を
塗り潰すことで文字を形成する。この閉領域内を塗り潰
す処理は、例えば、次のように行われていた。
文字は、その字体を表す輪郭線から形成されている。こ
の輪郭線は複数の線分によって近似されており、実際に
は、これら複数の線分の始点座標をデータとするアウト
ラインベクタのみが記憶されている。そして、印刷や表
示の際には上記アウトラインベクタに基づいて、該文字
の輪郭線を生成し、該輪郭線により囲まれた閉領域内を
塗り潰すことで文字を形成する。この閉領域内を塗り潰
す処理は、例えば、次のように行われていた。
■まず、アウトラインベクタに基づいて輪郭線を生成し
、この輪郭線に相当するピクセル(画素)単位のドツト
情報に変換する。この場合、輪郭線を形成する1ビツト
のピクセルをrlJにする。
、この輪郭線に相当するピクセル(画素)単位のドツト
情報に変換する。この場合、輪郭線を形成する1ビツト
のピクセルをrlJにする。
■次に、文字を水平方向あるいは垂直方向に走査する。
そして、この走査の際に上記ドツト情報がrlJのピク
セルの数をカウントし、カウント値が奇数の範囲にある
ピクセルを「1」にする。この結果、輪郭線と輪郭線と
に挟まれたピクセルが塗り潰されたことになる。
セルの数をカウントし、カウント値が奇数の範囲にある
ピクセルを「1」にする。この結果、輪郭線と輪郭線と
に挟まれたピクセルが塗り潰されたことになる。
「発明が解決しようとする課題」
ところで、近年、文字などを取り扱う情報処理装置にお
いては、例えば文字では、ゴチック体、明朝体など多種
類の字体選択や自在な文字サイズの選択なとか要望され
ている。例えば、文字サイズに関しては、従来より、1
種類の輪郭情報を拡大したり、あるいは縮小したりして
、所望する文字サイズの輪郭情報に変換する。この拡大
、縮小の処理を行う際に輪郭線か第8図に示すように線
分A−Bと線分C−Dか重複したりする場合か生しる。
いては、例えば文字では、ゴチック体、明朝体など多種
類の字体選択や自在な文字サイズの選択なとか要望され
ている。例えば、文字サイズに関しては、従来より、1
種類の輪郭情報を拡大したり、あるいは縮小したりして
、所望する文字サイズの輪郭情報に変換する。この拡大
、縮小の処理を行う際に輪郭線か第8図に示すように線
分A−Bと線分C−Dか重複したりする場合か生しる。
上述した従来の塗り潰し方法では、ピクセルが1ビツト
であるため、複数の輪郭線が交差したり、重複したりす
ると、2回輪郭線が通過しても、1回しか通過しなかっ
たように扱われ、第7図に示す点P、から点P、の間か
塗り潰されるという問題を生じる。
であるため、複数の輪郭線が交差したり、重複したりす
ると、2回輪郭線が通過しても、1回しか通過しなかっ
たように扱われ、第7図に示す点P、から点P、の間か
塗り潰されるという問題を生じる。
この発明は、上述した問題に鑑みてなされたもので、同
一方向、反対方向の複数の線分が交差あるいは重複して
も正確に塗り潰すことができ、また、輪郭線だけを容易
に抽出でき、種々の異なった塗り潰し効果を得ることが
できる図形塗り潰し方法を提供することを目的とする。
一方向、反対方向の複数の線分が交差あるいは重複して
も正確に塗り潰すことができ、また、輪郭線だけを容易
に抽出でき、種々の異なった塗り潰し効果を得ることが
できる図形塗り潰し方法を提供することを目的とする。
「課題を解決するための手段」
上述した問題を解決するために、請求項1記載の発明で
は線分を表すベクトルデータをビクセルデータに変換し
て画像メモリに書き込み、該ピクセルデータによって囲
まれる前記画像メモリの内部を塗り潰す図形塗り潰し方
法において、前記ベクトルデータをピクセルデータに変
換して画像メモリに書き込む際に、前記ベクトルデータ
を展開して得られる輪郭情報をビクセル単位で前記画像
メモリに書き込むとともに、前記ピクセルの複数ビット
からなる方向情報を、該ピクセルの縦軸の増分方向と少
なくとも1つ前のピクセルの縦軸の増分方向とに応じて
、所定の補正値を加減算した後に前記画像メモリに書き
込み、また、既に前記輪郭情報が書き込まれているピク
セルに重畳して書き込みを行う場合は、既に書き込まれ
ている方向情報に前記所定の補正値を加減算した後に前
記画像メモリに書き込み、次に、前記画像メモリを走査
する際に、各ピクセルの前記方向情報を順次加算し、各
ビクセル毎に前記加算結果を所定の判断条件と比較し、
該判断条件を満足するピクセルを塗り潰すことを特徴と
する 請求項2記載の発明では、前記判断条件は複数用きされ
るとともに、塗り潰しに際して前記複数の判断条件のう
ちいずれか1つが前記所定の判断条件として選択される
ことを特徴とする。
は線分を表すベクトルデータをビクセルデータに変換し
て画像メモリに書き込み、該ピクセルデータによって囲
まれる前記画像メモリの内部を塗り潰す図形塗り潰し方
法において、前記ベクトルデータをピクセルデータに変
換して画像メモリに書き込む際に、前記ベクトルデータ
を展開して得られる輪郭情報をビクセル単位で前記画像
メモリに書き込むとともに、前記ピクセルの複数ビット
からなる方向情報を、該ピクセルの縦軸の増分方向と少
なくとも1つ前のピクセルの縦軸の増分方向とに応じて
、所定の補正値を加減算した後に前記画像メモリに書き
込み、また、既に前記輪郭情報が書き込まれているピク
セルに重畳して書き込みを行う場合は、既に書き込まれ
ている方向情報に前記所定の補正値を加減算した後に前
記画像メモリに書き込み、次に、前記画像メモリを走査
する際に、各ピクセルの前記方向情報を順次加算し、各
ビクセル毎に前記加算結果を所定の判断条件と比較し、
該判断条件を満足するピクセルを塗り潰すことを特徴と
する 請求項2記載の発明では、前記判断条件は複数用きされ
るとともに、塗り潰しに際して前記複数の判断条件のう
ちいずれか1つが前記所定の判断条件として選択される
ことを特徴とする。
−作用 」
ベクトルデータをピクセルデータに変換して画像メモリ
に書き込む際に、輪郭に該当するピクセルに輪郭情報を
書き込むとともに、上記ピクセルの方向を表す複数ビッ
トからなる方向情報を、該ピクセルの縦軸の増分方向と
少なくとも1つ前のピクセルの縦軸の増分方向とに応じ
て、所定の補正値を加減算した後に上記画像メモリに書
き込み、また、既に輪郭情報が書き込まれているピクセ
ルに重畳して書き込みを行う場合は、既に書き込まれて
いる方向情報に上記所定の補正値を加減算した後に上記
画像メモリに書き込み、次に、画像メモリを走査する際
に、各ピクセルの方向情報を順次加算し、各ピクセル毎
に加算結果を所定の判断条件と比較し、該判断条件を満
足するピクセルを塗り潰す。
に書き込む際に、輪郭に該当するピクセルに輪郭情報を
書き込むとともに、上記ピクセルの方向を表す複数ビッ
トからなる方向情報を、該ピクセルの縦軸の増分方向と
少なくとも1つ前のピクセルの縦軸の増分方向とに応じ
て、所定の補正値を加減算した後に上記画像メモリに書
き込み、また、既に輪郭情報が書き込まれているピクセ
ルに重畳して書き込みを行う場合は、既に書き込まれて
いる方向情報に上記所定の補正値を加減算した後に上記
画像メモリに書き込み、次に、画像メモリを走査する際
に、各ピクセルの方向情報を順次加算し、各ピクセル毎
に加算結果を所定の判断条件と比較し、該判断条件を満
足するピクセルを塗り潰す。
7実施例」
次に図面を参照してこの発明の実施例について説明する
。
。
第1図はこの発明の一実施例による塗り潰し方法を適用
したシステムの構成を示すブロック図である。この図に
おいて、lはCPU (中央処理装置)であり、ROM
2に記憶されたプログラムを実行し、その際に生じた各
種データなどをRAM3に記憶する。4は文字フォント
メモリであり、各文字(漢字、かな、アルファベット等
)の輪郭線がアウトラインベクタによって記憶されてい
る。
したシステムの構成を示すブロック図である。この図に
おいて、lはCPU (中央処理装置)であり、ROM
2に記憶されたプログラムを実行し、その際に生じた各
種データなどをRAM3に記憶する。4は文字フォント
メモリであり、各文字(漢字、かな、アルファベット等
)の輪郭線がアウトラインベクタによって記憶されてい
る。
具体的には、第2図に示すrPJの字であれば、図に示
す点の座標(X □、Y−+) 、 (X’−t、Y
−t) −・・・・・(X 、、、Y 、、、)および
(Xb、、Yb、) 、 (Xb。
す点の座標(X □、Y−+) 、 (X’−t、Y
−t) −・・・・・(X 、、、Y 、、、)および
(Xb、、Yb、) 、 (Xb。
yl、t)、・・・・・(X bn、 Y b−)がア
ウトラインベクタとして記憶されている。5は画像メモ
リであり、上記アウトラインベクタを変換した後述する
ビクセルデータが記憶される。5は画像メモリであり、
CRT6の1画面分あるいはプリンタ7のプリントアウ
トの印字用紙1ページの全ビクセル数に対応している。
ウトラインベクタとして記憶されている。5は画像メモ
リであり、上記アウトラインベクタを変換した後述する
ビクセルデータが記憶される。5は画像メモリであり、
CRT6の1画面分あるいはプリンタ7のプリントアウ
トの印字用紙1ページの全ビクセル数に対応している。
すなわち、画像メモリ5に書き込まれに画像情報は、そ
のままCRT6に表示されるか、あるいはプリンタ7に
よりプリントアウトされる。
のままCRT6に表示されるか、あるいはプリンタ7に
よりプリントアウトされる。
上述した構成において、上g2cPU1は、文字の表示
あるいはプリントアウトの指示を受けると、所定の文字
データをRAM3に書込み、該文字データに対応する文
字フォントを順次文字フォントメモリ4から読出す。そ
して、アウトラインベクタを補間することによって滑ら
かな輪郭線とする。
あるいはプリントアウトの指示を受けると、所定の文字
データをRAM3に書込み、該文字データに対応する文
字フォントを順次文字フォントメモリ4から読出す。そ
して、アウトラインベクタを補間することによって滑ら
かな輪郭線とする。
この輪郭線は文字を表示するための最小単位である前述
したピクセルデータに変換される。
したピクセルデータに変換される。
次に、上述したピクセルデータの構造について、第3図
(a)、(b)に示すデータ構造の概念図を参照して説
明する。第3図(8L)において、lビクセルのデータ
は、4ビツトからなり、下位のビット0〜2の計3ビッ
トに方向情報が記憶され、ビット3の1ビツトに輪郭情
報が記憶される。上記方向情報とは、ビット2をサイン
ヒツトとし、1つ前のピクセルに対する該ピクセルのy
方向(縦方向)の増減を表す情報てあり、第3図(b)
に示すように−4〜+3の値をとる。なお、初期状態は
roooJとする。また、上記輪郭情報は、そのピクセ
ルか輪郭線(近似値)に該当する場合のみrlJの値を
とる。
(a)、(b)に示すデータ構造の概念図を参照して説
明する。第3図(8L)において、lビクセルのデータ
は、4ビツトからなり、下位のビット0〜2の計3ビッ
トに方向情報が記憶され、ビット3の1ビツトに輪郭情
報が記憶される。上記方向情報とは、ビット2をサイン
ヒツトとし、1つ前のピクセルに対する該ピクセルのy
方向(縦方向)の増減を表す情報てあり、第3図(b)
に示すように−4〜+3の値をとる。なお、初期状態は
roooJとする。また、上記輪郭情報は、そのピクセ
ルか輪郭線(近似値)に該当する場合のみrlJの値を
とる。
次に、この実施例の塗り潰し手順について、第4図〜第
6図を参照して説明する。第4図は同実施例における方
向情報の更新処理に用いる更新規則図、第5図(2L)
〜(1)はさまざまな状況におけるアウトラインベクタ
の組合せおよびその組合せにより得られる方向情報を示
す概念図、第6図は同実施例における方向情報の更新処
理の特別な場合に用いる更新規則図である。
6図を参照して説明する。第4図は同実施例における方
向情報の更新処理に用いる更新規則図、第5図(2L)
〜(1)はさまざまな状況におけるアウトラインベクタ
の組合せおよびその組合せにより得られる方向情報を示
す概念図、第6図は同実施例における方向情報の更新処
理の特別な場合に用いる更新規則図である。
まず、CPUIは、塗り潰しに先立って画像メモリ5の
全てをクリアする。次に、塗り潰し処理を行う文字の輪
郭を表す各アウトラインベクタ、例えば第2図に示す座
標(X□、Y□)〜座標(Xan、Yan)を文字フォ
ントメモリ4から読出して、これらフォントデータに対
して、直線発生により各々の座標間を補間することによ
って、各ピクセルの増分ΔX□、Δy□(i = I
−n )を順次確定する。そして、上記増分ΔX a
l + Δyalに従って図示の輪郭線OL 、、、O
L 、、、−−−OL anを求め、該輪郭線に対応す
る画像メモリ5のピクセルに対して輪郭情報を表すヒツ
ト3をrlJにセットするとともに、同ピクセルの方向
情報を表すビット0〜2を更新する。
全てをクリアする。次に、塗り潰し処理を行う文字の輪
郭を表す各アウトラインベクタ、例えば第2図に示す座
標(X□、Y□)〜座標(Xan、Yan)を文字フォ
ントメモリ4から読出して、これらフォントデータに対
して、直線発生により各々の座標間を補間することによ
って、各ピクセルの増分ΔX□、Δy□(i = I
−n )を順次確定する。そして、上記増分ΔX a
l + Δyalに従って図示の輪郭線OL 、、、O
L 、、、−−−OL anを求め、該輪郭線に対応す
る画像メモリ5のピクセルに対して輪郭情報を表すヒツ
ト3をrlJにセットするとともに、同ピクセルの方向
情報を表すビット0〜2を更新する。
次に、上述した方向情報の更新は次のように行う。まず
、更新するピクセルのIっ前のピクセルに対するy軸方
向の増分ΔyをΔynsw、上記1つ前のピクセルの更
に1つ府のピクセルに対するy軸方向の増分ΔyをΔy
0.6とする。次に、第4図に示す更新規則R1にII
Jす、例えば、Δ3’a+6が「負」で、かっΔy n
ewが「負Jならば、更新しようとするピクセルの方向
情報から「1」を減算する。これは、例えば、第5図(
d)、(h)の場合に相当する。また、他の例として、
Δyor4が「正Jで、かっΔy、、0wが「負」なら
ば、更新しようとするピクセルの方向情報はそのままに
する(例えば、第5図(e)を参照)。また、Δyol
dか「負」て、かつΔ3’n−,が「正」ならば、更新
しようとするピクセルの方向情報はそのままにしく第5
図(f)参照)、Δyoldか「正」で、かっΔY n
−が「正」ならば、更新するピクセルの方向情報にrl
Jを加算する(第5図(c)(g)参照)。
、更新するピクセルのIっ前のピクセルに対するy軸方
向の増分ΔyをΔynsw、上記1つ前のピクセルの更
に1つ府のピクセルに対するy軸方向の増分ΔyをΔy
0.6とする。次に、第4図に示す更新規則R1にII
Jす、例えば、Δ3’a+6が「負」で、かっΔy n
ewが「負Jならば、更新しようとするピクセルの方向
情報から「1」を減算する。これは、例えば、第5図(
d)、(h)の場合に相当する。また、他の例として、
Δyor4が「正Jで、かっΔy、、0wが「負」なら
ば、更新しようとするピクセルの方向情報はそのままに
する(例えば、第5図(e)を参照)。また、Δyol
dか「負」て、かつΔ3’n−,が「正」ならば、更新
しようとするピクセルの方向情報はそのままにしく第5
図(f)参照)、Δyoldか「正」で、かっΔY n
−が「正」ならば、更新するピクセルの方向情報にrl
Jを加算する(第5図(c)(g)参照)。
また1 Δ3/ ora力ゞ「0」で、力1つ、Δy
nsw力く「正」または「負」の場合には、第6図に示
す更新規[1jR2に則って行う。 すなわち、Δy、
、ldが「0」の場合には、「0」でない最近のΔy(
Δy”)をΔyoraに置き換えた後、第4図に示す更
新規則R1に従って更新する。例えば、Δynewが正
で、かつ、最近のΔy゛が負の場合には、まず、該Δy
′をΔy0.6に置き換える。次に、更新規則R1に従
って、Δ’j oldが負で、かつ、Δ3’ n−が正
であるため、更新値を「0」とする(第5図(k)参照
)。また、Δ3’newが正で、かつ、最近のΔy°が
正の場合には、該Δy°をΔ3’ oldに置き換えて
、更新規則R1に従って、Δy0□6か正で、かつ、Δ
y7.1が正であるたぬ、更新値は:l」とする(第5
図(1)参照)。以下、同様にして、671.wか負で
、かつ、Δy゛が正の場合には、更新値は「0」としく
第5図(1)参照)、ΔY n−が負で、かつ、Δy゛
が負の場合には、更新値は「−1」となる(第5図(コ
)参照)。
nsw力く「正」または「負」の場合には、第6図に示
す更新規[1jR2に則って行う。 すなわち、Δy、
、ldが「0」の場合には、「0」でない最近のΔy(
Δy”)をΔyoraに置き換えた後、第4図に示す更
新規則R1に従って更新する。例えば、Δynewが正
で、かつ、最近のΔy゛が負の場合には、まず、該Δy
′をΔy0.6に置き換える。次に、更新規則R1に従
って、Δ’j oldが負で、かつ、Δ3’ n−が正
であるため、更新値を「0」とする(第5図(k)参照
)。また、Δ3’newが正で、かつ、最近のΔy°が
正の場合には、該Δy°をΔ3’ oldに置き換えて
、更新規則R1に従って、Δy0□6か正で、かつ、Δ
y7.1が正であるたぬ、更新値は:l」とする(第5
図(1)参照)。以下、同様にして、671.wか負で
、かつ、Δy゛が正の場合には、更新値は「0」としく
第5図(1)参照)、ΔY n−が負で、かつ、Δy゛
が負の場合には、更新値は「−1」となる(第5図(コ
)参照)。
このようにして、全ての輪郭線におけるピクセルについ
て、輪郭情報および方向情報を求める。
て、輪郭情報および方向情報を求める。
そして、塗り潰しの際には、画像の水平ライン毎に画像
メモリ5を走査し、ピクセルの方向情報を順次加算する
。そして、各ピクセル毎に、その輪郭情報およびそれま
での加算結果に基づいて、そのピクセルを塗り潰すか否
かを決定する。この塗り潰すピクセルを決定する際に用
いる判断条件は次の通りである。
メモリ5を走査し、ピクセルの方向情報を順次加算する
。そして、各ピクセル毎に、その輪郭情報およびそれま
での加算結果に基づいて、そのピクセルを塗り潰すか否
かを決定する。この塗り潰すピクセルを決定する際に用
いる判断条件は次の通りである。
■ゼロ
■非ゼロ
■偶数
■奇数
これら■〜■の判断条件は、上述した加算結果に対する
ものであり、図形を塗り潰す際にいずれか1つが選択さ
れる。塗り潰し処理は、各ピクセルにおける輪郭情報が
「0」で、かつ、方向情報の加算結果が、選択された上
記判断条件を満足した場合のみ実行される。なお、輪郭
情報カリl」の場合には、該ピクセルは当然輪郭線とし
て残る。
ものであり、図形を塗り潰す際にいずれか1つが選択さ
れる。塗り潰し処理は、各ピクセルにおける輪郭情報が
「0」で、かつ、方向情報の加算結果が、選択された上
記判断条件を満足した場合のみ実行される。なお、輪郭
情報カリl」の場合には、該ピクセルは当然輪郭線とし
て残る。
次に、図形として第7図(a)〜(e)に示す同心円状
に描かれた2つの円を例にとり、上述した判断条件を用
いる塗り潰し処理について説明する。
に描かれた2つの円を例にとり、上述した判断条件を用
いる塗り潰し処理について説明する。
まず、第7図(2L)において、アウトラインベクタに
従って輪郭線が求められ、該輪郭線に相当するピクセル
の輪郭情報のビットがrlJにセットされる。また、該
ピクセルの方向情報の更新が第4図および第6図に示す
更新規則RI R2に従って行われる。なお、各輪郭線
の方向は、第7図(a)〜(e)に示す各日の円周上の
矢印によって表す。
従って輪郭線が求められ、該輪郭線に相当するピクセル
の輪郭情報のビットがrlJにセットされる。また、該
ピクセルの方向情報の更新が第4図および第6図に示す
更新規則RI R2に従って行われる。なお、各輪郭線
の方向は、第7図(a)〜(e)に示す各日の円周上の
矢印によって表す。
次に、塗り潰すピクセルの条件として、例えば、前述し
た判断条件の■を選択する。
た判断条件の■を選択する。
そして、画像メモリ5の上から下へ水平方向に順次走査
して、各水平方向毎にピクセルの方向情報を加算してい
く。
して、各水平方向毎にピクセルの方向情報を加算してい
く。
上述した走査において、まず、第7図(a)に示すスキ
ャンラインAのように、−度も輪郭線を横切らない領域
X、Xては、該スキャンラインA上における方向情報の
加算結果はいずれのピクセルに関してもゼロになる。し
たかって、上記加算結果は全て判断条件■を満足するた
め、このスキャンラインA上のピクセルに対しては塗り
潰しが行われる。
ャンラインAのように、−度も輪郭線を横切らない領域
X、Xては、該スキャンラインA上における方向情報の
加算結果はいずれのピクセルに関してもゼロになる。し
たかって、上記加算結果は全て判断条件■を満足するた
め、このスキャンラインA上のピクセルに対しては塗り
潰しが行われる。
次に、同走査において、同図に示すスキャンラインBの
ように、逆方向の輪郭線を2度横切る領域Y、Yについ
て説明する。該スキャンラインB上における方向情報の
加算結果は輪郭線を横切る度に変化するため、塗り潰す
領域に差が出てくる。
ように、逆方向の輪郭線を2度横切る領域Y、Yについ
て説明する。該スキャンラインB上における方向情報の
加算結果は輪郭線を横切る度に変化するため、塗り潰す
領域に差が出てくる。
すなわち、点Paから点pbまでの範囲には輪郭線がな
いため、方向情報の加算結果は「0」となる。したがっ
て、該加算結果は判断条件■を満足するため、この領域
に対するピクセルに対しては塗り潰しか行われる。次に
、点Pbのピクセルの方向情報は「−1」であるため(
第5図(d)参照)、この点Pbにおける方向情報の加
算結果は「−1」となる。また、この点pb以降、点P
cまての間は輪郭線かないf二め、同区間のピクセルの
方向情報は「0」である。したかって、上記点Pbから
点Pcまての各ピクセルにおける方向情報の加算値は「
−1」となり、上記判断条件■を満足しないため、この
区間のピクセルに対しては塗り潰しが行われない。ただ
し、点PbおよびPCは輪郭情報が「l」であるため輪
郭線として表示される。次に、点Pcのピクセルの方向
情報は「+1」であるため(第5図(c)参照)、この
点Pcにおける方向情報の加算値は「0」となる。
いため、方向情報の加算結果は「0」となる。したがっ
て、該加算結果は判断条件■を満足するため、この領域
に対するピクセルに対しては塗り潰しか行われる。次に
、点Pbのピクセルの方向情報は「−1」であるため(
第5図(d)参照)、この点Pbにおける方向情報の加
算結果は「−1」となる。また、この点pb以降、点P
cまての間は輪郭線かないf二め、同区間のピクセルの
方向情報は「0」である。したかって、上記点Pbから
点Pcまての各ピクセルにおける方向情報の加算値は「
−1」となり、上記判断条件■を満足しないため、この
区間のピクセルに対しては塗り潰しが行われない。ただ
し、点PbおよびPCは輪郭情報が「l」であるため輪
郭線として表示される。次に、点Pcのピクセルの方向
情報は「+1」であるため(第5図(c)参照)、この
点Pcにおける方向情報の加算値は「0」となる。
また、この点Pc以降、点Pdまでの間は、上述した点
Paから点Pbと同様に輪郭線がないため、同区間のピ
クセルの方向情報は「0」である。したがって、上記点
Pcから点Pdまでにおける方向情報の加算値は「0」
となり、上記判断条件■を満足するため、この区間のピ
クセルに対しては塗り潰しか行われる。
Paから点Pbと同様に輪郭線がないため、同区間のピ
クセルの方向情報は「0」である。したがって、上記点
Pcから点Pdまでにおける方向情報の加算値は「0」
となり、上記判断条件■を満足するため、この区間のピ
クセルに対しては塗り潰しか行われる。
また、同走査において、スキャンラインCのように、同
方向の輪郭線および逆方向の輪郭線を各々2度横切る領
域Zについて説明する。まず、点Pe−点Pfおよび点
21〜点Pjまでの区間には輪郭線がないため、方向情
報の加算結果は「0」となる。したかって、該加算結果
は判断条件■を満足するため、点Pe−点Pfおよび点
Pi〜点Pjの区間のピクセルに対しては塗り潰しが行
われる。また、点Pf〜点pgの区間では、点Pfのピ
クセルの方向情報が「−1」であるため(第5図(d)
参照)、この点Pfにおける方向情報の加算結果は「−
1」となる。また、この点Pf以降、点Pgまでの区間
には輪郭線がないため、同区間のピクセルの方向情報は
「0」である。したかって、上記区間の各ピクセルにお
ける方向情報の加算値は「−1」となる。この結果、上
記点P f = P gの区間では、上記判断条件■を
満足しないため、この区間のピクセルに対しては塗り潰
しが行われない。また、点pg〜点Phの区間では、点
pgのピクセルの方向情報がr−IJであるため(第5
図(d)参照)、この点pgにおける方向情報の加算結
果は「−2」となる。また、この点Pg以降、点Phま
での間は輪郭線がないため、同区間のピクセルの方向情
報は「0」である。したがって、上記区間の各ピクセル
における方向情報の加算値は「−21となり、上記判断
条件■を満足しないため、上記区間のピクセルに対して
は塗り潰しが行われない。そして、点Ph−点Piの区
間では、点Phのピクセルの方向情報が「+1」である
ため(第5図(c)参照)、この点Ph以降、点Piま
での間の方向情報の加算値は「−1」となり、上記判断
条件■を満足しない。この結果、この区間のピクセルに
対しての塗り潰しは行われない。
方向の輪郭線および逆方向の輪郭線を各々2度横切る領
域Zについて説明する。まず、点Pe−点Pfおよび点
21〜点Pjまでの区間には輪郭線がないため、方向情
報の加算結果は「0」となる。したかって、該加算結果
は判断条件■を満足するため、点Pe−点Pfおよび点
Pi〜点Pjの区間のピクセルに対しては塗り潰しが行
われる。また、点Pf〜点pgの区間では、点Pfのピ
クセルの方向情報が「−1」であるため(第5図(d)
参照)、この点Pfにおける方向情報の加算結果は「−
1」となる。また、この点Pf以降、点Pgまでの区間
には輪郭線がないため、同区間のピクセルの方向情報は
「0」である。したかって、上記区間の各ピクセルにお
ける方向情報の加算値は「−1」となる。この結果、上
記点P f = P gの区間では、上記判断条件■を
満足しないため、この区間のピクセルに対しては塗り潰
しが行われない。また、点pg〜点Phの区間では、点
pgのピクセルの方向情報がr−IJであるため(第5
図(d)参照)、この点pgにおける方向情報の加算結
果は「−2」となる。また、この点Pg以降、点Phま
での間は輪郭線がないため、同区間のピクセルの方向情
報は「0」である。したがって、上記区間の各ピクセル
における方向情報の加算値は「−21となり、上記判断
条件■を満足しないため、上記区間のピクセルに対して
は塗り潰しが行われない。そして、点Ph−点Piの区
間では、点Phのピクセルの方向情報が「+1」である
ため(第5図(c)参照)、この点Ph以降、点Piま
での間の方向情報の加算値は「−1」となり、上記判断
条件■を満足しない。この結果、この区間のピクセルに
対しての塗り潰しは行われない。
以上、判断条件■を選択した場合には、第7図(b)に
示す斜線部分が塗り潰される。また、前述した判断条件
■を選択した場合には第7図(c)に示す斜線部分が、
判断条件■を選択した場合には第7図(d)に示す斜線
部分が、判断条件■を選択した場合には第7図(e)に
示す斜線部分が塗り潰される。
示す斜線部分が塗り潰される。また、前述した判断条件
■を選択した場合には第7図(c)に示す斜線部分が、
判断条件■を選択した場合には第7図(d)に示す斜線
部分が、判断条件■を選択した場合には第7図(e)に
示す斜線部分が塗り潰される。
次に、同一方向または反対方向の複数の線分が交差ある
いは重複した(重なり合った)場合の塗り潰し処理につ
いて、第8図を参照して説明する。
いは重複した(重なり合った)場合の塗り潰し処理につ
いて、第8図を参照して説明する。
この図において、実際には2本の線分A−Bと線分C−
Dが重なり合って、見掛は上1本の線分になっている場
合を想定する。上記線分A−Bと線分C−Dが同じ方向
の線分であるとすると、スキャンラインDとの交点にお
ける方向情報の加算結果は「+2(または−2)」にな
る。また、線分ABと線分C−Dが逆方向の方向情報を
有する線分であるとすると、スキャンラインDとの交点
における方向情報の加算結果は「0」になる。このよう
に、複数の線分が重複している場合でも、平行している
場合と同じ結果が得られ、従来のように情報が失われる
という不具合は生じない。したがって、本実施例では、
常に輪郭線の通過回数を正確に把握することができる。
Dが重なり合って、見掛は上1本の線分になっている場
合を想定する。上記線分A−Bと線分C−Dが同じ方向
の線分であるとすると、スキャンラインDとの交点にお
ける方向情報の加算結果は「+2(または−2)」にな
る。また、線分ABと線分C−Dが逆方向の方向情報を
有する線分であるとすると、スキャンラインDとの交点
における方向情報の加算結果は「0」になる。このよう
に、複数の線分が重複している場合でも、平行している
場合と同じ結果が得られ、従来のように情報が失われる
という不具合は生じない。したがって、本実施例では、
常に輪郭線の通過回数を正確に把握することができる。
なお、上述した実施例では、方向情報を表すビット数を
3ヒツトととしたか、これは一般に同方向に連続して3
回以上交差あるいは重複するような図形はほとんどない
ため、上記方向情報か−4〜+3の範囲を越えることは
ないからである。しかし、上述のような仮定の成り立た
ない図形か塗り潰し処理の対象となる場合は、方向情報
のビット数を増やしてもよい。
3ヒツトととしたか、これは一般に同方向に連続して3
回以上交差あるいは重複するような図形はほとんどない
ため、上記方向情報か−4〜+3の範囲を越えることは
ないからである。しかし、上述のような仮定の成り立た
ない図形か塗り潰し処理の対象となる場合は、方向情報
のビット数を増やしてもよい。
「発明の効果」
以上説明したように、この発明によれば以下の利点か得
られる。
られる。
■各ピクセル毎に少なくとも3ピツト以上の方向情報を
持つようにしたため、同一方向、反対方向の複数の線分
か交差あるいは重複してもその情報を失うことなく保持
できる。
持つようにしたため、同一方向、反対方向の複数の線分
か交差あるいは重複してもその情報を失うことなく保持
できる。
■また、輪郭情報と方向情報とを別々に記憶するため、
輪郭線だけを容易に抽出できる。
輪郭線だけを容易に抽出できる。
■さらに、蓄積された情報を水平方向に走査して塗り潰
しを実行する際に、塗り潰しのための判断条件を変える
ことにより、種々の異なった塗り潰し効果を得ることが
できる。
しを実行する際に、塗り潰しのための判断条件を変える
ことにより、種々の異なった塗り潰し効果を得ることが
できる。
第1図はこの発明の一実施例による塗り潰し方法を適用
したノステムの構成を示すブロック図、第2図はこの発
明の塗り潰し方法か適用される一図形の輪郭線を説明す
る説明図、第3図(a)は本発明の一実施例のピクセル
当たりのデータ構造を示す概念図、第3図(b)は同ビ
クセルの方向情報を示す下位3ピツトの状態図、第4図
は同実施例における方向情報の更新処理に用いる更新規
則図、第5図(a)〜(1)はさまざまな状況における
アウトラインベクタの組合せおよびその組合せにより得
られる方向情報を示す概念図、第6図は同実施例におけ
る方向情報の更新処理の特別な場合に用いる更新規則図
、第7図(a)は本発明の一実施例における塗り潰し方
法の手順を説明するための説明図、第7図(b)、(c
)、(d)および(e)は同実施例における塗り潰しの
判断条件を各々、「ゼロ」、「非ゼロ」、「偶数」、「
奇数」とした場合の塗り潰し例を示す概念図、第8図は
同実施例において輪郭線が重なり合った場合の塗り潰し
処理を説明するための説明図である。 l ・・・ CPU、 2 ・・・・・ ROM。 3 ・・・ RAM、 4 ・文字フォントメモリ、5 画像メモリ、6 ・・・・・CRT、7・・・・プリンタ。 第4図
したノステムの構成を示すブロック図、第2図はこの発
明の塗り潰し方法か適用される一図形の輪郭線を説明す
る説明図、第3図(a)は本発明の一実施例のピクセル
当たりのデータ構造を示す概念図、第3図(b)は同ビ
クセルの方向情報を示す下位3ピツトの状態図、第4図
は同実施例における方向情報の更新処理に用いる更新規
則図、第5図(a)〜(1)はさまざまな状況における
アウトラインベクタの組合せおよびその組合せにより得
られる方向情報を示す概念図、第6図は同実施例におけ
る方向情報の更新処理の特別な場合に用いる更新規則図
、第7図(a)は本発明の一実施例における塗り潰し方
法の手順を説明するための説明図、第7図(b)、(c
)、(d)および(e)は同実施例における塗り潰しの
判断条件を各々、「ゼロ」、「非ゼロ」、「偶数」、「
奇数」とした場合の塗り潰し例を示す概念図、第8図は
同実施例において輪郭線が重なり合った場合の塗り潰し
処理を説明するための説明図である。 l ・・・ CPU、 2 ・・・・・ ROM。 3 ・・・ RAM、 4 ・文字フォントメモリ、5 画像メモリ、6 ・・・・・CRT、7・・・・プリンタ。 第4図
Claims (2)
- (1)線分を表すベクトルデータをピクセルデータに変
換して画像メモリに書き込み、該ピクセルデータによっ
て囲まれる前記画像メモリの内部を塗り潰す図形塗り潰
し方法において、 前記ベクトルデータをピクセルデータに変換して画像メ
モリに書き込む際に、前記ベクトルデータを展開して得
られる輪郭情報をピクセル単位で前記画像メモリに書き
込むとともに、前記ピクセルの方向情報を、該ピクセル
の縦軸の増分方向と少なくとも1つ前のピクセルの縦軸
の増分方向とに応じて、所定の補正値を加減算した後に
前記画像メモリに書き込み、また、既に前記輪郭情報が
書き込まれているピクセルに重畳して書き込みを行う場
合は、既に書き込まれている方向情報に前記所定の補正
値を加減算した後に前記画像メモリに書き込み、次に、
前記画像メモリを走査する際に、各ピクセルの前記方向
情報を順次加算し、各ピクセル毎に前記加算結果を所定
の判断条件と比較し、該判断条件を満足するピクセルを
塗り潰すことを特徴とする図形塗り潰し方法。 - (2)前記判断条件は複数用意されるとともに、塗り潰
しに際して前記複数の判断条件のうちいずれか1つが前
記所定の判断条件として選択されることを特徴とする請
求項1記載の図形塗り潰し方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2102249A JPH04684A (ja) | 1990-04-18 | 1990-04-18 | 図形塗り潰し方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2102249A JPH04684A (ja) | 1990-04-18 | 1990-04-18 | 図形塗り潰し方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04684A true JPH04684A (ja) | 1992-01-06 |
Family
ID=14322332
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2102249A Pending JPH04684A (ja) | 1990-04-18 | 1990-04-18 | 図形塗り潰し方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04684A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0916787A (ja) * | 1995-06-27 | 1997-01-17 | Nippon Denki Micom Technol Kk | 図形塗り潰し用枠線の始点終点描画方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61212895A (ja) * | 1985-03-18 | 1986-09-20 | 大日本スクリ−ン製造株式会社 | 多角形内部の領域を塗りつぶし処理する方法 |
| JPS63305478A (ja) * | 1987-06-06 | 1988-12-13 | Fujitsu Ltd | パタ−ン情報復元装置 |
-
1990
- 1990-04-18 JP JP2102249A patent/JPH04684A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61212895A (ja) * | 1985-03-18 | 1986-09-20 | 大日本スクリ−ン製造株式会社 | 多角形内部の領域を塗りつぶし処理する方法 |
| JPS63305478A (ja) * | 1987-06-06 | 1988-12-13 | Fujitsu Ltd | パタ−ン情報復元装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0916787A (ja) * | 1995-06-27 | 1997-01-17 | Nippon Denki Micom Technol Kk | 図形塗り潰し用枠線の始点終点描画方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0471482B1 (en) | Character processing method | |
| US5768490A (en) | Method for producing visually evenly spaced typographic characters | |
| US6437793B1 (en) | System for rapidly performing scan conversion with anti-aliasing upon outline fonts and other graphic elements | |
| US5719595A (en) | Method and apparauts for generating a text image on a display with anti-aliasing effect | |
| JPH06266847A (ja) | ラスタ化されたオブジェクトを表示する方法および装置 | |
| JPS62123573A (ja) | コンピユ−タ・グラフイツク装置およびその操作方法 | |
| JPH08106276A (ja) | スクリーン上でのテキスト表示方法 | |
| EP0592770B1 (en) | Method for filling of interior pixels within a polygon | |
| US6614432B1 (en) | Image rendering technique | |
| JP4625269B2 (ja) | 文字画像生成装置,文字画像生成方法,表示制御装置,文字画像生成プログラムおよび表示制御プログラム | |
| US20060077210A1 (en) | Rasterizing stacked graphics objects from top to bottom | |
| JPH0369995A (ja) | ラスタ表示装置に文字を表示する方法 | |
| JPH08194459A (ja) | アウトライン文字描画装置 | |
| EP0392499B1 (en) | Apparatus for generating high-quality character pattern | |
| US5553219A (en) | Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data | |
| EP0062669A1 (en) | GRAPHIC IMAGE AND TEXT GENERATOR FOR A SCANNING SCANNING DISPLAY. | |
| US5355451A (en) | Graphic processing unit | |
| KR100361387B1 (ko) | 다각형 묘화 방법, 및 다각형 묘화 장치 | |
| JP5159949B2 (ja) | ベクトル図形描画装置 | |
| JPH05297861A (ja) | グラフィックス用途向け1/nビット化位相合わせのための方法 | |
| US5428719A (en) | Method and apparatus for generating high-quality pattern in accordance with an edge defining a character pattern | |
| EP0391401A2 (en) | Method and apparatus for generating high-quality pattern | |
| JPS63305478A (ja) | パタ−ン情報復元装置 | |
| JP3156729B2 (ja) | 描画装置 | |
| JPH06118935A (ja) | 文字データ発生装置 |