JP2715496B2 - 画像塗りつぶし装置 - Google Patents

画像塗りつぶし装置

Info

Publication number
JP2715496B2
JP2715496B2 JP30736588A JP30736588A JP2715496B2 JP 2715496 B2 JP2715496 B2 JP 2715496B2 JP 30736588 A JP30736588 A JP 30736588A JP 30736588 A JP30736588 A JP 30736588A JP 2715496 B2 JP2715496 B2 JP 2715496B2
Authority
JP
Japan
Prior art keywords
coordinate
pixel
storage means
cell
closed area
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.)
Expired - Lifetime
Application number
JP30736588A
Other languages
English (en)
Other versions
JPH02153484A (ja
Inventor
道雄 三輪
成夫 島崎
千香 小野寺
明夫 上杉
桂 川上
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP30736588A priority Critical patent/JP2715496B2/ja
Publication of JPH02153484A publication Critical patent/JPH02153484A/ja
Application granted granted Critical
Publication of JP2715496B2 publication Critical patent/JP2715496B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、アウトラインフォントを生成する際、アウ
トラインフォントの輪郭内を塗りつぶす画像塗りつぶし
装置に関するものである。
従来の技術 以下、第15図により、従来の画像塗りつぶし装置の原
理について説明する。従来の画像塗りつぶし装置では、
任意の閉領域は、第15図(A)の様に、あらかじめ画像
記憶装置に書き込まれる。そして、この閉領域内の1つ
の画素が、塗りつぶし開始点1501(通常、シードとい
う)として与えられる。そして、塗りつぶしは、このシ
ード1501を起点として開始する。このシード1501から、
1ライン横方向に塗りつぶす際、シード1501の上下にあ
る閉領域内の点を次の塗りつぶし開始点1502として記憶
する〔第15図(B)〕。そして、シード1501から1ライ
ン塗りつぶす。この際、第15図(B)の様な閉領域1503
が発生すると、塗りつぶし開始点1502はこの閉領域1503
とは、別の閉領域になってしまう。このため閉領域1503
は、塗りつぶせなくなってしまう。そこで、1ライン塗
る前に、第15図(A)の黒丸で示した点1504をスタック
に積んでおく必要がある。このようにして、1ライン毎
に塗りつぶして行くのが従来の方式である。〔参考文献
日経エレクトロニクス 1987.2.23 P159〜P160“拡
大、縮小、回転”塗りつぶしを高速処理する描画プロセ
ッサ〕 第14図は、従来の画像塗りつぶし装置のブロック構成
を示したものである。第14図において、1401は任意の閉
領域の輪郭の座標を発生する座標発生手段である。この
座標発生装置1401から出力された画素の座標は、1402の
画像記憶手段に入力される。1405は、画像記憶手段1402
に記憶された画像情報を表示する画像表示手段である。
1403は塗りつぶしを行う際、第15図(A)の黒丸で示し
た画素1504を記録するスタック、1404はこれらの制御を
行うプロセッサ、1406はこれらをつなぐバスである。
発明が解決しようとする課題 しかしながら、第14図の画像塗りつぶし装置では、あ
らかじめ、閉領域を構成する輪郭情報を画像記憶手段14
02に書き込む必要がある。そして、その後この輪郭をた
どりながら、塗りつぶしを行っていく。このため、画像
記憶手段1402に対するアクセス回数が多くなり、輪郭を
発生させて、さらに塗りつぶしを行い、画像を表示する
のに多くの時間を必要としていた。
本発明は上記課題に鑑み、閉領域を構成する座標が与
えられる度に、この閉領域を塗りつぶすためのデータ構
造を作成していく。この結果、閉領域を構成する座標が
すべて与えられるのと同時に塗りつぶしの実行を可能に
する。このため、閉領域の塗りつぶしをより高速に実行
することを可能にするものである。
課題を解決するための手段 上記課題を解決するためん、閉領域を構成する画素の
2次元座標を生成する座標発生手段と、前記座標発生手
段が発生した画素の第1の座標値を記憶する第1の座標
記憶手段と、前記第1の座標値毎に画素の第2の座標値
を昇順に記憶する第2の座標記憶手段と、前記第2の座
標記憶手段に記憶された第2の座標値に従い直線を描画
する直線描画手段と、前記直線描画手段が描画した直線
を記憶する画像記憶手段とを備え、前記第2の記憶手段
に第2の座標値を昇順に記憶する際、前の画素と次の画
素と現在の画素との第1の座標値が等しい場合に現在の
画素に対応する第2の座標値を記憶することなく現在の
画素と次の画素の第1の座標値が異なる場合のみ現在の
画素対し第2の座標値を記憶し、前記直線描画手段が、
第1の座標値毎に昇順に記憶された第2の座標値から昇
順に第2の座標値を2つづつ選択し、選択された2点を
結ぶ線分を描画するものである。
作用 本発明は、上記構成により、任意の閉領域を高速に塗
りつぶすものである。第1の座標記憶手段には、閉領域
を構成する座標の一方(たとえばX,Y座標系でいえばY
座標)の各々の座標値に対する小領域(これをバケット
と呼ぶ)を持っている。第2の座標記憶手段には、他の
一方の座標(例えばX座標)を記憶する小領域(これを
セルと呼ぶ)が存在する。このセルは、閉領域を構成す
る画素1つに対して、1つ対応する。閉領域を構成する
画素の座標が順に与えられるにしたがって、この2つの
メモリ構造が構成される。すなわち、同じY座標をもつ
画素に対応するセルは、第2の座標記憶手段内でX座標
について昇順に並べられる。そして、この最初のセル
を、第1の座標記憶手段の対応するバケットが指し示
す。
このような構造は、閉領域を構成する画素の座標が与
えられるにつれてできあがっていく。従って、閉領域を
構成する画素の座標を発生し終えた時点で、このメモリ
構造はできあがっている。この閉領域を塗りつぶす際
は、第1の座標記憶手段のバケットを順にみていく。そ
して、このバケットに第2の座標記憶手段を指すデータ
が記憶されている場合は、第2の座標記憶手段を見る。
そして、第2の座標記憶手段に記憶されたセルを最初か
ら2つずつ組にして行き、このセルに対応する画素を結
ぶ直線を発生させる。このようにして、任意の閉領域を
塗りつぶすものである。
実 施 例 第1図は、本発明の一実施例における画素塗りつぶし
装置のブロック構成図である。第1図において、101は
任意の閉領域を構成する画素の座標を発生する座標発生
装置、102は第1の座標記憶手段であり、この中には、
任意の閉領域の全てのY座標に対応するパケットがあ
る。103は第2の座標記憶手段であり、任意の閉領域を
構成する画素にそれぞれ対応するセルが存在している。
106は直線描画手段であり、第2の座標記憶手段に記憶
されたセルを初めから2つずつ組にし、このセルに対応
する座標間の直線を描画する。107はこの直線を記憶す
る画像記憶手段、108はこれらを制御するプロセッサ、1
09はこれらのブロック間のデータを受け渡すバスであ
る。
以下、本発明に用いられるアウトラインフォントにつ
いて若干の説明した後、上記第1図のさらに詳細な各構
成と、その動作について説明する。
第12図は、本発明に用いられるアウトラインフォント
を示したものである。アウトラインフォントは、このよ
うに、外側の閉曲線と、内側の閉曲線によって、構成さ
れている。この閉曲線は、直線、円弧、スプライン曲線
などで構成されている。そして、第12図の×印で示した
ような箇所でつながっている。通常外側の閉曲線は、時
計回り、内側の閉曲線は反時計回りである。また、これ
らの閉曲線は、互いに接することはあっても、交差する
ことはない。アウトラインフォントを描画する場合は、
外側の閉曲線と、内側の閉曲線を描画する。そして、こ
の内部を塗りつぶす。このように、アウトラインフォン
トの輪郭情報は、 ・ 一筆書きである ・ 閉領域を構成する線分が、直線、円弧、スプライン
関数といった、関数で記述されている ・ 閉曲線同士は、接することはあっても交差すること
はない。
という特徴を持つ。
第13図は、本発明の原理を説明したものである。第13
図(A)は前述の閉領域を示している。この閉領域は、
Y座標の範囲がY0〜Y8、X座標がX0〜X9である。このよ
うな座標の範囲を取る場合、第1図に示した第1の座標
記憶手段102は、Y0〜Y8にそれぞれ対応したバケットと
呼ばれる小領域を持つ。このバケットには、第2の座標
記憶手段103へのポインタを記憶する。また、第2の座
標記憶手段103には、閉領域を構成する画素の個数分の
セルと呼ばれる小領域が存在する。
第13図(A)で示した閉領域を構成する画素の座標
が、この画像塗りつぶし装置に入力されると、次のよう
なデータ構造が、第1、第2の座標記憶手段102、103の
内部に構成される。第13図(A)の、画素1301、画素13
02、画素1303、画素1304を例に取って説明する。第13図
(A)の画素1301と画素1302のY座標は共にY3である。
そこで、第13図(B)では、第1の座標記憶手段102のY
3に対応するバケットから、第2の画像記憶手段103への
ポインタが延びている。このポインタは、画素1301に対
応するセル1308を指している。画素1302のX座標多は、
画素1301のX座標より大きいので、画素1302に対応する
セル1309は、画素1301に対応するセル1308よりも右に位
置する。画素1301に対応するセル1308と、画素1302に対
応するセル1309は、お互いを左右のポインタで指示しあ
っている。また、画素1303のY座標と画素1304のY座標
も共にY4で等しい。そこで、同様に、Y4に対応するバケ
ットから、画素1303、画素1304に対応するセルへのポイ
ンタが延びている。画素1304に対応するセル1311は、画
素1303に対応するセル1310の右に位置している。また、
画素1303は画素1301の下に、画素1302は、画素1304の上
に位置する。そこで、これらの画素に対応するセルは、
これらの画素を表示した際の位置関係を反映するよう
に、お互いを指し示している。このような構造が、第13
図(A)に示した全ての画素について形成される。
第13図(A)の閉領域を塗りつぶす場合は、第1の画
像記憶手段102のバケットを上から順にみていく。これ
らのバケットから、第2の画像記憶手段103のセルへの
ポインタが延びている場合は、このポインタをたどる。
そして、初めから2つずつ区切って行き、それらのセル
に対応する画素の直線を発生する。このようにして、閉
領域の塗りつぶしが行われる。このように、任意の閉領
域を構成する座標が発生されるに伴って、第1、第2の
座標記憶手段102,103の内部構造を作っておけば、閉領
域を構成する座標の発生が終了した時点で、即座にこの
閉領域の塗りつぶしを開始することが可能である。
第2図は、第1図の第1の座標記憶手段102と、第2
の座標記憶手段103を示したものである。第1の座標記
憶手段102は、描画する閉領域のY座標に対応する個数
分のバケット201と呼ばれる小領域を持つ。第2の座標
記憶手段103は、セル203と呼ばれる区画に分割されてい
る。このセル203は、閉領域を構成する画素のX座標が
与えられるに伴って、一つずつ使用されていく。使用さ
れた領域は、使用済み領域205となる。使用されていな
い領域は、自由領域206である。この領域の境を自由領
域指示手段104が指し示している。
第3図は、第2の座標記憶手段103のセルの内部を示
したものである。5つの部分に分かれており、それぞ
れ、前向きポインタ301、下向きポインタ302、X座標30
3、上向きポインタ304、後向きポインタ305である。
第4図は、第2の座標記憶手段103と、第1の座標記
憶手段102の関連を示したものである。第1の座標記憶
手段102のバケット401からは、第2の座標記憶手段103
のセルへ402のポインタがのびている。第2の座標記憶
手段103の各セル間では、前後左右のポインタが相互に
張られている。
第5図は、第1の座標記憶手段102の内部構成を示し
たものである。第5図(A)の様に、アウトラインフォ
ントのY座標の範囲がY0からYnまでであるとする。この
場合は、第1の座標記憶手段102には、Y0からYnまでの
座標に対応するバケット501が用意される。
第6図、第7図、第8図は、一つの閉領域を構成する
画素の座標が、この画像塗りつぶし装置に入力された場
合の第1の座標記憶手段102と、第2の座標記憶手段103
の内部構造が生成される様子を示したものである。閉領
域は601に示してある。第6図(A)は、閉領域の最初
の1画素602の座標が入力されたところを示している。
最初に、第2の座標記憶手段103のセルが1つ確保さ
れ、この画素602のX座標が書き込まれる。次に、追加
位置記憶手段105を見る。この場合は、最初の画素なの
で、追加位置記憶手段105には、何も記憶されていな
い。そして、第1の座標記憶手段102内の、この画素602
のY座標に対応するバケットを見る。この対応するバケ
ットに、いま確保した第2の座標記憶手段103のセル160
4へのポインタを記入する。追加位置記憶手段105は、新
たに追加したセルを指しているポインタが格納されてい
る場所を指し示すようにする。この場合は、第1の座標
記憶手段102のこのセルを指すバケットを指すようにす
る。
第6図(B)は、閉領域を構成する2つめの画素606
の座標が画像塗りつぶし装置に入力されたところを示し
ている。同様に、第2の記憶手段103のセルが1つ確保
される。このセル1607には、このセル1607に対応する画
素606のX座標が記入される。次に、追加位置記憶手段1
05をみる。現在、追加位置記憶手段105は、第1の座標
記憶手段102を指している。そして、このバケットに対
応するY座標のは、今回追加するセル1607に対応する画
素のY座標よりも小さい。そこで、追加位置記憶手段10
5の指すバケットの一つ上のバケットを見る。ここに
は、まだ何も記録されていないので、このバケットか
ら、新たに追したセル1607へのポインタが張られる。最
後に、第2の座標記憶手段103内の2つのセル同士でポ
インタが張られる。即ち、最初のセル1604の上向ポイン
タは、2番目のセル1607のアドレスを指し、2番目のセ
ル1607の下向きポインタは、最初のセル1604のアドレス
を指す。また、追加位置記憶手段105は、新しいセルを
指すバケットを指す。
第6図(C)は、更に2つの画素611の座標が与えら
れたところを示している。新たに2つのセル1612が、第
1の座標記憶手段102から割り当てられている。これら
のセルの間には、上下のポインタが張られている。ま
た、追加位置記憶手段は、最後に追加したセルを指すバ
ケットを指している。
第7図は、与えられた画素が前の画素の横方向のもの
である場合を示している。この画素703のY座標は、追
加位置記憶手段105の指すバケットのY座標と同じであ
る。そこで、このバケットが指し示すセル701のX座標
と、新しいセル702のX座標を比較する。この例では、
新しいセル702のX座標の方が大きい。そこで、この新
しいセル702は、セル701の右側につながれる。そして、
セル701とセル702の間に左右のポインタが張られる。即
ち、セル701右向きポインタはセル702を指し、セル702
の左向きポインタはセル701を指す。追加位置記憶手段1
05は、セル701を指す。
第8図は、一つの閉領域801を構成する画素の座標が
すべて与えられたところを示している。このように、各
セルの上下左右を指すポインタは、それぞれの対応する
画素の位置関係に合わせて、上下左右に位置するセルを
指す。
第9図は、1つの閉領域901を構成する画素の座標が
与えられた後、その内部に存在する他の閉領域902の画
素の座標が与えられた場合を示している。この場合も最
初に、第2の座標記憶手段103の1つのセル904を確保す
る。このセルに904は、いま与えられた画素903のX座標
が書き込まれる。次に、追加位置記憶手段105の指すセ
ルまたはバケットを見る。このセルまたはバケットのY
座標が、新しく発生したセル904のY座標と等しい場合
は、新しいセル904は追加位置記憶手段105の指すセルの
左右方向のどこかに追加すればよい。そこで、この左右
方向のセルのX座標を検査し、新しいセル904のX座標
が昇順の位置となる場所に新しいセルを追加する。この
場合は、第9図のようにポインタ905を一旦切り、新し
いポインタ906をつなぐ。
また、追加位置記憶手段105の指すセルまたはバケッ
トのY座標と、新しい画素903のY座標が異なる場合
は、追加位置記憶手段105は見ない。この場合、第1の
座標記憶手段102の新しい画素903のY座標に対応するバ
ケットから、新しいセル904を追加する位置を求める。
このようにして、一つの閉領域901の内部に存在する
他の閉領域903の画素の座標が次々と与えられるに従っ
て、それぞれの画素に対応するセルが、第2の画像記憶
手段103に作られていく。このようにして、第10図の様
な第1の座標記憶手段102、第2の座標記憶手段103の構
造が形成される。
このようにして第1、第2の座標記憶手段102,103の
構成が決定すれば、内部の塗りつぶしは容易である。即
ち、Y座標を小さい方から順に増加させていく。このY
座標に対応する第1の座標記憶手段102のバケットを見
る。バケットに第2の座標記憶手段103へのポインタが
記述されている場合は、それを見る。そして、1番目と
2番目、3番目と4番目というように、2つずつセルを
組にする。その後、これら2つのセルに対応する画素を
結ぶ直線を描画すれば、閉領域の塗りつぶしは完成す
る。
以上のような、画像の塗りつぶしでは、次のような問
題が発生する。すなわち、この方式では、同じY座標を
持つX座標を先頭から2つずつ組にしてそのあいだを塗
りつぶす。この結果、第11図(A)の様に、1画素1102
だけ飛び出している図形の場合は、この画素に対応する
セルの隣に、別のセルが存在しないため、不具合が発生
する。また、第11図(B)、第11図(C)の様に、水平
方向に、奇数個の画素がある場合も問題となる。これに
対し、第1の問題、即ち図11(A)に関しては、例えば
同一X座標をもつセルを2つ記憶する方法や、セルが2
つない場合は直線を描画しない方法や、点描を直線描画
の一つとして処理することにより対応可能である。
また、第2の問題、即ち図11(B)に対しては、前の
画素と次の画素と現在と画素との第1の座標値が等しい
場合に現在の画素に対応する第2の座標値を記憶するこ
となく現在の画素と次の画素の第1の座標値が異なる場
合のみ現在の画素対し第2の座標値を記憶することによ
り、斜線で示した画素に対応するセルは追加されず、本
方式により塗りつぶし処理が可能となる。
このように、本装置では、輪郭を構成する画素の座標
生成が終わると同時に、塗りつぶしを開始することが可
能であり、その効果は大きい。
なお、本実施例では、新しいセルを追加するとき、追
加位置記憶手段105を最初にみた。このようにすること
により、新しいセルの追加位置を早く知ることが可能で
ある。
しかし、新しいセルを追加する都度、第1の座標記憶
手段102を参照する。そして、新しいセルのY座標に対
応するバケットから、第2の座標記憶手段103をたぐ
る。そして、最後に、第2の座標記憶手段103内の新し
いセルを追加する位置を知る。このようにすれば、追加
位置記憶手段105は必要としない。このようにしても、
閉領域を構成する画素の座標を発生し終ったときすぐ
に、塗りつぶしを開始することが可能である。
発明の効果 本発明は以上のように、閉領域を構成する座標が与え
られる度に、この閉領域を塗りつぶすためのデータ構造
を作成し、この結果、閉領域を構成する座標がすべて与
えられるのと同時に塗りつぶしの実行を実施するため、
閉領域の塗りつぶしをより高速に実行することができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例における画像塗りつぶし装置
のブロック結線図、第2図〜第11図、及び第13図は同装
置の要部である第1、第2の座標記憶手段の記憶状態を
示す概念図、第12図は同装置で用いるアウトラインフォ
ントを示す図、第14図は従来の画像塗りつぶし装置のブ
ロック結線図、第15図は同画像塗りつぶし装置の動作を
示す概念図である。 101……座標発生手段、102……第1の座標記憶手段、10
3……第2の座標記憶手段、104……自由領域指示手段、
105……追加位置記憶手段、106……直線描画手段、107
……画像記憶手段、108……プロセッサ、109……バス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 上杉 明夫 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 川上 桂 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 昭62−115580(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】閉領域を構成する画素の2次元座標を生成
    する座標発生手段と、 前記座標発生手段が発生した画素の第1の座標値を記憶
    する第1の座標記憶手段と、 前記第1の座標値毎に画素の第2の座標値を昇順に記憶
    する第2の座標記憶手段と、 前記第2の座標記憶手段に記憶された第2の座標値に従
    い直線を描画する直線描画手段と、 前記直線描画手段が描画した直線を記憶する画像記憶手
    段とを備え、 前記第2の記憶手段に第2の座標値を昇順に記憶する
    際、前の画素と次の画素と現在の画素との第1の座標値
    が等しい場合に現在の画素に対応する第2の座標値を記
    憶することなく現在の画素と次の画素の第1の座標値が
    異なる場合のみ現在の画素対し第2の座標値を記憶し、 前記直線描画手段が、第1の座標値毎に昇順に記憶され
    た第2の座標値から昇順に第2の座標値を2つづつ選択
    し、選択された2点を結ぶ線分を描画することを特徴と
    する画像塗りつぶし装置。
JP30736588A 1988-12-05 1988-12-05 画像塗りつぶし装置 Expired - Lifetime JP2715496B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30736588A JP2715496B2 (ja) 1988-12-05 1988-12-05 画像塗りつぶし装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30736588A JP2715496B2 (ja) 1988-12-05 1988-12-05 画像塗りつぶし装置

Publications (2)

Publication Number Publication Date
JPH02153484A JPH02153484A (ja) 1990-06-13
JP2715496B2 true JP2715496B2 (ja) 1998-02-18

Family

ID=17968201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30736588A Expired - Lifetime JP2715496B2 (ja) 1988-12-05 1988-12-05 画像塗りつぶし装置

Country Status (1)

Country Link
JP (1) JP2715496B2 (ja)

Also Published As

Publication number Publication date
JPH02153484A (ja) 1990-06-13

Similar Documents

Publication Publication Date Title
JPS60239796A (ja) デイスプレイメモリ中のデータを変更する回路と方法
WO1996031844A1 (fr) Systeme graphique
JP3089792B2 (ja) 画像データの隠面判別方式
US4748442A (en) Visual displaying
JP2715496B2 (ja) 画像塗りつぶし装置
JPH07111618B2 (ja) スクロール画面表示方法及び装置
JPH07118024B2 (ja) パターンデータ生成方式
US6476818B1 (en) Storage circuit control device and graphic computation device
JP2610825B2 (ja) 図形処理装置
JPH0544063B2 (ja)
JPH0588838A (ja) マルチウインドウ表示装置
JP2675169B2 (ja) 図形処理システム
JPS6315288A (ja) 3次元図形表示装置
JP3312560B2 (ja) テクスチャマッピング装置
JPS5871409A (ja) 車両用走行位置表示装置
JPH05324840A (ja) 高解像度画像処理装置
JPS6315617B2 (ja)
JP2729437B2 (ja) 楕円描画装置
JPS63240682A (ja) 図形表示におけるクリツピング処理方式
JPS61159688A (ja) Crtディスプレイ装置の3次元カ−ソル表示回路
JPH02127785A (ja) 画像表示装置
JPH09134441A (ja) 曲線の直線近似装置
JP2940294B2 (ja) 製図装置
JP3024178B2 (ja) 画像処理装置の多角形塗りつぶし装置
JPH0644385A (ja) Zバッファ制御回路