JP3059189B2 - 塗りつぶし回路 - Google Patents

塗りつぶし回路

Info

Publication number
JP3059189B2
JP3059189B2 JP2117946A JP11794690A JP3059189B2 JP 3059189 B2 JP3059189 B2 JP 3059189B2 JP 2117946 A JP2117946 A JP 2117946A JP 11794690 A JP11794690 A JP 11794690A JP 3059189 B2 JP3059189 B2 JP 3059189B2
Authority
JP
Japan
Prior art keywords
circuit
line
vector
image
circle
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 - Fee Related
Application number
JP2117946A
Other languages
English (en)
Other versions
JPH0414190A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2117946A priority Critical patent/JP3059189B2/ja
Publication of JPH0414190A publication Critical patent/JPH0414190A/ja
Application granted granted Critical
Publication of JP3059189B2 publication Critical patent/JP3059189B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 (イ)産業上の利用分野 本発明は、デジタルPPC、ワードプロセッサ、ディス
クトップパブリッシング(DTP)、ミクストモードファ
クシミリ又は軽印刷などのイメージデータの処理回路に
関し、詳しくは閉じた図形内の塗りつぶし処理を行う画
像処理装置に関する。
(ロ)従来の技術 アウトラインフォントなどのように、楕円や多角形の
内部、更に、一般的には線分で囲まれた閉じた領域を特
定の色等で塗りつぶしていく方法がある。例えば、エッ
ジ・フラグ・アルゴリズムのように、任意の位置にある
2つのビットが“1"の状態であり、この2ビット間デー
タが“0"の状態である場合に、この2ビット間のデータ
を反転処理するものである。
しかしながら、従来のエッジ・フラグ・アルゴリズム
では、境界線上が塗りつぶされたり塗りつぶされなかっ
たりし、又塗りつぶしより以前にあった図形が消去され
るなどの問題があった。この問題を解決するために、2
枚のワークプレーンを使用した塗りつぶし法が提案され
ている。昭和58年度電子通信学会総合全国大会予稿集第
5−95の記事「2プレーン塗りつぶし法」に詳しい。こ
の2プレーン塗りつぶし方法は、塗りつぶしのために、
始終点を記憶する始終点プレーンと閉図形の境界線のド
ット列を記憶する境界線プレーンの計2枚のワークプレ
ーンを備え、境界線プレーン、始終点プレーンを順次走
査することにより塗りつぶしを行うものである。
(ハ)発明が解決しようとする課題 しかしながら、上述した2プレーン塗りつぶし法にお
いては、2つのワークプレーンを必要とし、ワークプレ
ーンとしてのメモリ容量が大きくなると共に、2つのワ
ークプレーンを走査する必要があるため処理時間が長く
なるという問題があった。
本発明は上述した問題点に鑑みなされたものにして、
1つのワークプレーンで確実に塗りつぶし処理を行うと
共に、塗りつぶし処理の高速化を図ることをその課題と
する。
(ニ)課題を解決するための手段 この発明は、塗りつぶすべき多角形からなる閉鎖領域
図形の頂点座標に基き線ベクトルデータを発生するベク
トル発生回路、このベクトル発生回路にて発生された線
ベクトルデータに基づき前記図形が直線を順次連続させ
て右回りに描画されるのか左回りに描画されるのか判別
する方向演算回路、この方向演算回路からの判別結果に
基き外形線の最外点を選択する外形選択回路、前記ベク
トル発生回路からの出力と外形選択回路の出力に基き閉
鎖領域図形の境界始終点を作成する線描画回路、この境
界始終点間を塗りつぶす塗りつぶし処理回路、この処理
回路から塗りつぶされた画像が書き込まれる画像メモ
リ、とを備えてなる。
また、前記外形選択回路は、直線と直線の交点を直線
の方向により描画点とするか否か選択するように構成し
てもよい。
また、この発明は、塗りつぶすべき円又は円弧からな
る図形の中心点座標及び半径データに基き方向ベクトル
を発生するベクトル発生回路、このベクトル発生回路に
て発生された方向ベクトルに基づき前記図形が右回りに
描画されるのか左回りに描画されるのか判別する方向演
算回路、この方向演算回路からの判別結果に基き外形線
の最外点を選択する外形選択回路、前記ベクトル発生回
路からの出力と外形選択回路の出力に基き閉鎖領域図形
の境界始終点を作成する線描画回路、この境界始終点間
を塗りつぶす塗りつぶし処理回路、この処理回路から塗
りつぶされた画像が書き込まれる画像メモリ、とを備え
てなる。
更に、前記外形選択回路は、円又は円弧が内側または
外側を塗りつぶすかによって、最外点の選択を変更する
ように構成してもよい。
また、この発明は、円又は円弧の中心点並びに半径デ
ータに基づき円又は円弧を示すドットを作成する線描画
回路、円又は円弧が内側または外側を塗りつぶすかによ
って前記線描画回路で作成されたドットの外形線の最外
点を選択する外形選択回路、この外形選択回路で選択さ
れた最外点間を塗りつぶす塗りつぶし処理回路、この処
理回路から塗りつぶされた画像が書き込まれる画像メモ
リ、とを備えてなる。
(ホ)作用 本発明の線の描画時に、その線ベクトルの方向によっ
て、図形が右回りで描画されるのか左回りで描画される
のかにより、最外点を選択することにより、最適な境界
始終点が得られ、この両点間を塗りつぶすことで、高精
度な塗りつぶし処理が行える。従って、境界線を再描画
することなく塗りつぶしが行える。
(ヘ)実施例 以下、本発明の実施例を第1図ないし第11図に従い説
明する。
第1図は本発明の一実施例を示すブロック図である。
この第1図に示すように、ベクトル発生回路(1)に
は、塗りつぶすべき閉鎖領域図形の頂点座標(X、Y)
が順次、外部より入力される。このベクトル発生回路
(1)は、入力に基き図形が直線複数本からなる多角形
である場合には、各線分の始点、終点データと第2図に
示す線方向ベクトルパラメータを発生し、方向演算回路
(2)並びに線描画回路(3)に入力する。
方向演算回路(2)はベクトル発生回路(1)から入
力された情報に基き、多角形が直線を右回り(時計方
向)に順次連続させて描画されるのか、左回り(反時計
方向)に順次連続させて描画されるのかを判別する。そ
して、その判別結果を外形線の最外点を選択する外形選
択回路(4)に入力する。
線描画回路(3)はベクトル発生回路(1)から入力
される線分の始点、終点および線方向ベクトルパラメー
タにより、プレゼンハムアルゴリズムにより、第4図お
よび第5図に示すように線分を示すドットを作成する。
そして、線描画回路(3)は、この作成されたドットを
全て塗りつぶし回路(5)およびワードプレーンとして
の画像メモリ(6)に入力するのではなく、外形選択回
路(4)からの情報により選択される最外形ドットのみ
塗りつぶし回路(5)および画像メモリ(6)に出力す
る。即ち、第4図および第5図に示すように、始点(X
S)および終点(XE)間において、X方向に複数ドット
並んで線ドットが作成された場合、右回りおよび左回り
に応じて、ハッチングを施したドットのみ選択され、塗
りつぶし回路(5)および画像メモリ(6)に入力され
る。
塗りつぶし回路(5)は選択された2つの外形ドット
間をエッジ・フラグ・アルゴリズムに従って塗りつぶし
処理を施し、画像メモリ(6)に書き込む。
この一連の作業は、書き込みのための制御回路(7)
の制御の下で実行されるが、この際発生される外形線座
標は水平方向に2つ以上連続しないように発生される。
第4図は線分が右回りの場合の選択ドットを示す模式
図、第5図は線分が左回りの場合の選択ドットを示す模
式図である。尚、図中の数字は線方向ベクトルを示す。
この第4図および第5図から判るように、選択された各
ドットは多角形の最外形ドットであり、選択されない他
のドットは、エッジ・フラグ・アルゴリズムにより塗り
つぶし処理の際に塗りつぶされる。
従って、従来の如き、全てのドットを塗りつぶし回路
(5)に入力すると、この部分が塗りつぶされた箇所と
塗りつぶされない箇所が混在するのに対し、全て確実に
塗りつぶし処理が行える。
第9図は本発明により塗りつぶしを行った場合の模式
図であり、外側の線分は左回り、内側の線分は右回りの
データを入力することにより、斜線部が確実に塗りつぶ
すことができる。
また、外形選択回路(4)は第6図に示すように、2
本の線分の交点につき、線分ベクトルの方向により交点
を描画するか否か選択する。即ち、線分1および線分2
が第6図(a)に示す関係にある場合は、第6図(b)
に示すように交点を描画し、第6図(c)に示す関係に
ある場合には、第6図(d)に示すように交点を描画し
ない。
このように選択することにより、第10図に示す星形図
形においても、各頂点間に不要な水平線を描画すること
なく、斜線部に示すように塗りつぶし処理が行える。
上述した実施例は直線による多角形の塗りつぶしにつ
いて説明したが、円または円弧の塗りつぶしについて以
下に説明する。
円描画を行う場合には、外部より円の中心点(XC、Y
C)並びに半径(R)がベクトル発生回路(1)に入力
される。ベクトル発生回路(1)は円描画を右回りで行
うか左回りで行うかにより、その方向ベクトルを出力す
る。本実施例においては、右回りで描画を行う場合には
円の内側を塗りつぶし、左回りで行う場合には円の外側
を塗りつぶすように予めコマンドとして設定されてい
る。また、本実施例のベクトル発生回路(1)は、線描
画回路(3)へ円の中心点(XC、YC)並びに半径(R)
を与える。
方向演算回路(2)は、ベクトル発生回路(1)の出
力により、右回りまたは左回り、即ち円の内側を塗りつ
ぶすか外側を塗りつぶすかを判別し、外形選択回路
(4)に入力する。
線描画回路(3)は中心点(XC、YC)並びに半径
(R)により、ホーン−クプラ(Horn−Kupla)法によ
り、第7図および第8図に示す円を示すドットを作成す
る。そして、線描画回路(3)は外形選択回路(4)か
らの情報により選択される最外形ドットのみ塗りつぶし
回路(5)及び画像メモリ(6)に出力する。即ち、円
の内側の塗りつぶしの場合には第7図、円の外側を塗り
つぶす場合には第8図に夫々示した斜線部のドットのみ
が選択され塗りつぶし回路(5)及び画像メモリ(6)
へ出力される。この外形線座標は水平方向に2つ以上連
続しないように発生される。そして、塗りつぶし回路
(5)は選択された2つの外形ドット間をエッジ・フラ
グ・アルゴリズムに従って、塗りつぶし処理を施し、画
像メモリ(6)に書き込む。
第11図は本発明により塗りつぶしを行った場合の模式
図であり、円の内側及び外側が確実に塗りつぶすことが
でき、この図のようなドーナツ形の図形も容易に塗りつ
ぶすことができる。
尚、上述した実施例においては、円の中心点(XC、Y
C)、半径(R)等をベクトル発生回路(1)に入力
し、ベクトル発生回路(1)より方向ベクトルを作成
し、方向演算回路(2)にて方向を判別する構成にして
いるが、外部より円外側の塗りつぶしか内側の塗りつぶ
しかを識別するコマンド入力するように構成すると、線
描画回路(3)に円の中心点(XC、YC)並びに半径
(R)を直接入力し、外形選択回路(4)に識別コマン
ドを入力するようにして、ベクトル発生回路(1)及び
方向演算回路(2)を省略するように構成できる。
次に、本発明の動作につき、第12図ないし第20図のフ
ローチャートに従い更に説明する。
まず、円の外側を塗りつぶす場合(CIRCLE1)につい
て、第12図ないし第15図に従い説明する。
まずステップS1において、円の中心点(XC、YC)並び
に半径(R)を線描画回路(3)内部のレジスタ(XC、
YC、R)に設定し、ステップS2に進む。
ステップS2においては、第3図に示すように、円を右
側(LX1)の4つ左側(LX2)の4つの計8つに分割し、
X座標の大きい、即ち右側の半分の始点の座標LX1
(1)=XC+R、LX1(2)=XC+R、LX1(3)=XC、
およびLX1(4)=XCを夫々線描画回路(3)内部のレ
ジスタ(LX1(1)、LX1(2)、LX1(3)、LX1
(4))に設定する。
続いて、ステップS3においては、X座標の小さい、即
ち左側の半分の始点の座標LX2(1)=XC−R、LX2
(2)=XC−R、LX2(3)=XC、およびLX2(4)=XC
を夫々線描画回路(3)内部のレジスタ(LX2(1)、L
X2(2)、LX2(3)、LX2(4))に設定する。
次にステップS4において、Y座標の始点LY(1)=Y
C、LY(2)=YC、LY(3)=YC−R、およびLY(4)
=YC+Rが線描画回路(3)内部のレジスタ(LY
(1)、LY(2)、LY(3)、LY(4))に設定する。
その後、ステップS5において、線描画回路(3)内部
のカウンタ(C1)をインクリメントする。即ち、このカ
ウンタ(C1)値を1〜4に変化させることにより、第3
図に示す1〜4の領域が以下の手順により描画される。
次にステップS6においては、ステップS5において設定
されたカウンタ(C1)の値に対応するLX1(1)…、LX2
(1)…、LY (1)…レジスタの値を所定のレジスタ
領域(PX1、…)に設定し、ステップS7に進む。
ステップS7においては、線描画回路(3)内部のX、
Y、Fレジスタにホーン−クプラ法に基いて、Xレジス
タにR、Yレジスタに“0"、Fレジスタに“−R"の値を
設定し、ステップS8に進む。
ステップS8においては、ホーン−クプラ法に基いてY
レジスタの値とXレジスタの値を比較し、Yレジスタの
値が大きい場合にはステップS16へ、小さい場合にはス
テップS9へ進む。
ステップS9においては、X、YアドレスがY方向に変
化したときに立てられるフラグが“1"(FL=1)である
か否か判別し、FL=1であればステップS10へ進み、FL
≠1の時にはステップS11に進む。
ステップS10においては、サブルーチンPOUTCを呼び出
す。サブルーチンPOUTCは、第13図(a)に示すよう
に、XアドレスのPX1レジスタとYアドレスのPY1レジス
タの示す画像メモリ(6)のデータを読み出し、その値
を反転させる。そして、XアドレスのPX2レジスタとY
アドレスのPY1レジスタの示す画像メモリ(6)のデー
タを読み出し、その値を反転させたものを書き込む。こ
の処理によって、第8図に示すように外側の塗りつぶし
として外側方向に一番遠い変化点が選ばれ、画像メモリ
(6)に書き込まれる。
また、ステップS11では、ホーン−クプラ法に基い
て、Fレジスタ値にYレジスタの値を2倍したものと1
を加算し、FLレジスタに設定する。そして、Yレジスタ
を1インクリメントし、FLレジスタを“0"にクリアして
ステップS12へ進む。
ステップS12において、サブルーチンDDA1Cを呼び出
す。サブルーチンDDA1Cは第14図(a)に示すように、
デジタル微分解析により、C1の方向ベクトルの値に対し
てPY、PXの値を求め、Y方向へ変化する場合にはフラグ
をFL=1に設定する。
続いて、ステップS13においては、ホーンクプラ法に
基いて、Fレジスタの値が負であるか、正であるかを判
断し、正である場合にはステップS14へ進み、負である
場合にはステップS8へ戻る。
ステップS14においては、ホーン−クプラ法に基い
て、Fレジスタの値からXレジスタの値を2倍にしたも
のを引算し、2を加算し、Fレジスタに格納すると共
に、Xレジスタ値を1デクリメントする。
続いて、ステップS15において、サブルーチンDDA2Cを
呼び出す。サブルーチンDDA2Cは第14図(b)に示すよ
うに、デジタル微分解析により、C1の方向ベクトルの値
に対して、PY、PXの値を算出し、Y方向に変化する場合
にはフラグFL=1に設定する。
そして、ステップS16において、カウンタ値C1=4か
否か、即ち第3図の4方向全てにおいて処理が終了した
か否か判断され、終了していない場合にはステップS5へ
戻り前述の動作を繰り返す。4方向全ての処理が終了す
ると、動作が終了し、第8図に示すように外側の塗りつ
ぶし用として外側方向に一番遠い変化点のみ選択された
ドットデータが画像メモリ(6)に書き込まれる。
その後、塗りつぶし回路(5)において、第15図のフ
ローチャートに示すエッジ・フラグ・アルゴリズムに従
い、2点間の間を塗りつぶし、そのデータを画像メモリ
(6)へ書き込むことにより、塗りつぶし処理が完了す
る。
次に円の内側を塗りつぶす場合(CIRCLE2)につい
て、第16図および第17図に従い説明する。
ステップS21からステップS26までの手順はCIRCLE1の
ステップS1からS6まで同一手順であり。線描画回路
(3)内部の各レジスタ領域にポーンークプラ法用の所
望のデータが格納される。
ステップS27において、線描画回路(3)内部のレジ
スタ(PX10、PX20、PY0)に、それぞれPX1、PX2PYの値
を設定する。このPX10、PX20、PY0レジスタは今演算中
のPX1、PX2、PYの前ドットのアドレスを示すものであ
る。このレジスタの値により、内側の塗りつぶし円特有
の変化点の1ドット前を画像メモリ(6)に選択して描
画することができる。
続いて、ステップS28においては、線描画回路(3)
内部のX、Y、Fレジスタにホーンークプラ法に基い
て、X=R、Y=0、F=−Rを設定しステップS29に
進む。
ステップS29においては、ホ−ンークプラ法に基い
て、F=F+2×Y+1およびY=Y+1の演算を行な
って、夫々F、Yレジスタにその値を設定し、ステップ
S30に進む。
ステップS30において、サブルーチンDDA1Cを呼び出
す。
サブルーチンDDA1Cは前述したように、C1の方向ベク
トルの値に対して、PY、DXの値を求め、Y方向へ変化す
る場合には、FL=1に設定する。
続いて、ステップS31において、ホーン−クプラ法に
基いて、F≧0か否か判断し、Fレジスタの値がEであ
る場合にはステップS32に進み、負である場合にはステ
ップS34に進む。
ステップS32においては、ホーンークプラ法に基い
て、F=F−2×X+2およびX=X+1の演算を行な
って、夫々F、Xレジスタにその値を設定し、ステップ
S33へ進む。
ステップS33においては、サブルーチンDDA2Cを呼び出
す。
サブルーチンDDA2Cは前述したように、C1の方向ベク
トルの値に対して、PY、PXの値を算出し、Y方向に変化
する場合にはFL=1に設定し、ステップS34に進む。
ステップS34においては、ホーンークプラ法に基づい
てYレジスタの値とXレジスタの値を比較し、Yレジス
タの値が大きい場合にはステップS43に進み、Xレジス
タの値が大きい場合にはステップS35に進む。
ステップS35においては、FL=1であるか否か判断
し、FL=1であればステップS36に進み、FL≠1のとき
にはステップS37に進む。
ステップS36においてはサブルーチンPOUTC2を呼び出
す。
サブルーチンPOUTC2は第17図に示すように、1ドット
前のアドレスPX10、PX20、およびPY0のドットを画像メ
モリ(6)に描画する。
そして、ステップS37においては、線描画回路(3)
のレジスタに、夫々PX10=PX1、PX20=PX2、PY0=PYと
設定し、ステップS38に進む。
ステップS38においては、ホーンークプラ法に基づい
て、F=F+2×Y+1、Y=Y+1、の演算を行い、
夫々FYレジスタにその値を設定すると共に、FLを“0"に
クリアする。そして、ステップS39に進む。
ステップS39においては、サブルーチンDDA1Cを呼び出
す。
サブルーチンDDA1Cは、前述したように、C1の方向ベ
クトルの値に対してPY、DXの値を求め、Y方向へ変化す
る場合にはFL=1に設定する。
そして、ステップS40において、前述と同様にF≧0
であるか否か判断し、Fレジスタの値が“0"より大きい
場合にはステップS41に進み、“0"より小さい場合には
ステップS34に戻る。ステップS41においては、F=F−
2×X+2、X=X−1の演算を行い夫々F、Xレジス
タに、Yの値を設定し、ステップS42に進む。
ステップS42において、サブルーチンDDA2Cを呼び出
し、そして、サブルーチンDDA2Cの処理が終了すると、
ステップS34へ戻る。
ステップS34において、Yレジスタの値がXレジスタ
の値より大きくなるとステップS43に進む。
ステップS43において、Y方向への移動があったか、
すなわち、FL=1であるか否か判断され、FL=1の場合
ステップS44に進み、FL≠1の場合ステップS45に進む。
ステップS44においては、サブルーチンPOUTC2を呼び
出し、このサブルーチンにより1ドット前のアドレスPX
10、PX20、およびPY0のドットを画像メモリ(6)に描
画する。
そして、ステップS45においては、カウンタ値C1=4
か否か、即ち第3図の4方向全てにおいて処理が終了し
たか否か判断され、終了していない場合には、ステップ
S25へ戻り、前述の動作を繰り返す。
4方向全ての処理が終了すると、動作が終了し、第7
図に示すように内側の塗りつぶし用として、内側方向に
一番遠い変化点のみ選択され、そのドットが画像メモリ
(6)に書き込まれる。
その後、塗りつぶし回路(5)において、第15図のフ
ローチャートに示すエッジ・フラグ・アルゴリズムに基
づいて、2ドット間の間を塗りつぶし、そのデータを画
像メモリ(6)に書き込むことにより塗りつぶし処理が
完了する。
次に直線による多角形の塗りつぶし動作につき、第18
図ないし第20図のフローチャートに従い説明する。
まずステップS51において、ベクトル発生回路(1)
に入力された頂点座標より線分の本数を算出し、この算
出された本数が線描画回路(3)の内部レジスタMに入
力される。本実施例においては5が入力される。そし
て、ベクトル発生回路(1)からの出力により方向演算
回路(2)にて右回りか左回りかが判別され、その判別
結果を外形選択回路(4)のレジスタRLに入力する。
尚、左回りの時RL=1、右回りの時RL=0に設定され
る。
そして、ステップS52において、画像メモリ(6)上
のパラメータアドレスを1インクリメントとし、ステッ
プS53へ進む。
ステップS53は画像メモリ(6)から始点のXYアドレ
スであるパラメータ(XC1、YC1)終点のXYアドレスであ
るパラメータ(XC2、YC2)を読み出し、線描画回路
(3)のレジスタXC1、YC1、XC1、YC2に夫々パラメータ
データを設定する。
そして、ステップS54においては、プレゼンハムアル
ゴリズムに基き、DELTAX=XC2−XC1、DELTAY=YC2−YC1
の演算を行いその演算結果が、夫々線描画回路(3)の
該当レジスタに格納される。
ステップS55において、第2図に従って、方向ベクト
ルを求め、例えば方向ベクトルが4の場合にはFL1=
1、FL2=0の、FL3=0と各レジスタに入力され、ステ
ップS56へ進む。
ステップS56においては、Y方向のドット数であるDEL
TAYがDELTAY<0か否か判断し、0以上である場合には
ステップS58へ進み、DELTAY<0の場合にはステップS57
において、DELTAY=DELTAY×−1の演算すなわち、DELT
AYの数を正にし、FL1=0に設定する。
続いて、ステップS58において、X方向のドット数で
あるDELTAXがDELTAX<0か否か判断し、0以上でなる場
合にはステップS60に進み、DELTAX<0の場合にはステ
ップS59へ進む。
ステップS59において、DLETAX=DELTAX×−1の演
算、即ちDELTAXの数を負にし、FL2=1に設定する。
続いて、ステップS60においては、X方向とY方向の
傾きがどちらか大きいかを判定し、Y方向の傾きが大き
い場合、ステップS61において、DELTAXとDELTAYを入れ
替え、ステップS62に進む。
また、X方向の傾きが大きい場合は、そのままステッ
プS62に進む。
ステップS62において、1つ前に描画した方向ベクト
ルを線描画回路(3)のMDIRレジスタに格納すると共
に、DIR=FL1×4+FL2×2+FL3の演算を行なう。
続いて、ステップS63において、プレゼンハムアルゴ
リズムに基づく各パラメータを求める。すなわち、CONS
2、E、CONS1をそれぞれ算出してそれぞれの対応レジス
タに格納し、ステップS64に進む。
ステップS64においては、第4図および第5図に示す
描画点のどちらを使用するかを線方向ベクトルと右回
り、左回りの情報から選択し、その選択した描画ドット
を画像メモリ(6)に書き込み、ステップS65へ進む。
ステップS65において、XレジスタにXC1の値、Yレジ
スタにYC1の値をそれぞれ格納する。
次にステップS66において、サブル−チンPOUTを呼び
出す。サブル−チンPOUTは第19図(a)に示すように、
始点を描画するか否かをBIRレジスタとMDIRレジスタの
値、即ち、2つの線の方向ベクトルにより決定する。そ
して、画像メモリ(6)のX、Yアドレスの値を反転さ
せる。
続いて、ステップS67において、プレゼンハムアルゴ
リズムに基づいて、C1カウンタの値をカウントアップ
し、ステップS68に進む。
ステップS68において、サブル−チンDDA1を呼び出
す。サブル−チンDDA1は第20図(a)に示すように、デ
ジタル微分解析により、方向ベクトルに対して、X、Y
アドレスを求め、X、Yレジスタに格納する。
次に、ステップS69において、フラグFLXを“0"にクリ
アし、ステップS70に進む。ステップS70において、プレ
ゼンハムアルゴリズムに基づいて、Eレジスタの値が
“0"より大きいか否か判断され、“0"より大きい場合に
はステップS71に、“0"より小さい場合にはステップS72
に進む。
ステップS71においては、サブル−チンDDA2を呼び出
す。サブル−チンDDA2は第20図(b)に示すように、方
向ベクトルに対して、X、Yアドレスを求め、X、Yレ
ジスタに格納する。サブル−チンDDA2が終了すると、ス
テップS73に進む。
ステップS72においては、プレゼンハムアルゴリズム
に基づき、Eレジスタの値とCONS2レジスタを加算した
ものをEレジスタに格納しステップS74に進む。
また、ステップS73においては、Eレジスタの値とCON
S1レジスタの値を加算し、Eレジスタに格納するととも
にFLXのフラグを“1"にしてステップS74に進む。
ステップS74においては、方向ベクトルの2進数での
下位1ビットが“0"であるか否かを判別し、方向ベクト
ルの2進数が“1"、FLXが“1"のときステップS75に進
み、方向ベクトルの2進数が“0"、FLXが“0"のときス
テップS76へ進む。
ステップS75においては、サブル−チンPOUT3を呼び出
す。第19図(c)に示すように、サブル−チンPOUT3に
おいては画像メモリ(6)上のX、Yアドレスのデ−タ
を反転させて再書き込みを行なう。サブル−チンPOUT3
が終了するとステップS76へ進み、ステップS76におい
て、プレゼンハムアルゴリズムに基づいて、C1カウンタ
の値とDELTAXとの値を比較し、等しくなければステップ
S67へ戻り前述した動作を繰り返す。また等しい場合に
は、ステップS77に進む。
ステップS77においては、パラメ−タカウンタの値が
Mレジスタと等しいか否か、すなわち、線分全てが描画
されたか否かが判断され、I≠Mの場合にはステップS5
2へ戻り、前述した動作を繰り返す。そして、全ての線
分が終了すると線描画の動作が終了する。
一方、ステップS64において、RL=1で方向ベクトルD
IR=0又は1又は6又は7であるか、RL=0で方向ベク
トDIR=4又は5又は2又は3である場合にはステップS
78に進む。
ステップS78においては、X0、Y0、X、Yレジスタに
それぞれXC1、YC1レジスタの値を格納し、ステップS79
へ進む。
ステップS79においては、プレゼンハムアルゴリズム
に基づいて、C1カウンタ値をカウントアップする。
続いて、ステップS80において、サブル−チンDDA1を
呼び出す。サブル−チンDDA1は前述したように、方向レ
ジスタDIRの値によりX、Yアドレスを求める。サブル
−チンDDA1が終了すると、ステップS81に進み、ステッ
プS81において、フラグFLXを“0"にクリアし、ステップ
S82に進む。
ステップS82からステップS86まで前に述べたステップ
S70からステップS74までと同一の手順を行なう。
ステップS86においてFLX≠0で(DIR AND1)≠0の
場合ステップS87へ進み、FLX=0で(DIR AND1)=0
の場合ステップS88へ進む。
ステップS87において、サブル−チンPOUT2を呼び出
し、サブル−チンPOUT2において第19図(b)に示すよ
うに始点を描画するか否か決定する。すなわち、DIRレ
ジスタとMDIRレジスタの値により交点の始点を描画する
か否か決定する。そして、画像メモリ(6)のX、Yア
ドレスを反転させ、ステップS88に進む。
ステップS88において、X0、Yレジスタの値を設定
し、ステップS89へ進む。
ステップS88において、C1カウンタの値とDELTAXを比
較し、C1≠DELTAXの場合にはステップS79に進み、前述
した動作を繰り返す。又、C1=DELTAXの場合にはステッ
プS90に進む。
ステップS90において、サブル−チンPOUT3をよび出
す。サブル−チンPOUT3においては、前述したように画
像メモリ(6)上のX、Yアドレスのデ−タを呼出し反
転させて再書き込みを行なう。サブル−チンPOUT3が終
了するとステップS77に戻り前に述べた動作を繰り返
す。
全ての線分の処理が終了すると、ドット描画動作が終
了し、水平方向に2ドットが連続して存在することなく
画像メモリ(6)に書き込まれる。
その後、塗りつぶし回路(5)において、第15図のフ
ローチャートに示すエッジ・フラグ・アルゴリズムに基
づいて、2ドット間の間を塗りつぶし、そのデータを画
像メモリ(6)に書き込むことにより塗りつぶし処理が
完了する。
(ト)発明の効果 以上説明したように、本発明によれば、線の描画時
に、図形が右回りで描画されるのか左回りで描画される
のかにより、最外点を選択することにより、最適な境界
始終点が得られ、この両点間を塗りつぶすことで、高精
度な塗りつぶし処理が行える。従って、境界線を再描画
することなく塗りつぶしが行えるため、塗りつぶし処理
時間が短縮できるとともに、ワ−クプレ−ンも1つで済
みメモリの容量を大幅に削減できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
線方向ベクトルの領域を示す模式図、第3図は円の領域
を示す模式図である。 第4図および第5図は直線の描画ドットを示す模式図で
あり、第4図は右回り、第5図は左回りを示す。 第6図は二直線の交点の描画状態を示す模式図である。 第7図は円の内側を塗りつぶす場合の描画ドットを示す
模式図、第8図は円の外側を塗りつぶす場合の描画ドッ
トを示す模式図である。 第9図は直線による多角形の塗りつぶしを示す模式図、
第10図は星形の塗りつぶしを示す模式図、第11図は円の
塗りつぶしを示す模式図である。 第12図ないし第15図は円の外側の塗りつぶし動作を説明
するフロ−チャ−トである。 第16図および第17図は円の内側の塗りつぶし動作を説明
するフロ−チャ−トである。 第18図ないし第20図は直線による多角形の塗りつぶし動
作を説明するフロ−チャ−トである。 1……ベクトル発生回路、2……方向演算回路、 3……線描画回路、4……外形選択回路、 5……塗りつぶし処理回路、6……画像メモリ。

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】塗りつぶすべき多角形からなる閉鎖領域図
    形の頂点座標に基き線ベクトルデータを発生するベクト
    ル発生回路、このベクトル発生回路にて発生された線ベ
    クトルデータに基づき前記図形が直線を順次連続させて
    右回りに描画されるのか左回りに描画されるのか判別す
    る方向演算回路、この方向演算回路からの判別結果に基
    き外形線の最外点を選択する外形選択回路、前記ベクト
    ル発生回路からの出力と外形選択回路の出力に基き閉鎖
    領域図形の境界始終点を作成する線描画回路、この境界
    始終点間を塗りつぶす塗りつぶし処理回路、この処理回
    路から塗りつぶされた画像が書き込まれる画像メモリ、
    とを備えてなる画像処理装置。
  2. 【請求項2】前記外形選択回路は、直線と直線の交点を
    直線の方向により描画点とするか否か選択することを特
    徴とする請求項第1に記載の画像処理装置。
  3. 【請求項3】塗りつぶすべき円又は円弧からなる図形の
    中心点座標及び半径データに基き方向ベクトルを発生す
    るベクトル発生回路、このベクトル発生回路にて発生さ
    れた方向ベクトルに基づき前記図形が右回りに描画され
    るのか左回りに描画されるのか判別する方向演算回路、
    この方向演算回路からの判別結果に基き外形線の最外点
    を選択する外形選択回路、前記ベクトル発生回路からの
    出力と外形選択回路の出力に基き閉鎖領域図形の境界始
    終点を作成する線描画回路、この境界始終点間を塗りつ
    ぶす塗りつぶし処理回路、この処理回路から塗りつぶさ
    れた画像が書き込まれる画像メモリ、とを備えてなる画
    像処理装置。
  4. 【請求項4】前記外形選択回路は、円又は円弧が内側ま
    たは外側を塗りつぶすかによって、最外点の選択を変更
    することを特徴とする請求項第3に記載の画像処理装
    置。
  5. 【請求項5】円又は円弧の中心点並びに半径データに基
    づき円又は円弧を示すドットを作成する線描画回路、円
    又は円弧が内側または外側を塗りつぶすかによって前記
    線描画回路で作成されたドットの外形線の最外点を選択
    する外形選択回路、この外形選択回路で選択された最外
    点間を塗りつぶす塗りつぶし処理回路、この処理回路か
    ら塗りつぶされた画像が書き込まれる画像メモリ、とを
    備えてなる画像処理装置。
JP2117946A 1990-05-08 1990-05-08 塗りつぶし回路 Expired - Fee Related JP3059189B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2117946A JP3059189B2 (ja) 1990-05-08 1990-05-08 塗りつぶし回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2117946A JP3059189B2 (ja) 1990-05-08 1990-05-08 塗りつぶし回路

Publications (2)

Publication Number Publication Date
JPH0414190A JPH0414190A (ja) 1992-01-20
JP3059189B2 true JP3059189B2 (ja) 2000-07-04

Family

ID=14724146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2117946A Expired - Fee Related JP3059189B2 (ja) 1990-05-08 1990-05-08 塗りつぶし回路

Country Status (1)

Country Link
JP (1) JP3059189B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11034501B2 (en) 2018-01-17 2021-06-15 Packaging Concepts & Design, LLC Packaging system and method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068442B2 (ja) * 1995-06-27 2000-07-24 日本電気マイコンテクノロジー株式会社 ワインディング規則用塗り潰し処理方法
JP6617463B2 (ja) * 2015-07-31 2019-12-11 大日本印刷株式会社 パターン編集プログラム、パターン編集装置、パターン編集方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11034501B2 (en) 2018-01-17 2021-06-15 Packaging Concepts & Design, LLC Packaging system and method
US11919698B2 (en) 2018-01-17 2024-03-05 Packaging Concepts & Design, LLC Packaging system and method

Also Published As

Publication number Publication date
JPH0414190A (ja) 1992-01-20

Similar Documents

Publication Publication Date Title
US4620287A (en) Method and apparatus for representation of a curve of uniform width
EP0633550B1 (en) Image processing method and apparatus thereof
US5524198A (en) Character or graphic processing method and apparatus
KR930002793B1 (ko) 벡터에 의해 정의된 패턴을 발생하는방법 및 장치
US5867172A (en) Thickened and thinned character generating device including elements for removing undesirably formed outline portions
JP3059189B2 (ja) 塗りつぶし回路
EP0308965A2 (en) Method of and apparatus for obtaining image data used for filling inner or outer region of graphic figure
US6507344B2 (en) Figure processing apparatus, figure processing method, and storing medium
US5936637A (en) Image processing system having outline font data input
US5481662A (en) Method of and apparatus for modifying base separation figure
JPH03119387A (ja) デジタル活字面の輪郭を形成する方法およびその装置
US4855921A (en) Complex curved surface creation method
US5365599A (en) Method and system of converting delineative pattern
JPH05269956A (ja) 任意の線に沿って組版する電子組版装置
EP0542317B1 (en) Apparatus for generating a character pattern for a serial printer
US5134687A (en) Method for converting image data into dot data
US5680153A (en) Image Processing apparatus
JP3089906B2 (ja) 描画装置
JP3133807B2 (ja) 輪郭抽出方法及びその装置
JP2611971B2 (ja) 出力装置
EP0454125A2 (en) Method of producing characters and figures using computer
JPH01166275A (ja) 並行処理を利用した塗り潰し画像データ生成方法
JPH0668247A (ja) ディジタル画像データ変倍方法および装置
JPS60200381A (ja) パタ−ン認識装置
JPH0259871A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080421

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees