JPH1020849A - 描画処理装置 - Google Patents
描画処理装置Info
- Publication number
- JPH1020849A JPH1020849A JP8197112A JP19711296A JPH1020849A JP H1020849 A JPH1020849 A JP H1020849A JP 8197112 A JP8197112 A JP 8197112A JP 19711296 A JP19711296 A JP 19711296A JP H1020849 A JPH1020849 A JP H1020849A
- Authority
- JP
- Japan
- Prior art keywords
- data
- vector
- section data
- graphic
- base
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 117
- 230000005540 biological transmission Effects 0.000 claims abstract description 49
- 239000013598 vector Substances 0.000 claims description 131
- 230000015572 biosynthetic process Effects 0.000 claims description 40
- 238000003786 synthesis reaction Methods 0.000 claims description 40
- 238000002834 transmittance Methods 0.000 claims description 35
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 38
- 238000013500 data storage Methods 0.000 abstract description 17
- 239000000203 mixture Substances 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 33
- 238000006073 displacement reaction Methods 0.000 description 18
- 238000004804 winding Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 239000003973 paint Substances 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
でなく透過合成処理も行う描画処理装置に関し、ラスタ
ーを生成する以前の段階で透過合成処理を行うことがで
き、しかも高速に透過合成処理を行える描画処理装置を
提供することを目的とする。 【解決手段】区間データ入力部2で、描画すべき図形の
区間データ及び当該図形の透過率を受け取る。透過合成
処理は、透過合成処理部4及び区間データ記憶部6にお
いて区間データ上で行われる。画像出力部8は、区間デ
ータ記憶部6の区間データを読み出しながらビデオ信号
等を出力して、所定の出力装置に対応したフォーマット
で画像を出力する。
Description
し、特に塗りつぶし処理において上塗りだけでなく透過
合成処理も行う描画処理装置に関する。
ox社の商標)やPostScript(Adobe社
の商標)などのページ記述言語(PDL)は、オペイク
モデルと呼ばれる描画モデルを採用している。オペイク
モデルは不透明なインクで上書きを行うモデルであり、
上書きされた描画結果は、最後に描画された図形の色だ
けがページ上に残されるようになる。
G)やデスクトップ・パブリッシング(DTP)では、
透過モデルを採用する動きがある。例えば、Quick
DrawGX(Apple社の商標)は、透過モデルを
採用している。透過モデルで図形の描画を行うと、オペ
イクモデルでは上書きされて消去されていた下側の図形
(下地図形)の色に対して、指定した透過率による透か
し処理(透過合成処理)が施される。透過モデルにおい
て、追加する図形(追加図形)の色の使用率を100%
(透過率100%という)とすればオペイクモデルと全
く同じ処理になるので、描画モデルとしては透過モデル
の方が高い汎用性を有していると言える。従来の透過合
成処理は特開平7−28986号公報に開示されている
ように、ラスター上で行うようになっている。
理装置では、文字やグラフィックスのようなラスター以
外のPDLの描画要素に透過合成処理を行う場合であっ
ても、ラスターデータを生成してからでないと透過合成
処理を行うことができない。そのため従来の描画処理装
置では、第1に、ラスター上で処理するための大容量の
メモリを必要とする、第2に、データ転送量がページメ
モリの容量を超えてしまう、第3に、透過合成処理の処
理速度が遅くなってしまう、等の問題点を有している。
る前の段階で透過合成処理を行うことができ、しかも高
速に透過合成処理を行える描画処理装置を提供すること
にある。
追加した追加図形を通して下地図形の色を所定の透過率
で透過させる透過合成機能を有する描画処理装置であっ
て、下地図形及び追加図形の描画データをランレングス
型データと所定の透過率データとで表現し、下地図形と
追加図形のランレングス型データを合成し、透過率デー
タに基づいて結果図形のランレングス型データ及び透過
率データを生成する透過合成処理手段と、結果図形のラ
ンレングス型データ及び透過率データを記憶する記憶手
段と、結果図形のランレングス型データに基づいて結果
図形をラスター型データにして出力する出力手段とを備
えることを特徴とする描画処理装置によって達成され
る。
型データのデータ表現は、描画図形のスキャンライン上
の始点、幅、及び色値を含むようにする。また、結果図
形のランレングス型データの色値は、追加図形の色値に
追加図形の透過率αを乗じた値と下地図形の色値に(1
−α)を乗じた値とを加えた値である。
図形を通して下地図形の色を所定の透過率で透過させる
透過合成機能を有する描画処理装置であって、描画デー
タがベクターデータと所定の透過率データとで表現され
た下地図形及び追加図形を記憶する記憶手段と、記憶手
段から下地図形と追加図形のベクターデータをスキャン
ライン毎に取り出して、所定の透過率データに基づき透
過合成データを生成する透過合成処理手段と、透過合成
データに基づいてラスターデータを生成して出力する出
力手段とを備えることを特徴とする描画処理装置によっ
て達成される。
タ、或いはベクターデータにより塗りつぶし処理時に透
過合成処理を行うことができるようになるので、透過合
成処理に必要なメモリ量を削減し、且つ高速に透過合成
処理を行うことができるようになる。
描画処理装置を図1乃至図13を用いて説明する。まず
初めに本実施の形態における透過合成処理を図2を用い
て説明する。色コンポーネントが三原色の青(B)、緑
(G)、赤(R)とし、先に描画される下地図形の色を
(Bu)、(Gu)、(Ru)とする。また、下地図形
の上に重ねて描画される追加図形の色を(Bo)、(G
o)、(Ro)とし、追加図形の透過率をαとする。透
過合成処理の結果としての結果図形(Br)、(G
r)、(Rr)は図2に示すような式で表される。
色値×(1−α) とする画像合成処理のことを言うものとする。
成を図1を用いて説明する。まず、区間データ入力部2
で、描画すべき図形の区間データ及び当該図形の透過率
を受け取る。
ランレングス形式のデータ表現であり、描画すべき図形
をスキャンライン毎の始点と長さ(幅)で表現したもの
である。区間データは図中の左側からスキャンラインの
番号(Y座標値)、続いて当該スキャンラインでの図形
の始点となるX座標値、当該図形の幅、種別、及び色ま
たは色へのポインタで構成される。ここで種別は、種別
に続く次のフィールドが当該図形の色値自身を示してい
るのか、色データへのポインタを示しているのかを識別
するために用いられる。本実施の形態では、種別の値が
0の場合は次フィールドが色値自身を表し、種別の値が
1の場合は次フィールドが色データへのポインタを示し
ているものとしている。
明する。図4に示す図形は内部が一定の色で塗られる三
角形形状でありスキャンラインY1〜Y7により描画さ
れる。図中X1〜X7は当該図形の各スキャンラインで
の始点となるX座標値を示している。L1〜L7はそれ
ぞれのスキャンライン上のX1〜X7からの幅である。
図5に図4の図形の区間データを示す。区間データによ
り、スキャンライン毎に図形の内部を表す領域が表現さ
れる。この例では、種別は0であり、従って種別の次の
フィールドには図形の色値自身が格納されている。
て説明する。図6に示す図形は、図形の開始点のX座標
値がX1、幅が8であり、スキャンラインY1〜Y5で
描画される長方形形状である。図6ではラスターなどの
色値が画素毎に変化する場合を示している。図6の画像
の区間データは図7のように表現される。区間データの
種別は1であり、従って種別の次のフィールドには色デ
ータへのポインタが格納されている。そして、各区間デ
ータから参照されるポインタの先に、画素毎の色値が格
納されている。色値の参照時には、区間データのX座標
と連動してポインタ値を移動させれば、各画素の色値を
求めることができる。
及び区間データ記憶部6内の区間データ上で行われる。
透過合成処理部4及び区間データ記憶部6については後
程詳細に説明する。
6の区間データを読み出しながらビデオ信号等を生成し
て、所定の出力装置に対応したフォーマットで画像を出
力するようになっている。
理装置による処理の概略の流れを説明する。まず、ステ
ップS1において、区間データ記憶部6の初期化を行
う。図9に区間データの初期化の例を示す。初期状態と
して区間データ記憶部6の区間データには全て白(透
明)の状態がセットされる。hは描画領域の高さを示し
ておりスキャンラインの番号に対応している。wは描画
領域の幅を示している。初期状態として区間データの始
点のX座標値には全て0が格納され、種別は0で次フィ
ールドには白を示す色値が格納されている。なお、この
ように本実施の形態では初期状態として描画領域全体を
白と定義しているが、何もない状態(無色)や、固有の
色を持つ状態を初期状態としても一向に差し支えない。
6に保持されている下地図形の区間データの中から、追
加図形の区間データと同じスキャンライン(走査線)上
の全ての下地図形の区間データが読み出される。
形の区間データと追加図形の区間データのX座標値及び
幅の値を用いて、以下に示す処理が行われる。 第1の処理: 追加図形の挿入位置の検索処理、 第2の処理: 追加図形が下地図形と重なる領域の色値
の計算処理、 第3の処理: 下地図形の分割、修正、及び追加図形の
追加処理 まず、第1の処理である追加図形の挿入位置の検索処理
では、下地図形の一つの区間データのX座標値と、追加
図形の区間データのX座標値と幅の値との和(X座標値
+幅の値)との比較を行う。
6通りに分類される。図10における記号、OSX、O
EX、USX、及びUEXはそれぞれ以下に示す意味で
用いる。 OSX: 追加図形の区間データにおけるX座標値 OEX: 追加図形の区間データにおける(X座標値+
幅−1)の値 USX: 下地図形の区間データにおけるX座標値 UEX: 下地図形の区間データにおける(X座標値+
幅−1)の値 さて、各スキャンラインにおける下地図形の区間データ
がX座標値の小さな順に並べられているとすれば、下地
図形の区間データを順次読み出しながら、以下のように
追加図形の挿入位置と重なり具合を知ることができる。
あり、追加図形の終端より下地図形の前端の方がスキャ
ンライン上で後方に位置するので、結果図形において下
地図形と追加図形とは重ならない。従って、当該下地図
形の次の下地図形と追加図形との重なりを調べる必要は
ない。
OEX<UEXであり、下地図形の前方と追加図形の後
方と重なる結果図形となる。従って、次の下地図形と追
加図形との重なりを調べる必要はない。
UEX<OEXであり、追加図形の内部に下地図形が完
全に重なる結果図形となる。従って、次の下地図形に対
して、追加図形のX座標値をOSX=UEX+1として
さらに比較を行う必要がある。
OEX≦UEXであり、追加図形が下地図形の内部に完
全に重なる結果図形となる。従って、次の下地図形と追
加図形の重なりを調べる必要はない。
UEX<OEXであり、下地図形の後方に追加図形の前
方が重なる結果図形となる。従って、次の下地図形に対
して追加図形のX座標値をOSX=UEX+1としてさ
らに比較を行う必要がある。
あり、追加図形の前端より下地図形の終端の方がスキャ
ンライン上で前方に位置するので、結果図形において下
地図形と追加図形とは重ならない。
挿入位置と重なり具合が求まる。図10(c)、
(e)、及び(f)の場合は、さらに次の下地図形の区
間データとの比較を行う。但し、図10(f)の場合に
あっては、次の下地図形の区間データがなければ処理を
終了させる。
図形と重なる領域の色値の計算処理は、下地図形と追加
図形との間に重なりが生じた場合、すなわち、図10
(b)、(c)、(d)、及び(e)の場合に必要とな
る。この場合は、図2で示した式により重なった領域の
色値の計算が行われる。
及び追加図形の追加処理は、下地図形と追加図形との間
に重なりが生じた場合、すなわち、図10(b)、
(c)、(d)、及び(e)の場合に必要となる。本処
理により各図の結果図形に示すように区間データを分
割、修正して新たな区間データが合成される。
分割、修正、及び追加図形の追加処理(第3の処理)
は、以下のように行われる。図10(a)の場合は、最
初に読み出した下地図形の区間データの先頭に、追加す
る図形の区間データを追加する。
ータと追加図形の区間データから3個の区間データが作
成される。各区間データの幅と色値は以下のようにな
る。なお、作成される区間データの幅を[始点,終点]
で示し、当該幅での色値を「:」の次に示している(以
下同じ)。 [OSX,USX−1]: 追加図形の色値 [USX,OEX] : 第2の処理で演算された色
値 [OEX+1,UEX]: 下地図形の色値
が作成される。各区間データの幅と色値は以下のように
なる。 [OSX,USX−1]: 追加図形の色値 [USX,UEX] : 第2の処理で演算された色
値 [UEX+1,OEX]: 追加図形の色値 但し、[UEX+1,OEX]の区間データの幅及び色
値については、さらに次の下地区間データとの比較を行
う場合には変更され得る。
から1乃至3個の区間データが作成される。すなわち、
USX=OSX、OEX=UEXの場合は下地の区間デ
ータの幅に追加図形の区間データの幅が一致して重なる
ので結果図形としての区間データは1個となる。また、
USX=OSX、或いはOEX=UEXのいずれかの場
合には、下地図形及び追加図形の前端又は終端が一致す
るので結果図形の区間データは2個になる。そして、追
加図形が下地図形の中に含まれる場合には結果図形の区
間データは3個になる。各区間データの幅と色値は以下
のようになる。 [USX,OSX−1]: 下地図形の色値(但し、U
SX<OSXの場合) [OSX,OEX] : 第2の処理で演算された色
値 [OEX+1,UEX]: 下地図形の色値(但し、O
EX<UEXの場合)
から3個の区間データが作成される。各区間データの幅
と色値は以下のようになる。 [USX,OSX−1]: 下地図形の色値 [OSX,UEX] : 第2の処理で演算された色
値 [UEX+1,OEX]: 追加図形の色値 但し、[UEX+1,OEX]の幅及び色値について
は、さらに次の下地区間データとの比較が行われる場合
には変更され得る。
下地図形の区間データの最後に、追加する図形の区間デ
ータを追加する。上記6種類の場合分けにより、区間デ
ータの分割、修正、追加の処理が行われる。これらの処
理結果は区間データ記憶部6に記憶される。
分割、修正、追加処理の具体例を説明する。図11に示
す具体例は、下地図形として描画領域全体が白で塗られ
ており、Y1のスキャンラインにX座標値がXからLの
幅を持つ青色の図形が透過率50%で追加される場合で
ある。この場合は図10(d)の場合に該当し、図12
に示すように結果図形の区間データはY1のスキャンラ
イン上で3個の区間データに分割される。各区間データ
の幅と色値は以下のようになる。 [0,X−1] : 白 [X,X+L−1]: 水色 [X+L,W−1]: 白
は、追加される全ての区間データを処理し終わるまで続
けられる(ステップS4)。そして、全ての区間データ
が処理し終わった後に区間データ記憶部6に蓄積された
区間データが出力される(ステップS5)。
詳細に説明する。図13において、まず、出力装置に対
して出力開始命令を出力する(ステップS10)。次
に、区間データ記憶部6から現在のスキャンラインにお
ける区間データを読み込む(ステップS11)。区間デ
ータがあれば、1画素(ピクセル)分のビデオ信号を発
生し(ステップS14)、区間データの幅(rl)を1
画素分減らす(ステップS15)。この区間データにビ
デオ信号を発生させるべき画素のデータが残っているか
どうかを判断し(ステップS16)、データが残ってい
れば(rl>0)、区間データの種別を判定し(ステッ
プS17)、ラスターであれば色値のポインタを増加
(インクリメント)させる(ステップS18)。ステッ
プS14〜ステップS18までの処理を区間データにデ
ータがなくなるまで続ける。区間データがなくなればス
テップS16にてステップS11に戻り、次の区間デー
タを読み込んで同様の処理を行う。そして、全ての区間
データを処理し終わると(ステップS12)、出力装置
に出力終了命令を出力して(ステップS13)処理を終
了する。
画処理装置を図14乃至図36を用いて説明する。図1
4に本発明の第2の実施の形態による描画処理装置の主
要部のブロック構成を示す。まず、ベクターデータ入力
部10で、描画すべき図形のベクター表現形式のデータ
と透過率及び描画属性値を受け取る。
ーデータ)とは、図15に示すように、描画すべき図形
のアウトラインを向きを有する直線で表現したものであ
る。図15に示すベクターデータにおいて「ID」は描
画順序を表している。「X」は現在のスキャンラインを
横切るベクターのX切片の値を示す。「X変位」は次の
スキャンラインに処理が移動した場合のX切片の変化量
を示している。「Y変位」は当該ベクターに影響を受け
る残りのスキャンライン数を示している。「向き」は当
該ベクターの向きを示す。
合、アウトラインの内部を判定するための規則が必要で
ある。内部/外部判定に用いる判定規則を図16に示
す。判定規則にはワインディング規則(NZ)と奇偶規
則(EO)との2種類がある。これらはいずれも複数の
外形(パス)で形成された一つの図形の内部を判定する
際に用いられる規則である。ワインディング規則及び奇
偶規則による内部判定方法を図17を用いて説明する。
図17(a)に示すワインディング規則は、図形22を
構成する外形がスキャンライン(走査線)20と交差す
る際の向きを考慮したものである。図17(a)では外
形がスキャンライン20を上向きに交差する場合を正、
下向きに交差する場合を負としている。走査方向に向か
って正の交差であれば1を加算し、負の交差であれば1
を減算することにし、合計値が0でなくなった点から0
に戻った点までが内部であると判定する。図17(b)
に示す奇偶規則は、スキャンライン20と交差するパス
の個数をカウントして、奇数の点から偶数の点までを内
部と判定することにしている。
19を用いてより具体的に説明する。図18において、
座標系は図面左上方を原点とし、従って図面の水平右方
向にX座標値は増加し、図面の垂直下方向にY座標値は
増加するものとする。
角形の場合を考える。この三角形を構成するベクターは
ベクター24、26、28である。ベクター24は始点
の座標が(X1,Y1)、スキャンラインY1でのX切
片の値を示す「X」はX1、次のスキャンラインに移動
した場合のX切片の変化量「X変位」は−1、残りのス
キャンライン数「Y変位」は7、となる。ベクターの
「向き」は座標系のY方向が増加する向きを1と定義
し、座標系のY方向が減少する向きを−1と定義する。
従って、ベクター24の「向き」は1である。この「向
き」はワインディング規則で内部/外部判定を行う際
に、どの向きでスキャンラインを横切るかを示す情報と
して用いられる。同様にしてベクター26は、スキャン
ラインY1でのX切片の値を示す「X」はX2、次のス
キャンラインに移動した場合のX切片の変化量「X変
位」は0、残りのスキャンライン数「Y変位」は7、
「向き」は−1を示している。
うに表現される。ベクターは、ベクターの「向き」を考
慮して必ず下向きに補正された状態でベクターの開始点
のY座標に結び付けられるので、ベクター26はスキャ
ンラインY1に結び付けられている。なお、スキャンラ
インと平行なベクター28は考慮する必要がないので除
外している。また、各ベクターの先頭のIDは図形毎の
描画順序を示すので、IDの値の小さい方が先に描画さ
れたものである。
が管理される。図20乃至図22にIDで管理された色
テーブル(図20)、透過率テーブル(図21)、内部
判定規則テーブル(図22)の例を示す。これらのテー
ブルはそれぞれIDに基づいて参照することができる。
さらに図23に示すように、図形の内部/外部を判定す
るためのワーク領域としての内部判定テーブルもIDか
ら参照できるように領域が確保される。
合成処理部14内で、ベクターデータによる透過合成処
理が行われる。この透過合成処理については後程詳細に
説明する。画像出力部16は、透過合成処理の終了した
領域から画像のビデオ信号を出力装置に対応したフォー
マットで出力するようになっている。
て、本発明の第2の実施の形態による描画処理装置で行
われる透過合成処理の概略の流れを説明する。まずステ
ップS20で、ベクターデータ記憶部12内の対象とな
るスキャンラインの位置に描画する図形のベクターを登
録する。このとき図20乃至図22で示した色値等の属
性値はベクターのIDに基づいて登録され、図23で示
した内部判定用のワーク領域も確保される。ステップS
20は、全ての描画要秦(プリミティブ)の読み込みが
終了するまで続けられる(ステップS21)。
25に示す図形を実例に用いて説明する。図25はスキ
ャンラインとベクターとの関係を示している。図中縦方
向には複数のスキャンラインが並列しており、各ベクタ
ーに関係するスキャンラインに上方からY0〜Y9の番
号が付されている。ID=ID1である三角形は図形内
部が透過率0%の赤色で塗られている。
により描画される。ベクター30の始点は、図示のよう
にスキャンラインY0のX座標値=X1であり、ベクタ
ー32の終点はスキャンラインY0のX座標値=X2で
ある。既に説明したように、ベクターはベクターの「向
き」を考慮して必ず下向きに補正された状態でベクター
の開始点のY座標に結び付けられる。従って、図26に
示すように、ベクター32はスキャンラインY0に結び
付けられる。結果として、スキャンラインY0にID1
の三角形を描画するベクター30、32が結び付けられ
ている。ベクター30のX切片はX1であり、X変位は
−1、Y変位は7、向きは1である。ベクター32のX
切片はX2であり、X変位は0、Y変位は7、向きは−
1である。
率50%の青色で塗られている。この長方形はベクター
34とベクター36により描画される。ベクター36の
始点は、図示のようにスキャンラインY4のX座標値=
X4であり、ベクター34の終点はスキャンラインY4
のX座標値=X3である。従って、図26に示すよう
に、スキャンラインY4にID2の長方形を描画するベ
クター34、36が結び付けられている。ベクター34
のX切片はX3であり、X変位は0、Y変位は6、向き
は−1である。ベクター36のX切片はX4であり、X
変位は0、Y変位は6、向きは1である。また、ID1
<ID2なので下地図形が三角形であり、追加図形が長
方形である。
は、図26に示すように色値、透過率、判定規則の各属
性値のテーブルがベクターのIDに基づいて登録され、
内部判定用のテーブルのワーク領域にもIDに基づいて
値が確保される。このような具体例に基づいて、図24
に戻って透過合成処理の流れのステップS22から説明
する。ステップS22では、ベクターデータ記憶部12
に登録されているベクターデータのうち、処理するスキ
ャンラインにかかるベクターを取り出し、アクティブテ
ーブルに登録する。
ブルに登録されたベクターをソートする。これは、スキ
ャンライン間でベクターが交差するような場合には、当
該スキャンラインでのベクターの状態が前スキャンライ
ンでのベクターの状態とは異なるものとなるので、改め
て当該スキャンラインでの全ベクターのソートを行って
当該スキャンラインにかかるベクターを所定の順序で並
べ替えるために行われる。本例では、X座標値の小さい
順にソートするものとしている。従って、例えば図25
のスキャンラインY5でのソート結果は図27に示すよ
うにベクター34、ベクター30、ベクター32、ベク
ター36の順に並べられ、スキャンラインY6でのソー
ト結果は図28に示すようにベクター30、ベクター3
4、ベクター32、ベクター36の順に並べ替えられ
る。
クティブテーブルからベクターを順次取り出して以下の
処理を行う。 第1の処理: 図形の内部判定処理 第2の処理: 内部判定された図形の登録と色の出力 第3の処理: 外部判定された図形の削除と色の出力 以上の処理は、アクティブテーブルからベクターがなく
なるまで続けられる。
図29に示すフローチャートに従って、図形が内部状態
にあるかどうかを判定する。図29において、ベクター
のIDから、このベクターで構成される図形の内部判断
規則を取得する(ステップS30)。判定規則の種類が
NZ(ワインディング規則)であればステップS32へ
移行し、EO(奇偶規則)であればステップS37へ移
行する(ステップS31)。
から内部判定テーブル(図23)の値を取得し(ステッ
プS32)、当該値が0であるかどうかを判断する(ス
テップS33)。値が0であれば当該ベクターで構成さ
れる図形は必ず内部になる。従って、図23の内部判定
テーブルの当該ベクターのIDの位置にある値にベクタ
ーの向きを加えてから(ステップS34)、図31に示
す処理に移行する。取り出した値が0でない場合には、
図23の内部判定テーブルの当該ベクターのIDの位置
にある値にベクターの向きを加え(ステップS35)、
加えた結果が0であるかどうかを判断する(ステップS
36)。加えた結果が0であれば、図33に示す処理に
移行し、加えた結果が0以外の場合は、引き続き内部状
態が継続するので最初に戻る。
判断されると、当該ベクターのIDから内部判定テーブ
ル(図23)の値を取得し、当該値を1だけ増加させて
から2の剰余を求める(ステップS37)。2の剰余の
値が1であれば判定結果は奇数となり(ステップS3
8)、図形の内部となるので図31に示した処理に移行
する。2の剰余が0であれば判定結果は偶数となり、図
形の外部になるので図33の処理に移行する。このよう
にして、第1の処理での内部判断処理が行われる。
形の登録と色の出力の処理について、図30及び図31
を用いて説明する。図30は描画状態表を示す図であ
る。描画状態表は、現在処理対象としているスキャンラ
インのどこまでの描画が完了したかを保持する機能と、
現在内部状態にある描画図形を保持する機能とを有して
いる。図30に示すように描画状態表は「描画開始位
置」、「内部状態」、及び「色値」から構成される。
「描画開始位置」は、現在処理対象のスキャンラインに
おける次に塗りつぶしを開始させるX座標値が保持され
る。従って、描画開始位置より小さいX座標値の領域は
既に塗りが画定した領域である。「内部状態」は、内部
状態になった図形を登録する領域である。「色値」は、
内部状態にある図形に対して、透過合成の色値の計算を
IDの小さい方から順番に行った結果である。「内部状
態」と「色値」の情報は、図形のIDの大きい順に登録
される。
テップS38で図形が内部状態となった場合における次
の処理を示すフローチャートである。まず、描画状態表
の「内部状態」が空であるかどうかを調べる(ステップ
S40)。描画状態表の「内部状態」が空であれば当該
ベクターから内部状態が開始するのでステップS46に
移行し、描画状態表の「描画開始位置」に当該ベクター
のX座標値を設定する。
ば、描画状態表のすでに内部と判定されたベクターのX
座標値(αとする)が「描画開始位置」にあるはずであ
るから、αから当該ベクターのX座標値−1までを「内
部状態」の先頭の色で塗る(ステップS41)。次に、
当該ベクターより小さいIDのベクターが描画状態表に
登録されているかどうかを調べる(ステップS42)。
当該ベクターより小さいIDのベクターが登録されてい
る場合には、当該ベクターの色値を当該ベクターの直下
にあるベクターの色値を用いて透過合成の色値の計算を
行う(ステップS43)。
を持つベクターが、描画状態表の内部状態に登録されて
いるかどうかを調べる(ステップS44)。当該ベクタ
ーより大きいIDを持つベクターがあれば、IDが大き
い全てのベクターに対してIDの小さい順に透過合成の
色値の計算を行う(ステップS45)。次に、「描画開
始位置」を当該ベクターのX座標値に設定し(ステップ
S46)、描画状態表の「内部状態」にIDを上から大
きい順に並ぶように登録する(ステップS47)。以上
の処理で内部状態における透過合成処理を終了する。
る描画状態表の変化を説明する。図32は図25のスキ
ャンラインY6のX3における描画状態表の変化を示し
ている。X座標値がX3においてID2の図形が内部状
態になる。すでに内部状態にある最大のIDはID1な
ので、スキャンラインY6でのベクター30のX座標値
X1−6からX3−1までが赤で塗られる。ID2の図
形を登録した後、描画開始位置をX3に変更し、ID2
の部分について色の再計算を行う。lD2の直下にある
のはlD1の赤であるから、ID2に対応する色は紫
(赤50%、青50%)となる。
の削除と色の出力の処理について図33を用いて説明す
る。図33は、図29のステップS36又はステップS
38で図形が外部状態となった場合における次の処理を
示すフローチャートである。まず、描画状態表の「描画
開始位置」から当該ベクターのX座標値−1まで、描画
状態表の「色値」の先頭の色で塗る(ステップS5
0)。次に、「描画開始位置」を当該ベクターのX座標
値に設定する(ステップS51)。次に、当該ベクター
を描画状態表から削除する(ステップS52)。そし
て、当該ベクターのIDより大きいIDを持つベクター
が描画状態表の「内部状態」に登録されているかどうか
を調べる(ステップS53)。当該ベクターより大きい
IDを持つベクターがあれば、IDが大きい全てのベク
ターに対してIDの小さい順に(内部状態の下方か
ら)、透過合成の色値の計算を行う(ステップS5
4)。この計算の際、図26に示した色テーブルと透過
率テーブルに格納されている元の色値と透過率を用いて
再計算を行う。
として、ステップS24で計算された色値と領域の長さ
に基づいて、1スキャンラインの出力を行う(ステップ
S25)。出力方法は例えば第1の実施の形態で説明し
た区間データの形式を用いて1スキャンライン分のデー
タを蓄積して出力するようにしてもよい。例として図2
5に示した図形の区間データを図34に示す。図34の
区間データからスキャンライン毎の区間データを取り出
して、図13で説明した出力処理を行えば1スキャンラ
イン分の出力が行え、また、複数分蓄積してから出力装
置との同期をとりながら図13の処理を行えば複数ライ
ン分の出力を行うこともできる。
と、アクティブテーブルを更新する(ステップS2
6)。アクティブテーブルに登録されている全てのベク
ターに対して、X=X+X変位、Y変位=Y変位−1の
演算を行い、Y変位が0になったベクターをアクティブ
テーブルから取り除く。これにより、次のスキャンライ
ンにおいてアクティブであるベクターだけを残すことが
できる。このステップS26のアクティブテーブルの更
新処理を行うと、例えば、図28に示したY6のスキャ
ンラインの処理が終了すると図35に示すようにY7の
スキャンラインの状態が整うようになる。図示の通り、
Y6にかかるベクターのうちベクター30とベクター3
2のY変位が1であるのでY7のスキャンラインではこ
れらベクター30、32は削除される。
での処理は、全てのスキャンラインに対して行われる
(ステップS27)。
て具体的に説明する。図36は図25のスキャンライン
Y6における描画状態表の変化を示す。まず始めに、I
D1の図形のベクター30が取得される。ベクター30
による内部判断処理によりID1の図形は内部と判断さ
れ、且つ現在「内部状態」には登録図形がないので、
「描画開始位置」には、ベクター30のスキャンライン
Y6でのX座標値X1−6がセットされる。また、「内
部状態」にID1がセットされ、色値として赤(R:1
00%)がセットされる。
される。このときID2の図形は内部と判断される。
「内部状態」にはID1の図形が登録されているので、
スキャンラインY6のX1−6からX3−1まで赤
(R:100%)で塗られる。そして、ID2>ID1
なので、ID2の図形の色値は透過率をもとに、青
(B:50%)赤(R:50%)と計算される。ID2
より大きい図形は登録されていないので、「描画開始位
置」をベクター34のX座標値X3にセットし、「内部
状態」の先頭にID2の図形が登録される。
る。このとき、ID1の図形は外部と判断されるので、
スキャンラインY6のX3からX2−1までを「内部状
態」の先頭の色である青(B:50%)赤(R:50
%)で塗る。そして、「描画開始位置」にはベクター3
2のX座標値X2がセットされ、ID1の図形は「内部
状態」から削除される。また、ID2>ID1であるの
で、ID2の図形の色値を再計算して青(B:50%)
がセットされる。ID1より大きいIDを持つ図形はI
D2だけなので、次の処理へ移る。次に、ID2のベク
ター36が取得される。このときID2の図形は外部と
判断されるので、スキャンラインY6のX2からX4−
1までが「内部状態」の先頭の色である青(B:50
%)で塗られる。ID2より大きい図形はないので、次
の処理に移る。
透過合成処理が終了し、図34でのスキャンラインY6
に示す結果を得ることができる。このように本実施の形
態によれば、従来ラスターデータ上で行っていた透過合
成処理を塗りつぶし処理時に行うことができるようにな
るので、透過合成処理に必要なメモリ量を削減し、且つ
高速に透過合成処理を行うことができるようになる。
変形が可能である。例えば、上記実施の形態における描
画処理装置において、透過率αが0%、或いは100%
の場合には上記実施の形態で説明した透過合成処理を省
略させるようにしてもよい。
間データを始点と長さ(幅)で表現したが、始点と終点
で表現してもよい。さらに、透過率の定義を下地図形の
透過率をαとして、 結果図形の色値 = 追加図形の色値×(1−α)+下
地図形の色値×α のように変えてもよい。
グス型のデータ上、或いはベクターデータ上にて塗りつ
ぶし処理時に透過合成処理を行うことができるようにな
るので、透過合成処理に必要なメモリ量を削減し、且つ
高速に透過合成処理を行うことができるようになる。
の主要部を示すブロック図である。
ある。
である。
理の概略のフローチャートを示す図である。
の区間データ記憶部の初期状態の例を示す図である。
ある。
処理の具体例を示す図である。
処理の具体例を示す図である。
置の出力処理部における処理のフローチャートを示す図
である。
置の主要部を示すブロック図である。
表現形式のデータを示す図である。
す図である。
を示す図である。
処理の概略のフローチャートを示す図である。
説明図である。
ブルの初期状態を示す図である。
ィブテーブルの状態図である。
ィブテーブルの状態図である。
である。
トを示す図である。
3における状態の変化の説明図である。
トを示す図である。
である。
ある。
態表の変化を示す図である。
Claims (4)
- 【請求項1】下地図形に追加した追加図形を通して前記
下地図形の色を所定の透過率で透過させる透過合成機能
を有する描画処理装置であって、 前記下地図形及び前記追加図形の描画データをランレン
グス型データと所定の透過率データとで表現し、前記下
地図形と前記追加図形のランレングス型データを合成
し、前記透過率データに基づいて結果図形のランレング
ス型データ及び透過率データを生成する透過合成処理手
段と、 前記結果図形のランレングス型データ及び透過率データ
を記憶する記憶手段と、 前記結果図形のランレングス型データに基づいて前記結
果図形をラスター型データにして出力する出力手段とを
備えることを特徴とする描画処理装置。 - 【請求項2】請求項1記載の描画処理装置において、 前記透過合成処理手段の前記ランレングス型データのデ
ータ表現は、描画図形のスキャンライン上の始点、幅、
及び色値を含むことを特徴とする描画処理装置。 - 【請求項3】請求項2記載の描画処理装置において、 前記結果図形のランレングス型データの色値は、前記追
加図形の色値に前記追加図形の透過率αを乗じた値と前
記下地図形の色値に(1−α)を乗じた値とを加えた値
であることを特徴とする描画処理装置。 - 【請求項4】下地図形に追加した追加図形を通して前記
下地図形の色を所定の透過率で透過させる透過合成機能
を有する描画処理装置であって、 描画データがベクターデータと所定の透過率データとで
表現された前記下地図形及び前記追加図形を記憶する記
憶手段と、前記記憶手段から前記下地図形と前記追加図
形のベクターデータをスキャンライン毎に取り出して、
前記所定の透過率データに基づき透過合成データを生成
する透過合成処理手段と、 前記透過合成データに基づいてラスターデータを生成し
て出力する出力手段とを備えることを特徴とする描画処
理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19711296A JP3692639B2 (ja) | 1996-07-08 | 1996-07-08 | 描画処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19711296A JP3692639B2 (ja) | 1996-07-08 | 1996-07-08 | 描画処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1020849A true JPH1020849A (ja) | 1998-01-23 |
| JP3692639B2 JP3692639B2 (ja) | 2005-09-07 |
Family
ID=16368936
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19711296A Expired - Fee Related JP3692639B2 (ja) | 1996-07-08 | 1996-07-08 | 描画処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3692639B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008228168A (ja) * | 2007-03-15 | 2008-09-25 | Fuji Xerox Co Ltd | 画像処理装置およびプログラム |
| JP2023005925A (ja) * | 2021-06-29 | 2023-01-18 | 有限会社福田屋 | デザイン作成システム、コンピュータプログラム |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05211601A (ja) * | 1992-01-30 | 1993-08-20 | Dainippon Screen Mfg Co Ltd | 線画データ合成装置 |
| JPH05244393A (ja) * | 1992-02-26 | 1993-09-21 | Dainippon Screen Mfg Co Ltd | 線画データ合成装置 |
| JPH0728986A (ja) * | 1993-07-09 | 1995-01-31 | Fuji Xerox Co Ltd | 画像合成処理装置 |
| JPH07282274A (ja) * | 1994-04-04 | 1995-10-27 | Mitsubishi Electric Corp | グラフィック表示装置 |
-
1996
- 1996-07-08 JP JP19711296A patent/JP3692639B2/ja not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05211601A (ja) * | 1992-01-30 | 1993-08-20 | Dainippon Screen Mfg Co Ltd | 線画データ合成装置 |
| JPH05244393A (ja) * | 1992-02-26 | 1993-09-21 | Dainippon Screen Mfg Co Ltd | 線画データ合成装置 |
| JPH0728986A (ja) * | 1993-07-09 | 1995-01-31 | Fuji Xerox Co Ltd | 画像合成処理装置 |
| JPH07282274A (ja) * | 1994-04-04 | 1995-10-27 | Mitsubishi Electric Corp | グラフィック表示装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008228168A (ja) * | 2007-03-15 | 2008-09-25 | Fuji Xerox Co Ltd | 画像処理装置およびプログラム |
| US8259347B2 (en) | 2007-03-15 | 2012-09-04 | Fuji Xerox Co., Ltd. | Image processing apparatus and computer readable medium |
| JP2023005925A (ja) * | 2021-06-29 | 2023-01-18 | 有限会社福田屋 | デザイン作成システム、コンピュータプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3692639B2 (ja) | 2005-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3919754B2 (ja) | 画素順次描画システムにおいて実行される合成演算回数の削減法 | |
| JP4343344B2 (ja) | ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法 | |
| US7023439B2 (en) | Activating a filling of a graphical object | |
| JPH0244482A (ja) | ラスタ化方法 | |
| JPH11259671A (ja) | 画像表示方法及びそれを実行する画像表示装置 | |
| EP1847965A1 (en) | Plotting device and plotting method | |
| JP5183286B2 (ja) | 文字表示装置 | |
| KR100376196B1 (ko) | 아웃라인 스무딩 처리 방법, 장치 및 기억매체 | |
| EP0344686A2 (en) | Clipping process and processor | |
| JP3692639B2 (ja) | 描画処理装置 | |
| JP2676116B2 (ja) | 画像データ処理方法および装置 | |
| EP0670560B1 (en) | A method for sorting polygon data, a video game machine employing the same and acomputer program performing the method | |
| JP3375069B2 (ja) | 描画処理装置 | |
| CN112419145A (zh) | 一种图像数据处理方法、装置、设备及存储介质 | |
| JPH1021415A (ja) | 図形処理装置並びに図形処理方法 | |
| JP2007122188A (ja) | 画像形成装置及び画像処理方法、並びにプログラム | |
| JP2003099770A (ja) | データ変換装置およびその方法、並びに当該方法を用いたプログラム | |
| JP2782904B2 (ja) | 多角形塗りつぶし方式 | |
| JP2886702B2 (ja) | アウトラインフォント処理装置 | |
| JP3139805B2 (ja) | 画像処理方法及びその装置 | |
| JPH08305865A (ja) | 図形描画装置 | |
| JP5760728B2 (ja) | 画像処理装置、画像形成装置、及びプログラム | |
| JPH06168337A (ja) | 塗り潰し処理方法 | |
| JPS6117189A (ja) | 図形処理装置 | |
| JP2012133765A (ja) | 画像処理装置、および画像処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040708 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050531 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050613 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090701 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120701 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130701 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |