JP3089906B2 - Drawing equipment - Google Patents

Drawing equipment

Info

Publication number
JP3089906B2
JP3089906B2 JP05190715A JP19071593A JP3089906B2 JP 3089906 B2 JP3089906 B2 JP 3089906B2 JP 05190715 A JP05190715 A JP 05190715A JP 19071593 A JP19071593 A JP 19071593A JP 3089906 B2 JP3089906 B2 JP 3089906B2
Authority
JP
Japan
Prior art keywords
edge list
pattern
list cell
cell
clip
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
JP05190715A
Other languages
Japanese (ja)
Other versions
JPH0721396A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP05190715A priority Critical patent/JP3089906B2/en
Publication of JPH0721396A publication Critical patent/JPH0721396A/en
Application granted granted Critical
Publication of JP3089906B2 publication Critical patent/JP3089906B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、入力されたデータから
ラスター情報に変換する際に、パターンによる塗りつぶ
し処理を行なう描画装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing apparatus which performs a pattern filling process when converting input data into raster information.

【0002】[0002]

【従来の技術】近年、コンピュータグラフィックスやD
TPでは、入力データ、例えばベクター情報を、ピクセ
ルマップ(ビットマップ)などのラスター情報に変換し
て、階調化およびカラー化されたディスプレイやプリン
タに出力する処理を行なっていてる。このような装置に
おいては、ベクター図形の内部をあるパターンを使って
塗りつぶす処理を行なっている。例えば、特開平3−1
71379号公報には、塗りつぶしに用いるパターンの
作成についての記載がある。
2. Description of the Related Art In recent years, computer graphics and digital
In the TP, a process of converting input data, for example, vector information, into raster information such as a pixel map (bitmap) and outputting it to a gradation or color display or printer is performed. In such an apparatus, a process of painting the inside of a vector graphic using a certain pattern is performed. For example, JP-A-3-1
JP-A-71379 describes the creation of a pattern used for filling.

【0003】このようなパターンによる塗りつぶし処理
を行なう場合に、例えば、特開昭63−136278号
公報では、塗りつぶしに用いるパターンをピクセルマッ
プパターンとして保持し、このパターンを塗りつぶす領
域に転送することにより行なっている。さらに、任意の
形状の塗りつぶし領域に対応するため、ビットごとにパ
ターンを描くかどうかを判断するためのマスクパターン
もビットマップとして保持し、パターンによる塗りつぶ
し描画の際には、塗りつぶし描画位置に対応するピクセ
ルマップのデータとマスクパターンのデータを論理演算
して、その結果を用いて塗りつぶしを行なう方法も開発
されている。
[0003] For example, in Japanese Patent Application Laid-Open No. 63-136278, a pattern filling process is performed by holding a pattern used for filling as a pixel map pattern and transferring this pattern to a region to be filled. ing. Furthermore, in order to support a filled area of an arbitrary shape, a mask pattern for determining whether or not to draw a pattern for each bit is also held as a bitmap. A method has been developed in which pixel map data and mask pattern data are logically operated, and the result is used to paint.

【0004】しかし、塗りつぶしに用いるパターンは1
種類ではない場合が多く、複数の塗りつぶしパターンの
それぞれに対応したピクセルマップとマスクのためのビ
ットマップデータを保持するには、非常に大きなメモリ
が必要となる。また、描画時にマスクビットに対する論
理演算を1ピクセルごとに行なう必要があるため、パタ
ーンの塗りつぶしに要する時間も大きい。
However, the pattern used for filling is 1
In many cases, the type is not a type, and a very large memory is required to hold bitmap data for a pixel map and a mask corresponding to each of a plurality of fill patterns. In addition, since it is necessary to perform a logical operation on the mask bits for each pixel at the time of drawing, the time required for filling the pattern is long.

【0005】[0005]

【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、入力されたデータからラス
ター情報に変換する際に、パターンによる塗りつぶし処
理を行なう描画装置において、使用するメモリを大幅に
減らすとともに、高速な処理が可能な描画装置を提供す
ることを目的とするものである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and has been developed in consideration of the above-described circumstances. A memory used in a drawing apparatus which performs a pattern filling process when converting input data into raster information is described. It is an object of the present invention to provide a drawing apparatus capable of performing high-speed processing while greatly reducing the number of pixels.

【0006】[0006]

【課題を解決するための手段】本発明は、描画装置にお
いて、入力されたデータからエッジリストを生成するエ
ッジリスト生成手段と、塗りつぶしに用いるパターンを
エッジリストとして記憶するパターン記憶部と、前記エ
ッジリスト生成手段により生成されたエッジリストと前
記パターン記憶部に記憶されているパターンのエッジリ
ストとをマージ処理するパターンマージ手段と、前記パ
ターンマージ手段によりマージ処理されたエッジリスト
を用いて出力処理を行なう出力処理手段を有し、前記塗
りつぶしに用いるパターンを用いて塗りつぶし描画を行
うことを特徴とするものである。パターンマージ手段
は、マージ処理したエッジリストを前記パターン記憶部
に対して新たな塗りつぶしに用いるパターンとして記憶
させる機能を有するように構成することができる。
According to the present invention, in a drawing apparatus, an edge list generating means for generating an edge list from input data, a pattern storage unit for storing a pattern used for filling as an edge list, A pattern merging unit configured to merge the edge list generated by the list generating unit with the edge list of the pattern stored in the pattern storage unit; and performing an output process using the edge list merged by the pattern merging unit. And an output processing means for performing a fill drawing using the pattern used for the fill. The pattern merging means may be configured to have a function of storing the merged edge list in the pattern storage unit as a pattern to be used for new filling.

【0007】[0007]

【作用】本発明によれば、塗りつぶしに用いるパターン
データをエッジリストというデータでパターン記憶部に
保持することによって、塗りつぶしに用いるパターンデ
ータを記憶しておくために必要なメモリ量を削減でき
る。また、パターンの描画時には、パターン記憶部に保
持されているパターンデータのエッジリストと、入力さ
れた塗りつぶされるパターンのエッジリストをパターン
マージ手段によりマージ処理を行ない、マージ処理され
たエッジリストに従い、各エッジ間の描画処理を行なう
ことにより、所望の画像を得ることができる。このと
き、塗りつぶし処理はエッジリストのマージ処理を行な
うのみであるので、1ピクセルごとの論理演算を行なう
場合に比べ、パターンによる塗りつぶし描画を高速に行
なうことができる。エッジリストは、座標データやラン
レングスデータ、および、対応する色情報等により構成
することができる。また、同様にしてパターンマージ手
段でマージ処理を行ったエッジリストを、パターン記憶
部に対して記憶させることによって、塗りつぶしに用い
るパターンデータの登録を行うことができる。
According to the present invention, the amount of memory required to store the pattern data used for filling can be reduced by storing the pattern data used for filling in the pattern storage unit as data called an edge list. Further, at the time of drawing a pattern, the edge list of the pattern data stored in the pattern storage unit and the edge list of the input pattern to be filled are merged by a pattern merging unit, and each is merged according to the merged edge list. By performing drawing processing between edges, a desired image can be obtained. At this time, since the filling process only performs the merging process of the edge list, the filling drawing by the pattern can be performed at a higher speed than the case where the logical operation is performed for each pixel. The edge list can be composed of coordinate data, run-length data, and corresponding color information. Similarly, by storing the edge list that has been merged by the pattern merging unit in the pattern storage unit, it is possible to register the pattern data used for filling.

【0008】[0008]

【実施例】図1は、本発明の描画装置の一実施例を含む
システムのブロック構成図である。図中、1はパラメー
タ記憶部、2は描画入力部、3はベクター生成部、4は
フォントデータ記憶部、5はエッジリスト生成部、6は
クリップ処理部、7はクリップメモリ、8は色付け処理
部、9はパターンメモリ、10はエッジリストマージ
部、11はページメモリ、12はラスタライズ部、13
はバッファメモリ、14は出力装置である。
FIG. 1 is a block diagram of a system including an embodiment of a drawing apparatus according to the present invention. In the figure, 1 is a parameter storage unit, 2 is a drawing input unit, 3 is a vector generation unit, 4 is a font data storage unit, 5 is an edge list generation unit, 6 is a clip processing unit, 7 is a clip memory, and 8 is a coloring process. , 9 is a pattern memory, 10 is an edge list merge unit, 11 is a page memory, 12 is a rasterize unit, 13
Is a buffer memory, and 14 is an output device.

【0009】描画入力部2は、外部からの入力を受け付
け、コマンドの解釈を行なう。入力されるコマンドとし
ては、グラフィックスや文字等の描画やクリップ指示等
のプリミティブ描画コマンドや、パラメータのセットを
行なう描画パラメータコマンドなどがある。受け付けた
コマンドが描画パラメータコマンドの場合には、パラメ
ータに値をセットするために、パラメータ記憶部1へセ
ットコマンドを送る。図2は、パラメータの一例の説明
図である。セットされるパラメータとしては、例えば、
図2に示すように、座標変換の時に使用する変換マトリ
クスの要素、描画する図形の色、塗りつぶしパターンの
パターン番号、相対座標指定を行なう際に用いる現在の
座標値、描画する線の線幅および線端の形状、描画する
線を接続する場合の接続点における接続形状、文字を描
画する際のタイプフェース、生成したエッジリストの出
力先として出力機器に出力するか塗りつぶしに用いるパ
ターンとして登録するかの情報などがある。もちろん、
このほかのパラメータも存在するが、ここでは省略す
る。
The drawing input unit 2 receives an external input and interprets a command. Input commands include primitive drawing commands such as drawing graphics and characters, clip instructions, and drawing parameter commands for setting parameters. If the received command is a drawing parameter command, a set command is sent to the parameter storage unit 1 to set a value in the parameter. FIG. 2 is an explanatory diagram of an example of a parameter. As parameters to be set, for example,
As shown in FIG. 2, the elements of the transformation matrix used for coordinate transformation, the color of the figure to be drawn, the pattern number of the fill pattern, the current coordinate value used for specifying relative coordinates, the line width of the line to be drawn, and Line end shape, connection shape at the connection point when connecting the line to be drawn, typeface when drawing characters, whether to output to the output device as the output destination of the generated edge list or register it as a pattern used for filling Information. of course,
Other parameters exist, but are omitted here.

【0010】描画入力部2が受け付けたコマンドが、ク
リップコマンドを含むプリミティブ描画コマンドの場合
には、ベクター生成部3へ描画コマンドを送る。プリミ
ティブ描画コマンドには、グラフィックスの描画や文字
の描画等があり、グラフィックスの描画の場合にはベク
ターデータを、文字の描画の場合には文字コードをベク
ター生成部3へ送る。
When the command received by the drawing input unit 2 is a primitive drawing command including a clip command, the drawing command is sent to the vector generating unit 3. The primitive drawing commands include graphics drawing, character drawing, and the like. In the case of graphics drawing, vector data is sent, and in the case of character drawing, a character code is sent to the vector generation unit 3.

【0011】ベクター生成部3は、グラフィックスの描
画の場合は、ベクターデータをフィル処理とストローク
処理に分けて処理を行なう。フィル処理は、指定された
領域内を塗りつぶす処理である。また、ストローク処理
は、直線、曲線などを描画する処理である。フィル処理
の場合には、パラメータ記憶部1に設定されている変換
マトリクスを使って座標変換のみを行ない、ベクターデ
ータをエッジリスト生成部5へ送る。ストローク処理の
場合には、同じく座標変換を行なった後で、パラメータ
記憶部1に設定されている線幅、線端形状、接続形状等
の線属性を使って、ストロークの輪郭ベクターを発生し
て、エッジリスト生成部5へ送る。文字の描画の場合
は、文字コードと、パラメータ記憶部1に設定されてい
るタイプフェースに従って、フォントデータ記憶部4に
蓄えられているベクターフォントデータを取り出し、変
換マトリクスで座標変換を行ない、エッジリスト生成部
5へベクターデータを送る。
In the case of drawing graphics, the vector generation unit 3 performs processing by dividing vector data into a fill process and a stroke process. The fill process is a process of filling a designated area. The stroke process is a process of drawing a straight line, a curve, and the like. In the case of the fill process, only the coordinate conversion is performed using the conversion matrix set in the parameter storage unit 1, and the vector data is sent to the edge list generation unit 5. In the case of stroke processing, after performing coordinate conversion, a stroke contour vector is generated using line attributes such as line width, line end shape, and connection shape set in the parameter storage unit 1. To the edge list generation unit 5. In the case of drawing a character, the vector font data stored in the font data storage unit 4 is extracted according to the character code and the typeface set in the parameter storage unit 1, coordinate conversion is performed using a conversion matrix, and the edge list The vector data is sent to the generation unit 5.

【0012】エッジリスト生成部5は、ベクターデータ
に対してスキャンコンバージョンを行ない、ランレング
スデータのリストを生成する。ここでいうランレングス
とは、スキャンラインごとに描画プリミティブの内部の
開始点及び終点の座標のペアをその座標値でソートした
リスト構造のデータである。以下、これをエッジリスト
と呼ぶ。もちろん、開始点と長さのデータを有する、い
わゆるランレングスデータであってもよい。
The edge list generating section 5 performs scan conversion on vector data to generate a list of run-length data. Here, the run length is data of a list structure in which a pair of coordinates of a start point and an end point inside a drawing primitive is sorted by the coordinate value for each scan line. Hereinafter, this is called an edge list. Of course, it may be so-called run-length data having data of the starting point and the length.

【0013】クリップ処理部6では、クリップ領域を示
すベクターデータを、グラフィックスの描画の場合と同
じように処理することにより、クリップエッジリストを
生成し、あらかじめクリップメモリ7に蓄えておく。そ
のクリップエッジリストと描画プリミティブのエッジリ
ストと比較し、クリップする領域外の開始点、終点の座
標値をクリップ領域の端の座標に修正するとによって、
クリップ処理を行なう。クリップ処理が行われたエッジ
リストは、色付け処理部8へ送られる。
The clip processing section 6 processes the vector data indicating the clip area in the same manner as in the case of drawing graphics, thereby generating a clip edge list and storing it in the clip memory 7 in advance. By comparing the clip edge list with the edge list of the drawing primitive and correcting the coordinate values of the start point and end point outside the clipping area to the coordinates of the edge of the clip area,
Perform clip processing. The edge list on which the clip processing has been performed is sent to the coloring processing unit 8.

【0014】色付け処理部8では、パラメータ記憶部1
に設定されている色がデバイスに依存したコンスタント
カラーの場合には、各エッジリストに対して、そのコン
スタントカラーが格納された色値アドレスへのポインタ
を与える。もし、パターンによる塗りつぶしの場合に
は、パラメータ記憶部1に設定されているパターン番号
を参照し、あらかじめ生成されたパターンのエッジリス
トと入力されたエッジリストと比較することによって、
パターンによる塗りつぶし処理を行なう。その後、エッ
ジリストは、エッジリストマージ部10へ送られる。
The coloring processing section 8 includes a parameter storage section 1
Is a constant color depending on the device, a pointer to a color value address where the constant color is stored is given to each edge list. If the pattern is to be painted, the pattern number set in the parameter storage unit 1 is referred to, and the edge list of the pattern generated in advance is compared with the input edge list, thereby obtaining
Performs a filling process using a pattern. Thereafter, the edge list is sent to the edge list merging unit 10.

【0015】エッジリストマージ部10は、パラメータ
記憶部1に設定されている出力先を参照し、出力機器へ
のページ出力の場合と、塗りつぶしに用いるパターンと
して登録する場合に分けて処理を行なう。ページ出力の
場合には、ページメモリ11に既に蓄えられている1ペ
ージ全体のエッジリストと、現在入力されたプリミティ
ブのエッジリストの位置関係を比較して、重なりのある
場合には、現在入力されたエッジリストを優先して、ペ
ージメモリ11に蓄えられたエッジリストを作り直し、
1ページのデータが終了するまでは、ページメモリ11
に格納する。また、パターンとして登録する場合には、
パターンメモリ9に蓄えられた指定されたパターンのエ
ッジリストとプリミティブのエッジリストを、ページ出
力の時と同じマージ方法でマージして、パターンメモリ
9のパターンエッジリストを作り直し、パターンメモリ
9に格納する。
The edge list merging unit 10 refers to the output destination set in the parameter storage unit 1 and performs processing for page output to an output device and for registration as a pattern used for filling. In the case of page output, the positional relationship between the edge list of the entire page already stored in the page memory 11 and the edge list of the currently input primitive is compared. The edge list stored in the page memory 11 is re-created with priority given to the edge list
Until the data of one page is completed, the page memory 11
To be stored. When registering as a pattern,
The edge list of the designated pattern and the edge list of the primitive stored in the pattern memory 9 are merged by the same merge method as in the page output, and the pattern edge list of the pattern memory 9 is recreated and stored in the pattern memory 9. .

【0016】ラスタライズ部12は、ページメモリ11
から1ページ分のエッジリストをスキャンラインごとに
読み出し、バッファメモリ13にスキャンラインごとに
ラスター展開した結果を書き込む。出力装置14は、バ
ッファメモリ13からプリンタの走査に同期して、ラス
ターデータを読み出し、出力を行なう。出力装置14と
しては、プリンタやディスプレイなど、種々の出力装置
を用いることができる。また、ネットワークなどを介し
て他のワークステーションに送信したり、記憶装置にそ
のまま格納しておくことも可能である。バッファメモリ
13は、出力装置14に合わせて、適宜用いればよく、
不要であればなくてもよい。
The rasterizing unit 12 includes a page memory 11
, The edge list for one page is read out for each scan line, and the result of raster development for each scan line is written to the buffer memory 13. The output device 14 reads and outputs raster data from the buffer memory 13 in synchronization with the scanning of the printer. Various output devices such as a printer and a display can be used as the output device 14. Further, it is also possible to transmit the data to another workstation via a network or the like, or to store the data in a storage device as it is. The buffer memory 13 may be used as appropriate according to the output device 14.
It is not necessary if it is not necessary.

【0017】エッジリスト生成部5で生成されるエッジ
リストの生成処理について説明する。図3は、エッジリ
ストの生成の一例の説明図である。図3(A)に示すよ
うな、ある幅を有する曲線のベクターデータがエッジリ
スト生成部5に入力されると、スキャンライン、ここで
は水平方向のラインごとに、開始点、終点のアドレスを
求める。図3(A)の水平線がスキャンラインであり、
スキャンラインの左右の黒丸が始点、終点を示してい
る。求められた開始点、終点の座標は、図3(B)に示
すように、スキャンラインのy座標、開始点と終点のx
座標、色アドレスの増分、色アドレスへのポインタ等の
情報を組にして、エッジリストを作成する。
The process of generating an edge list generated by the edge list generation unit 5 will be described. FIG. 3 is an explanatory diagram of an example of generation of an edge list. When vector data of a curve having a certain width as shown in FIG. 3A is input to the edge list generation unit 5, addresses of a start point and an end point are obtained for each scan line, here, a horizontal line. . The horizontal line in FIG. 3A is a scan line,
Black circles on the left and right of the scan line indicate the start point and the end point. The obtained coordinates of the start point and the end point are, as shown in FIG. 3B, the y coordinate of the scan line and the x point of the start point and the end point.
An edge list is created by combining information such as coordinates, increments of color addresses, and pointers to color addresses.

【0018】クリップ処理部6において行われるクリッ
プ処理の動作を説明する。図4、図5は、クリップ処理
部6の動作の一例を示すフローチャート、図6は、2つ
の区間の関係の説明図である。クリップ処理部6では、
クリップメモリ7に格納されているクリップエッジリス
トに基づき、エッジリスト生成部5で生成されたエッジ
リストに対してクリップ処理を行なう。クリップ処理
は、スキャンラインごとに行われる。図4,図5には、
1本のスキャンラインに対するクリップ処理を示してい
る。以下の説明中、クリップエッジリストセルとは、ク
リップすべき1つの区間を示している。また、エッジリ
ストセルとは、開始点から終点までの描画すべき1つの
区間を示している。これらのクリップエッジリストセル
及びエッジリストセルは、それぞれ、座標の小さいもの
から順に並べられているものとする。クリップ処理は、
クリップエッジリストセルとエッジリストセルとの区間
の関係により、それぞれ対応した処理を行なう。2つの
セルの区間の関係としては、図6に示すように、6つの
場合に分類している。クリップエッジリストセルで指定
された区間のみ、画像が出力され、それ以外の区間の画
像は削除される。
The operation of the clip processing performed by the clip processing section 6 will be described. 4 and 5 are flowcharts showing an example of the operation of the clip processing unit 6, and FIG. 6 is an explanatory diagram of the relationship between two sections. In the clip processing unit 6,
Based on the clip edge list stored in the clip memory 7, clip processing is performed on the edge list generated by the edge list generation unit 5. Clip processing is performed for each scan line. 4 and 5,
The clip processing for one scan line is shown. In the following description, the clip edge list cell indicates one section to be clipped. The edge list cell indicates one section to be drawn from the start point to the end point. It is assumed that these clip edge list cells and edge list cells are arranged in ascending order of coordinates. Clip processing is
According to the relationship between the sections of the clip edge list cell and the edge list cell, corresponding processing is performed. As shown in FIG. 6, the section between the two cells is classified into six cases. The image is output only in the section specified by the clip edge list cell, and the images in the other sections are deleted.

【0019】まず、図4のS21において、処理を行な
うスキャンラインにクリップエッジリストセルがあるか
否かを判定する。1スキャンライン中に複数のクリップ
すべき区間が存在する場合もある。もし、クリップエッ
ジリストセルが存在しない場合には、クリップ処理を行
なう必要がないので、S22において、当該スキャンラ
インのエッジリストセルをすべて削除し、当該スキャン
ラインの処理を終了する。クリップエッジリストセルが
存在する場合には、S23において、スキャンラインに
存在する最初のクリップエッジリストセルを取り出し、
現在のクリップエッジリストセルとする。
First, in S21 of FIG. 4, it is determined whether or not there is a clip edge list cell on a scan line to be processed. There may be a plurality of sections to be clipped in one scan line. If there is no clip edge list cell, there is no need to perform clip processing, so in step S22, all edge list cells of the scan line are deleted, and the processing of the scan line ends. If there is a clip edge list cell, the first clip edge list cell existing on the scan line is extracted in S23,
Make the current clip edge list cell.

【0020】次に、S24において、当該スキャンライ
ンにエッジリストセルがあるか否かを判定する。もし、
エッジリストセルが存在しない場合には、描画すべきプ
リミティブが存在しないのであるから、S25におい
て、クリップエッジリストセルを解放し、当該スキャン
ラインの処理を終了する。エッジリストセルが存在する
場合には、S26において、スキャンラインに存在する
最初のエッジリストセルを取り出し、現在のエッジリス
トセルとする。
Next, in S24, it is determined whether or not there is an edge list cell in the scan line. if,
If there is no edge list cell, there is no primitive to be drawn, so in step S25, the clip edge list cell is released, and the processing of the scan line ends. If there is an edge list cell, in step S26, the first edge list cell existing on the scan line is extracted and set as the current edge list cell.

【0021】上述のようにしてセットされた現在のクリ
ップエッジリストセルと現在のエッジリストセルに基づ
き、S27において、クリップエッジリストセルの開始
点をcsx、終点をcex、S28において、エッジリ
ストセルの開始点をsx、終点をexとする。以下、こ
の座標の位置関係から、クリップ処理を行なう。
Based on the current clip edge list cell and the current edge list cell set as described above, the start point of the clip edge list cell is csx, the end point is cex in S27, and the edge list cell is The start point is sx and the end point is ex. Hereinafter, clip processing is performed based on the positional relationship of the coordinates.

【0022】S29において、クリップエッジリストセ
ルの開始点csxとエッジリストセルの終点exを比較
し、クリップエッジリストセルの開始点csxのほうが
大きい場合、すなわち、図6(A)に示す関係の場合に
は、現在のエッジリストセルがクリップエッジリストセ
ルと重複していないことを示しているので、出力すべき
画像はなく、S30において、現在のエッジリストセル
を削除し、次のエッジリストセルを現在のエッジリスト
セルにセットして、S41へ進む。
In step S29, the start point csx of the clip edge list cell is compared with the end point ex of the edge list cell. If the start point csx of the clip edge list cell is larger, that is, the relationship shown in FIG. Indicates that the current edge list cell does not overlap the clip edge list cell, so there is no image to output, and in S30, the current edge list cell is deleted and the next edge list cell is deleted. The current edge list cell is set, and the process proceeds to S41.

【0023】S29の条件に適合しない場合には、S3
1において、クリップエッジリストセルの開始点csx
がエッジリストセルの開始点以上であり、かつ、クリッ
プエッジリストセルの終点cexがエッジリストセルの
終点より大きく、かつ、クリップエッジリストセルの開
始点csxがエッジリストセルの終点ex以下であるか
否かが判定される。この条件は、図6(B)に示すよう
に、クリップエッジリストセルの開始点がエッジリスト
セルの区間内にあり、また、エッジリストセルの終点が
クリップエッジリストセルの区間内にあるような位置関
係の場合を判定している。この場合には、エッジリスト
セルとクリップエッジリストセルの重なっている部分の
みを有効とし、それ以外の部分を削除する必要があるの
で、S32において、エッジリストセルの区間をクリッ
プエッジリストセルの開始点csxからエッジリストセ
ルの終点exまでとするように、エッジリストセルを開
始点sxをクリップエッジリストセルの開始点csxに
セットして、S41へ進む。
If the condition of S29 is not satisfied, the program goes to S3
1, the start point csx of the clip edge list cell
Is greater than or equal to the start point of the edge list cell, the end point cex of the clip edge list cell is greater than the end point of the edge list cell, and the start point csx of the clip edge list cell is less than or equal to the end point ex of the edge list cell. It is determined whether or not. This condition is such that, as shown in FIG. 6B, the start point of the clip edge list cell is in the section of the edge list cell, and the end point of the edge list cell is in the section of the clip edge list cell. The case of the positional relationship is determined. In this case, only the overlapping portion of the edge list cell and the clip edge list cell must be valid, and the other portions need to be deleted. In S32, the section of the edge list cell is set to the start of the clip edge list cell. The start point sx of the edge list cell is set to the start point csx of the clip edge list cell so as to extend from the point csx to the end point ex of the edge list cell, and the process proceeds to S41.

【0024】S31の条件にも適合しない場合には、S
33において、クリップエッジリストセルの開始点cs
xがエッジリストセルの開始点sx以下であり、かつ、
クリップエッジリストセルの終点cexがエッジリスト
セルの終点ex以上であるか否かが判定される。この条
件は、図6(C)に示すように、エッジリストセルの区
間がクリップエッジリストセルの区間に含まれてしまう
場合を示している。この場合には、エッジリストセルは
すべて有効であるので、そのまま次のエッジリストセル
の処理に移行すべく、S34において、次のエッジリス
トセルを現在のエッジリストセルとして、S41へ進
む。
If the condition of S31 is not satisfied,
33, the start point cs of the clip edge list cell
x is equal to or less than the start point sx of the edge list cell, and
It is determined whether or not the end point cex of the clip edge list cell is equal to or larger than the end point ex of the edge list cell. This condition indicates a case where the section of the edge list cell is included in the section of the clip edge list cell as shown in FIG. In this case, since all the edge list cells are valid, in S34, the process proceeds to S41 with the next edge list cell as the current edge list cell in order to shift to the processing of the next edge list cell.

【0025】S33の条件にも適合しない場合には、S
35において、クリップエッジリストセルの開始点cs
xがエッジリストセルの開始点sx以上であり、かつ、
クリップエッジリストセルの終点cexがエッジリスト
セルの終点ex以下であるか否かが判定される。この条
件は、図6(D)に示すように、エッジリストセルの区
間内にクリップエッジリストセルの区間が含まれる場合
を示している。この場合には、エッジリストセルのう
ち、クリップエッジリストセルの区間は少なくとも有効
となる。S36において、まず、エッジリストセルの区
間のうち、クリップエッジリストセルの区間を有効とす
るように、エッジリストセルの開始点sxをクリップエ
ッジリストセルの開始点csxとし、エッジリストセル
の終点exをエッジリストセルの終点cexとするよう
にセットする。また、クリップエッジリストセルよりも
座標の大きい部分のエッジリストセルについては、べつ
のクリップエッジリストセルとの関係を判断する必要が
ある。そのため、残りの部分のエッジリストセルを作成
し、次のエッジリストセルとして挿入するとともに、こ
れを現在のエッジリストセルにする。作成するエッジリ
ストセルの開始点はクリップエッジリストセルの終点の
次の点とし、終点はもとのエッジリストセルの終点とす
る。そして、次のクリップエッジリストセルを現在のク
リップエッジリストセルとして、S41へ進む。これ以
降の処理により、新たに作成されたエッジリストセル
と、次のクリップエッジリストセルとの比較処理が行わ
れることになる。
If the condition of S33 is not satisfied, S
At 35, the starting point cs of the clip edge list cell
x is greater than or equal to the start point sx of the edge list cell, and
It is determined whether the end point cex of the clip edge list cell is equal to or smaller than the end point ex of the edge list cell. This condition indicates a case where a section of a clip edge list cell is included in a section of an edge list cell as shown in FIG. In this case, at least the section of the clip edge list cell among the edge list cells is valid. In S36, first, the start point sx of the edge list cell is set to the start point csx of the clip edge list cell, and the end point ex of the edge list cell is set so that the section of the clip edge list cell is valid among the sections of the edge list cell. Is set as the end point cex of the edge list cell. In addition, it is necessary to determine the relationship between the edge list cell having a larger coordinate than the clip edge list cell and another clip edge list cell. Therefore, an edge list cell of the remaining portion is created and inserted as the next edge list cell, and is made the current edge list cell. The start point of the created edge list cell is the next point after the end point of the clip edge list cell, and the end point is the end point of the original edge list cell. Then, the process proceeds to S41 with the next clip edge list cell as the current clip edge list cell. By the subsequent processing, the newly created edge list cell is compared with the next clip edge list cell.

【0026】S35の条件に適合しない場合には、S3
7において、クリップエッジリストセルの開始点csx
がエッジリストセルの開始点sx以下であり、かつ、ク
リップエッジリストセルの終点cexがエッジリストセ
ルの終点ex以下であり、かつ、クリップエッジリスト
セルの終点cexがエッジリストセルの終点ex以上で
あるか否かが判定される。この条件は、図6(E)に示
すように、クリップエッジリストセルの終点がエッジリ
ストセルの区間内にあり、また、エッジリストセルの開
始点がクリップエッジリストセルの区間内にあるような
位置関係の場合を判定している。この場合には、エッジ
リストセルの開始点からクリップエッジリストセルの終
点までの区間が有効となる。他の区間については、次以
降のクリップエッジリストセルとの判定を行なう必要が
ある。そのため、S38において、まず、エッジリスト
セルの終点exをクリップエッジリストセルの終点ce
xにセットし、さらに、クリップエッジリストセルの終
点cexの次の点からもとのエッジリストセルの終点e
xまでの区間を有する新たなエッジリストセルを作成
し、現在のエッジリストセルの次に挿入するとともに、
これを現在のエッジリストセルにする。そして、次のク
リップエッジリストセルを現在のクリップエッジリスト
セルにして、S41へ進む。これ以降の処理により、新
たに作成されたエッジリストセルと、次のクリップエッ
ジリストセルとの比較処理が行われることになる。
If the condition of S35 is not satisfied, the program proceeds to S3
7, the start point csx of the clip edge list cell
Is less than or equal to the start point sx of the edge list cell, the end point cex of the clip edge list cell is less than or equal to the end point ex of the edge list cell, and the end point cex of the clip edge list cell is greater than or equal to the end point ex of the edge list cell. It is determined whether there is. This condition is such that the end point of the clip edge list cell is in the section of the edge list cell and the start point of the edge list cell is in the section of the clip edge list cell as shown in FIG. The case of the positional relationship is determined. In this case, a section from the start point of the edge list cell to the end point of the clip edge list cell is valid. For other sections, it is necessary to determine the next and subsequent clip edge list cells. Therefore, in S38, first, the end point ex of the edge list cell is set to the end point ce of the clip edge list cell.
x, and the end point e of the original edge list cell from the next point after the end point cex of the clip edge list cell.
Create a new edge list cell with a section up to x and insert it next to the current edge list cell,
Make this the current edge list cell. Then, the next clip edge list cell is set as the current clip edge list cell, and the process proceeds to S41. By the subsequent processing, the newly created edge list cell is compared with the next clip edge list cell.

【0027】S37の条件に適合しない場合には、S3
9において、クリップエッジリストセルの終点cexが
エッジリストセルの開始点sx以下であるか否かが判定
される。この条件は、図6(F)に示すように、現在の
クリップエッジリストセルの区間内にエッジリストセル
は含まれていない。しかし、別のクリップエッジリスト
セルと重複した区間を有する可能性があるので、S40
において、次のクリップエッジリストセルを現在のクリ
ップエッジリストセルとして、処理を続ける。
If the condition of S37 is not satisfied, the program proceeds to S3
At 9, it is determined whether the end point cex of the clip edge list cell is less than or equal to the start point sx of the edge list cell. Under this condition, as shown in FIG. 6F, no edge list cell is included in the section of the current clip edge list cell. However, since there is a possibility that there is a section overlapping with another clip edge list cell, S40
In, processing is continued with the next clip edge list cell as the current clip edge list cell.

【0028】上述の各条件の処理を行なった後、S41
において、現在のクリップエッジリストセルがnul
l、すなわち、当該スキャンラインのクリップエッジリ
ストが終了したか否かを判定し、終了した場合には、残
りのエッジリストは出力されないのですべて削除し、当
該スキャンラインの処理を終了する。現在のクリップエ
ッジリストセルが存在する場合には、S42において、
現在のエッジリストセルがnull、すなわち、当該ス
キャンラインのエッジリストセルが終了したか否かを判
定し、終了した場合には、当該スキャンラインの処理を
終了する。現在のクリップエッジリストセル及び現在の
エッジリストセルが存在する場合には、S27へ戻り、
判定処理をくり返し行なう。
After performing the processing of each of the above-described conditions, S41
, The current clip edge list cell is null
1, that is, whether or not the clip edge list of the scan line has been completed. If the clip edge list has been completed, the remaining edge list is not output and thus all are deleted, and the processing of the scan line is terminated. If the current clip edge list cell exists, in S42,
It is determined whether or not the current edge list cell is null, that is, whether or not the edge list cell of the scan line has been completed. If the edge list cell has been completed, the processing of the scan line is terminated. If the current clip edge list cell and the current edge list cell exist, the process returns to S27,
The determination process is repeated.

【0029】このようにして、1スキャンラインのクリ
ップ処理を行なう。このような1スキャンラインについ
ての処理をくり返し行ない、各プリミティブに対するク
リップ処理が行われる。クリップ処理の行われたエッジ
リストは色付け処理部8に送られる。
In this manner, the clip processing for one scan line is performed. Such processing for one scan line is repeated, and clip processing for each primitive is performed. The edge list on which the clip processing has been performed is sent to the coloring processing unit 8.

【0030】次に、色付け処理部8において行われる塗
りつぶし処理について説明する。上述のように、パター
ンによる塗りつぶしは、あらかじめ生成されパターンメ
モリ9に格納されているパターンエッジリストと、クリ
ップ処理部6から送られて来るエッジリストと比較し、
マージすることによって、パターンによる塗りつぶし処
理が行なわれる。
Next, the painting process performed in the coloring unit 8 will be described. As described above, the pattern filling is performed by comparing the pattern edge list generated in advance and stored in the pattern memory 9 with the edge list sent from the clip processing unit 6.
By performing the merging, a filling process using a pattern is performed.

【0031】まず、パターンエッジリストについて説明
する。図7は、パターンエッジリストの一例の説明図で
ある。パターンエッジリストは、塗りつぶしに用いるパ
ターンのエッジリストであり、エッジリスト自体の構成
は、上述の図3に示したものとほぼ同様である。すなわ
ち、1つのエッジリストのセルは、スキャンラインのy
座標、開始点のx座標、終点のx座標、色アドレスの増
分、色アドレスへのポインタ等の情報を有する。それに
加えて、パターンエッジリストは、1つのパターンの大
きさと、配置する場合の原点のオフセット座標を有す
る。例えば、図7(A)に示した例では、1つのパター
ンの大きさは10×8であり、その中に底辺8、高さ6
の三角形がある。このようなパターンのパターンエッジ
リストは、図7(B)に示すようになる。ここでは、オ
フセットの値は、(0,0)としている。
First, the pattern edge list will be described. FIG. 7 is an explanatory diagram of an example of the pattern edge list. The pattern edge list is an edge list of a pattern used for filling, and the configuration of the edge list itself is almost the same as that shown in FIG. That is, the cells of one edge list are the scan line y
It has information such as coordinates, x-coordinate of a start point, x-coordinate of an end point, increment of a color address, a pointer to a color address, and the like. In addition, the pattern edge list has the size of one pattern and the offset coordinates of the origin when the pattern is arranged. For example, in the example shown in FIG. 7A, the size of one pattern is 10 × 8, in which the bottom 8 and the height 6
There is a triangle. A pattern edge list of such a pattern is as shown in FIG. Here, the value of the offset is (0, 0).

【0032】次にパターンのマージ処理について説明す
る。図8乃至図10は、パターンエッジリストのマージ
処理の一例を示すフローチャート、図11は、エッジリ
ストセルとパターンエッジリストセルの関係の説明図で
ある。パターンメモリ9に格納されたパターンエッジリ
ストをもとに、プリミティブ内をパターンによって塗り
つぶす。プリミティブは、上述のようにエッジリストの
形式で与えられる。また、パターンも、パターンエッジ
リストの形式で与えられ、以下の処理では、スキャンラ
インの最大幅に展開され、その後、エッジリストとの比
較によってマージが行われる。ここで、エッジリストセ
ルとは、開始点から終点までの描画すべき1つの区間を
示しており、開始点をsx、終点をexとする。また、
パターンエッジリストセルとは、パターンの開始点から
終点までの区間を示しており、開始点をpsx、終点を
pexとする。これらのエッジリストセル及びパターン
エッジリストセルは、それぞれ、座標の小さいものから
順に並べられているものとする。パターンの大きさは、
x方向がoffsetx、y方向がoffsetyとす
る。
Next, the pattern merging process will be described. 8 to 10 are flowcharts showing an example of a pattern edge list merging process, and FIG. 11 is an explanatory diagram of a relationship between an edge list cell and a pattern edge list cell. Based on the pattern edge list stored in the pattern memory 9, the inside of the primitive is painted out with a pattern. Primitives are given in the form of an edge list as described above. The pattern is also given in the form of a pattern edge list. In the following processing, the pattern is expanded to the maximum width of the scan line, and then merged by comparison with the edge list. Here, the edge list cell indicates one section to be drawn from the start point to the end point, and the start point is sx and the end point is ex. Also,
The pattern edge list cell indicates a section from the start point to the end point of the pattern, where the start point is psx and the end point is pex. It is assumed that these edge list cells and pattern edge list cells are arranged in ascending order of coordinates. The size of the pattern is
The x direction is offsetx, and the y direction is offset.

【0033】まず、図8のS51において、エッジリス
トのスキャンラインslがプリミティブの大きさを越え
たか、すなわち、塗りつぶしの領域が終了したか否かを
判断し、終了していれば、処理を終了する。スキャンラ
インslが塗りつぶしを行なうラインであれば、S52
において、パターンエッジリストのスキャンラインpl
を求める。パターンエッジリストのスキャンラインpl
は、エッジリストのスキャンラインslをパターンのy
方向の大きさoffsetyで割ったときの余りとす
る。S53において、パターンエッジリストのスキャン
ラインplにパターンエッジリストセルが存在するか否
かを判定する。パターンエッジリストセルが存在しなけ
れば、パターンによる塗りつぶし処理を行なう必要がな
いので、S54において、エッジリストのスキャンライ
ンslをインクリメントして、S51へ戻る。パターン
エッジリストセルが存在する場合には、S55におい
て、パターンエッジリストのスキャンラインplに存在
するパターンエッジリストセルによって、スキャンライ
ンを満たすようにくり返し展開する。すなわち、スキャ
ンライン全体にパターンがくり返し配置されるように、
パターンエッジリストの開始点psx、終点pexに、
パターンのx方向の大きさoffsetxをくり返し足
しながら繋げて、スキャンライン全体のパターンエッジ
リストを作成する。そして、最初のパターンエッジリス
トセルを取り出し、現在のパターンエッジリストセルと
する。
First, in S51 of FIG. 8, it is determined whether or not the scan line sl of the edge list has exceeded the size of the primitive, that is, whether or not the area to be painted has been completed. I do. If the scan line sl is a line to be painted, S52
At the scan line pl in the pattern edge list
Ask for. Scan line pl of pattern edge list
Sets scan line sl of the edge list to pattern y
The remainder is obtained by dividing by the direction magnitude offsety. In S53, it is determined whether or not a pattern edge list cell exists on the scan line pl of the pattern edge list. If the pattern edge list cell does not exist, it is not necessary to perform the pattern filling process. In S54, the scan line sl in the edge list is incremented, and the process returns to S51. If the pattern edge list cell exists, in S55, the pattern edge list cell existing on the scan line pl of the pattern edge list is repeatedly developed so as to fill the scan line. That is, so that the pattern is repeatedly arranged over the entire scan line,
For the start point psx and end point pex of the pattern edge list,
A pattern edge list of the entire scan line is created by connecting the offsetsx of the pattern in the x direction repeatedly and repeatedly. Then, the first pattern edge list cell is taken out and set as the current pattern edge list cell.

【0034】S56において、エッジリストのスキャン
ラインsl内にエッジリストセルがあるか否かを判定す
る。もしなければ、塗りつぶすべき領域は存在しないの
で、S57において、エッジリストのスキャンラインs
lをインクリメントして、S51へ戻る。エッジリスト
セルが存在する場合には、S58において、最初のエッ
ジリストセルを現在のエッジリストセルとし、以下の比
較処理を行なう。
In S56, it is determined whether or not there is an edge list cell in the scan line sl of the edge list. If not, there is no area to be filled, so in step S57, the scan line s in the edge list
Increment l and return to S51. If an edge list cell exists, in S58, the first edge list cell is set as the current edge list cell, and the following comparison processing is performed.

【0035】S59乃至S79は、現在のエッジリスト
セルと現在のパターンエッジリストセルの比較処理であ
る。S59において、現在のパターンエッジリストセル
の開始点と終点を、それぞれ、psx、pexにセット
する。また、S60において、現在のエッジリストセル
の開始点と終点を、それぞれ、sx、exにセットす
る。これらの値により、図11に示すような区間の関係
に分けて処理を行なう。
Steps S59 to S79 are processing for comparing the current edge list cell with the current pattern edge list cell. In S59, the start point and the end point of the current pattern edge list cell are set to psx and pex, respectively. In S60, the start point and end point of the current edge list cell are set to sx and ex, respectively. Based on these values, the processing is performed by dividing the sections into the relations as shown in FIG.

【0036】S61において、パターンエッジリストセ
ルの開始点psxがエッジリストセルの終点exよりも
大きい場合、すなわち、図11(A)の場合には、エッ
ジリストセル内にはパターンは存在しないことを意味す
るので、エッジリストセル内へのパターンのマージは行
なわず、S62において、次のエッジリストセルを現在
のエッジリストセルとして、S77へ進む。
In S61, when the start point psx of the pattern edge list cell is larger than the end point ex of the edge list cell, that is, in the case of FIG. 11A, it is determined that no pattern exists in the edge list cell. Therefore, the pattern is not merged into the edge list cell, and in S62, the process proceeds to S77 with the next edge list cell as the current edge list cell.

【0037】S63では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以上であ
り、かつ、パターンエッジリストセルの終点pexがエ
ッジリストセルの終点exより大きく、かつ、パターン
エッジリストセルの開始点psxがエッジリストセルの
終点ex以下であるか否かを判断する。この条件は、図
11(B)に示す場合に相当し、パターンエッジリスト
セルの開始点を含む一部区間がエッジリストセルに含ま
れる場合である。この場合、エッジリストセルとパター
ンエッジリストセルの区間が重なる部分が、パターンに
よって塗りつぶされる領域となる。S64において、ま
ず、エッジリストセルの終点をパターンエッジリストセ
ルの開始点psxの手前の点、すなわち、psx−1と
してパターンエッジリストセルの開始点より小さい区間
を確定する。そして、新たなエッジリストセルの開始点
sxをパターンエッジリストセルの開始点psxとし、
終点exをもとのエッジリストセルの終点exとし、色
などの他の属性をパターンエッジリストセルと同じとし
たエッジリストを作成し、現在のエッジリストの次に挿
入する。この処理により、エッジリストセルの終点ex
までの処理は終了するので、挿入した新たなエッジリス
トセルの次のエッジリストセルを現在のエッジリストセ
ルにして、S77へ進む。このとき、パターンエッジリ
ストセルの残りの部分と、次のエッジリストセルとの比
較を行なうので、現在のパターンエッジリストセルはそ
のままである。
In S63, the start point psx of the pattern edge list cell is equal to or larger than the start point sx of the edge list cell, the end point pex of the pattern edge list cell is larger than the end point ex of the edge list cell, and It is determined whether the cell start point psx is equal to or less than the end point ex of the edge list cell. This condition corresponds to the case shown in FIG. 11B, and is a case where a partial section including the start point of the pattern edge list cell is included in the edge list cell. In this case, a portion where the section of the edge list cell and the section of the pattern edge list cell overlap is an area to be filled with the pattern. In S64, first, the end point of the edge list cell is set to a point before the start point psx of the pattern edge list cell, that is, a section smaller than the start point of the pattern edge list cell is determined as psx-1. Then, the start point sx of the new edge list cell is set as the start point psx of the pattern edge list cell,
An edge list is created in which the end point ex is set as the end point ex of the original edge list cell and other attributes such as color are the same as those of the pattern edge list cell, and inserted next to the current edge list. By this processing, the end point ex of the edge list cell
Since the processing up to this point is completed, the next edge list cell after the inserted new edge list cell is set as the current edge list cell, and the process proceeds to S77. At this time, the remaining part of the pattern edge list cell is compared with the next edge list cell, so that the current pattern edge list cell remains unchanged.

【0038】S65では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以上であ
り、かつ、パターンエッジリストセルの終点pexとエ
ッジリストセルの終点exが等しく、かつ、パターンエ
ッジリストセルの開始点psxがエッジリストセルの終
点ex以下であるか否かを判断する。この条件は、図1
1(C)に示す場合に相当し、パターンエッジリストセ
ルの区間がエッジリストセルに含まれ、双方の終点が一
致している場合である。この場合も、エッジリストセル
とパターンエッジリストセルの区間が重なる部分が、パ
ターンによって塗りつぶされる領域となる。S66にお
いて、まず、エッジリストセルの終点をパターンエッジ
リストセルの開始点psxの手前の点、すなわち、ps
x−1としてパターンエッジリストセルの開始点より小
さい区間を確定する。そして、新たなエッジリストセル
の開始点sxをパターンエッジリストセルの開始点ps
xとし、終点exをもとのエッジリストセルの終点ex
とし、色などの他の属性をパターンエッジリストセルと
同じとしたエッジリストを作成し、現在のエッジリスト
の次に挿入する。この処理により、エッジリストセルの
終点exまでの処理は終了するので、挿入した新たなエ
ッジリストセルの次のエッジリストセルを現在のエッジ
リストセルにする。また、パターンエッジリストセルも
終点pexまで到達したので、次のパターンエッジリス
トセルを現在のパターンエッジリストセルとして、S7
7へ進む。
In S65, the start point psx of the pattern edge list cell is equal to or larger than the start point sx of the edge list cell, the end point pex of the pattern edge list cell is equal to the end point ex of the edge list cell, and It is determined whether the cell start point psx is equal to or less than the end point ex of the edge list cell. This condition is shown in FIG.
This corresponds to the case shown in FIG. 1 (C), in which the section of the pattern edge list cell is included in the edge list cell, and both end points match. Also in this case, a portion where the section of the edge list cell and the section of the pattern edge list cell overlap is an area to be filled with the pattern. In S66, first, the end point of the edge list cell is set to a point before the start point psx of the pattern edge list cell, that is, ps
A section smaller than the start point of the pattern edge list cell is determined as x-1. Then, the start point sx of the new edge list cell is set to the start point ps of the pattern edge list cell.
x, and the end point ex of the original edge list cell
Then, an edge list is created in which other attributes such as color are the same as those of the pattern edge list cell, and inserted next to the current edge list. By this processing, the processing up to the end point ex of the edge list cell ends, so that the next edge list cell after the inserted new edge list cell is set as the current edge list cell. Further, since the pattern edge list cell has also reached the end point pex, the next pattern edge list cell is set as the current pattern edge list cell, and S7
Proceed to 7.

【0039】S67では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以上であ
り、かつ、パターンエッジリストセルの終点pexがエ
ッジリストセルの終点exより小さいか否かを判断す
る。この条件は、図11(D)に示す場合に相当し、パ
ターンエッジリストセルがエッジリストセルに含まれる
場合である。この場合、パターンエッジリストセルの区
間が、パターンによって塗りつぶされる領域となる。S
68において、まず、エッジリストセルの終点をパター
ンエッジリストセルの開始点psxの手前の点、すなわ
ち、psx−1としてパターンエッジリストセルの開始
点より小さい区間を確定する。そして、パターンエッジ
リストセルの区間を新たなエッジリストセルとするた
め、開始点sxをパターンエッジリストセルの開始点p
sxとし、終点exをパターンエッジリストセルの終点
pexとし、色などの他の属性をパターンエッジリスト
セルと同じとしたエッジリストを作成し、現在のエッジ
リストの次に挿入する。この処理により、エッジリスト
セルのうち、パターンエッジリストセルの終点pexま
での処理は終了するが、残りの区間は未処理であるの
で、残りの区間の新しいエッジリスト、すなわち、開始
点sxをパターンエッジリストセルの終点の次の点pe
x+1とし、終点exを現在のエッジリストセルの終点
exとするエッジリストセルを作成し、先に挿入したエ
ッジリストセルの次に挿入するとともに、このエッジリ
ストセルを現在のエッジリストセルとして、以後の処理
を行なう。この残りの区間の新しいエッジリストにおい
て、色などの属性は、もとのエッジリストの属性と同じ
とする。一方、次のパターンエッジリストセルを現在の
パターンエッジリストセルとして、次のパターンエッジ
リストセルについての処理に移る。そして、S77へ進
む。
In S67, it is determined whether or not the start point psx of the pattern edge list cell is equal to or larger than the start point sx of the edge list cell, and whether the end point pex of the pattern edge list cell is smaller than the end point ex of the edge list cell. . This condition corresponds to the case shown in FIG. 11D, where the pattern edge list cell is included in the edge list cell. In this case, the section of the pattern edge list cell is an area to be filled with the pattern. S
At 68, first, the end point of the edge list cell is set to a point before the start point psx of the pattern edge list cell, that is, a section smaller than the start point of the pattern edge list cell is determined as psx-1. Then, in order to set the section of the pattern edge list cell as a new edge list cell, the start point sx is set to the start point p of the pattern edge list cell.
sx, the end point ex as the end point pex of the pattern edge list cell, and an edge list in which other attributes such as color are the same as those of the pattern edge list cell are created and inserted next to the current edge list. By this processing, the processing up to the end point pex of the pattern edge list cell among the edge list cells is completed, but the remaining section is unprocessed, so the new edge list of the remaining section, that is, the start point sx is set to the pattern The next point pe after the end point of the edge list cell
x + 1, an edge list cell having the end point ex as the end point ex of the current edge list cell is created, inserted next to the previously inserted edge list cell, and this edge list cell is set as the current edge list cell. Is performed. In the new edge list of the remaining section, attributes such as colors are the same as those of the original edge list. On the other hand, the next pattern edge list cell is set as the current pattern edge list cell, and the process proceeds to the next pattern edge list cell. Then, the process proceeds to S77.

【0040】S69では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以下であ
り、かつ、パターンエッジリストセルの終点pexがエ
ッジリストセルの終点exより大きいか否かを判断す
る。この条件は、図11(E)に示す場合に相当し、パ
ターンエッジリストセルの区間にエッジリストセルが含
まれる場合である。この場合、エッジリストセルの区間
すべてに、パターンを展開することになる。S70にお
いて、エッジリストセルの開始点sx、終点exはその
ままにして、色など他の属性をパターンエッジリストセ
ルと同じとする。これにより、エッジリストセルの区間
の塗りつぶしが行われたことになる。そして、次のエッ
ジリストセルを現在のエッジリストセルとして、S77
へ進む。このとき、パターンエッジリストセルはそのま
まである。
At S69, it is determined whether or not the start point psx of the pattern edge list cell is equal to or less than the start point sx of the edge list cell, and whether the end point pex of the pattern edge list cell is larger than the end point ex of the edge list cell. . This condition corresponds to the case shown in FIG. 11E, in which the section of the pattern edge list cell includes an edge list cell. In this case, the pattern is developed in all the sections of the edge list cell. In S70, the start point sx and the end point ex of the edge list cell are left as they are, and other attributes such as color are the same as those of the pattern edge list cell. This means that the section of the edge list cell has been painted. Then, the next edge list cell is set as the current edge list cell, and S77
Proceed to. At this time, the pattern edge list cell remains as it is.

【0041】S71では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以下であ
り、かつ、パターンエッジリストセルの終点pexがエ
ッジリストセルの終点exと等しいか否かを判断する。
この条件は、図11(F)に示す場合に相当し、パター
ンエッジリストセルの区間にエッジリストセルが含ま
れ、終点が等しい場合である。この場合も、エッジリス
トセルの区間すべてに、パターンを展開することにな
る。S72において、エッジリストセルの開始点sx、
終点exはそのままにして、色など他の属性をパターン
エッジリストセルと同じとする。これにより、エッジリ
ストセルの区間の塗りつぶしが行われたことになる。そ
して、次のエッジリストセルを現在のエッジリストセル
とするとともに、次のパターンエッジリストセルを現在
のパターンエッジリストセルとして、次のエッジリスト
セル及びパターンエッジリストセルの処理に移行する。
そして、S77へ進む。
In S71, it is determined whether or not the start point psx of the pattern edge list cell is equal to or less than the start point sx of the edge list cell, and whether the end point pex of the pattern edge list cell is equal to the end point ex of the edge list cell. .
This condition corresponds to the case shown in FIG. 11F, in which the section of the pattern edge list cell includes the edge list cell and the end points are equal. Also in this case, the pattern is developed in all the sections of the edge list cell. In S72, the start point sx of the edge list cell,
The end point ex is left as it is, and other attributes such as color are the same as those of the pattern edge list cell. This means that the section of the edge list cell has been painted. Then, the next edge list cell is set as the current edge list cell, and the next pattern edge list cell is set as the current pattern edge list cell, and the processing shifts to the processing of the next edge list cell and the pattern edge list cell.
Then, the process proceeds to S77.

【0042】S73では、パターンエッジリストセルの
開始点psxがエッジリストセルの開始点sx以下であ
り、かつ、パターンエッジリストセルの終点pexがエ
ッジリストセルの終点exより小さく、かつ、パターン
エッジリストセルの終点pexがエッジリストセルの開
始点sx以上であるか否かを判断する。この条件は、図
11(G)に示す場合に相当し、エッジリストセルの開
始点からパターンエッジリストセルの終点までが、パタ
ーンによって塗りつぶされる領域となる。S74におい
て、まず、塗りつぶされる領域、すなわち、エッジリス
トセルの開始点sxを開始点とし、パターンエッジリス
トセルの終点pexを終点とする新たなエッジリストセ
ルを作成する。作成したエッジリストセルの色などの他
の属性は、パターンエッジリストセルの属性とする。作
成したエッジリストセルを現在のエッジリストセルの前
に挿入する。そして、現在のエッジリストセルの開始点
をパターンエッジリストセルの終点pexの次の点、す
なわち、pex+1として、残りの区間の判定を行な
う。また、次のパターンエッジリストセルを現在のパタ
ーンエッジリストセルにして、S77へ進む。
In S73, the start point psx of the pattern edge list cell is less than or equal to the start point sx of the edge list cell, the end point pex of the pattern edge list cell is smaller than the end point ex of the edge list cell, and It is determined whether or not the cell end point pex is equal to or greater than the start point sx of the edge list cell. This condition corresponds to the case shown in FIG. 11 (G), and the area from the start point of the edge list cell to the end point of the pattern edge list cell is a region to be filled with the pattern. In S74, first, a new edge list cell having a region to be filled, that is, a start point sx of an edge list cell as a start point and an end point pex of a pattern edge list cell as an end point is created. Other attributes such as the color of the created edge list cell are attributes of the pattern edge list cell. Insert the created edge list cell before the current edge list cell. Then, the start point of the current edge list cell is set to a point next to the end point pex of the pattern edge list cell, that is, pex + 1, and the remaining sections are determined. Further, the next pattern edge list cell is set as the current pattern edge list cell, and the process proceeds to S77.

【0043】S75では、パターンエッジリストセルの
終点pexがエッジリストセルの開始点sxよりも小さ
い場合、すなわち、図11(H)に示すように、重なる
部分のない場合には、現在のパターンエッジリストセル
によっては、現在のエッジリストセル内に塗りつぶしが
行なわれないことを意味するので、S76において、次
のパターンエッジリストセルを現在のパターンエッジリ
ストセルとして、S77へ進む。
In step S75, if the end point pex of the pattern edge list cell is smaller than the start point sx of the edge list cell, that is, if there is no overlapping portion as shown in FIG. Since it means that the current edge list cell is not painted depending on the list cell, in S76, the process proceeds to S77 with the next pattern edge list cell as the current pattern edge list cell.

【0044】上述の区間別の処理が終了すると、S77
において、現在のパターンエッジリストセルがnul
l、すなわち、パターンエッジリストのスキャンライン
pl中にパターンエッジリストセルが存在するか否かを
判定する。存在しない場合には、当該スキャンラインの
処理は終了したので、S78において、エッジリストの
スキャンラインslをインクリメントし、S51へ戻
り、次のスキャンラインについての処理を行なう。パタ
ーンエッジリストセルが存在する場合には、S79にお
いて、現在のエッジリストセルがnull、すなわち、
エッジリストのスキャンラインsl中にエッジリストセ
ルが存在するか否かを判定する。存在しない場合には、
当該スキャンラインには、塗りつぶしを行なう区間は存
在しないので、S80において、エッジリストのスキャ
ンラインslをインクリメントし、S51へ戻り、次の
スキャンラインについての処理を行なう。パターンエッ
ジリストセル及びエッジリストセルが存在する場合に
は、S59へ戻り、各セルの区間に応じた処理がくり返
し行われることになる。
When the processing for each section described above is completed, S77
, The current pattern edge list cell is null
1, that is, whether or not a pattern edge list cell exists in the scan line pl of the pattern edge list. If there is no scan line, the process of the scan line is terminated, so in step S78, the scan line sl in the edge list is incremented, and the process returns to step S51 to perform the process for the next scan line. If the pattern edge list cell exists, in S79, the current edge list cell is null, that is,
It is determined whether an edge list cell exists in the scan line sl of the edge list. If not,
Since there is no section to be filled in the scan line, in S80, the scan line sl in the edge list is incremented, the process returns to S51, and the process for the next scan line is performed. If there is a pattern edge list cell and an edge list cell, the process returns to S59, and the processing corresponding to the section of each cell is repeated.

【0045】このようにして、パターンエッジリストに
基づき、エッジリストとのマージを行なって、プリミテ
ィブ内をパターンによって塗りつぶすことができる。プ
リミティブごとの処理が終了すると、エッジリストマー
ジ部10において、プリミティブごとに作成されるエッ
ジリストを各ページごとのエッジリストにマージする。
各ページごとのエッジリストは、ページメモリ11に蓄
えられており、1ページ分のプリミティブのマージが終
了すると、ラスタライズ部12において、各スキャンラ
インごとにエッジリストが読み出され、ドットに展開さ
れて出力装置14に送られる。
In this way, based on the pattern edge list, by merging with the edge list, the inside of the primitive can be painted out with the pattern. When the processing for each primitive is completed, the edge list merge unit 10 merges the edge list created for each primitive into the edge list for each page.
The edge list for each page is stored in the page memory 11, and when the merging of the primitives for one page is completed, the rasterizing unit 12 reads the edge list for each scan line and develops the dots into dots. It is sent to the output device 14.

【0046】図12は、出力結果の一例の説明図であ
る。図では、カラーによる表現ができないので、ハッチ
ングを変えて色の差を表現している。図12に示した例
では、円の内部をある色(図では右下がりのハッチング
で表現)で塗りつぶした後、上述の図7(A)に示した
パターンによって内部を塗りつぶした場合の出力画像を
示している。図12のように、円の内部に図7(A)に
示した三角形がくり返し現われた画像が得られる。
FIG. 12 is an explanatory diagram of an example of the output result. In the figure, since the color cannot be represented, the hatching is changed to express the color difference. In the example shown in FIG. 12, after the inside of the circle is filled with a certain color (represented by hatching in the downward right direction in the figure), the output image obtained by filling the inside with the pattern shown in FIG. Is shown. As shown in FIG. 12, an image in which the triangle shown in FIG. 7A repeatedly appears inside the circle is obtained.

【0047】[0047]

【発明の効果】以上の説明から明らかなように、本発明
によれば、入力されたデータからラスター情報に変換す
る描画装置において、パターンによる塗りつぶし処理を
行なう場合に、入力データ及びパターンをエッジリスト
データとして蓄え、エッジリスト間のマージ処理により
塗りつぶし処理を行なうことにより、パターンのための
メモリを大幅に減らすことができるとともに、描画時に
ピクセルごとの論理演算を行なう必要がないので、高速
な塗りつぶし処理が可能となるという効果がある。
As is apparent from the above description, according to the present invention, in a drawing apparatus for converting input data into raster information, when performing a filling process using a pattern, the input data and the pattern are stored in an edge list. By storing as data and performing fill processing by merging between edge lists, the memory for the pattern can be significantly reduced, and there is no need to perform logical operations for each pixel during drawing, so high-speed fill processing There is an effect that it becomes possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の描画装置の一実施例を含むシステム
のブロック構成図である。
FIG. 1 is a block diagram of a system including an embodiment of a drawing apparatus according to the present invention.

【図2】 パラメータの一例の説明図である。FIG. 2 is an explanatory diagram of an example of a parameter.

【図3】 エッジリストの生成の一例の説明図である。FIG. 3 is an explanatory diagram of an example of generation of an edge list.

【図4】 クリップ処理部6の動作の一例を示すフロー
チャートである。
FIG. 4 is a flowchart illustrating an example of the operation of the clip processing unit 6.

【図5】 クリップ処理部6の動作の一例を示すフロー
チャートである。
FIG. 5 is a flowchart illustrating an example of the operation of the clip processing unit 6.

【図6】 2つの区間の関係の説明図である。FIG. 6 is an explanatory diagram of a relationship between two sections.

【図7】 パターンエッジリストの一例の説明図であ
る。
FIG. 7 is an explanatory diagram of an example of a pattern edge list.

【図8】 パターンエッジリストのマージ処理の一例を
示すフローチャートである。
FIG. 8 is a flowchart illustrating an example of a merge process of a pattern edge list.

【図9】 パターンエッジリストのマージ処理の一例を
示すフローチャートである。
FIG. 9 is a flowchart illustrating an example of a merge process of a pattern edge list.

【図10】 パターンエッジリストのマージ処理の一例
を示すフローチャートである。
FIG. 10 is a flowchart illustrating an example of a merge process of a pattern edge list.

【図11】 エッジリストセルとパターンエッジリスト
セルの関係の説明図である。
FIG. 11 is an explanatory diagram of a relationship between an edge list cell and a pattern edge list cell.

【図12】 出力結果の一例の説明図である。FIG. 12 is an explanatory diagram of an example of an output result.

【符号の説明】[Explanation of symbols]

1 パラメータ記憶部、2 描画入力部、3 ベクター
生成部、4 フォントデータ記憶部、5 エッジリスト
生成部、6 クリップ処理部、7 クリップメモリ、8
色付け処理部、9 パターンメモリ、10 エッジリ
ストマージ部、11 ページメモリ、12 ラスタライ
ズ部、13 バッファメモリ、14 出力装置。
1 parameter storage unit, 2 drawing input unit, 3 vector generation unit, 4 font data storage unit, 5 edge list generation unit, 6 clip processing unit, 7 clip memory, 8
Coloring processing unit, 9 pattern memories, 10 edge list merging units, 11 page memories, 12 rasterizing units, 13 buffer memories, 14 output devices.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力されたデータからエッジリストを生
成するエッジリスト生成手段と、塗りつぶしに用いるパ
ターンをエッジリストとして記憶するパターン記憶部
と、前記エッジリスト生成手段により生成されたエッジ
リストと前記パターン記憶部に記憶されているパターン
のエッジリストとをマージ処理するパターンマージ手段
と、前記パターンマージ手段によりマージ処理されたエ
ッジリストを用いて出力処理を行なう出力処理手段を有
し、前記塗りつぶしに用いるパターンを用いて塗りつぶ
し描画を行うことを特徴とする描画装置。
1. An edge list generation means for generating an edge list from input data, a pattern storage unit for storing a pattern used for filling as an edge list, an edge list generated by the edge list generation means, and the pattern A pattern merging unit configured to merge the edge list of the pattern stored in the storage unit; and an output processing unit configured to perform an output process using the edge list merged by the pattern merging unit. A drawing apparatus for performing fill drawing using a pattern.
【請求項2】 前記パターンマージ手段は、マージ処理
したエッジリストを前記パターン記憶部に対して新たな
塗りつぶしに用いるパターンとして記憶させる機能を有
していることを特徴とする請求項1に記載の描画装置。
2. The pattern merge unit according to claim 1, wherein the pattern merging means has a function of storing the merged edge list as a pattern used for a new filling in the pattern storage unit. Drawing device.
JP05190715A 1993-07-02 1993-07-02 Drawing equipment Expired - Fee Related JP3089906B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05190715A JP3089906B2 (en) 1993-07-02 1993-07-02 Drawing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05190715A JP3089906B2 (en) 1993-07-02 1993-07-02 Drawing equipment

Publications (2)

Publication Number Publication Date
JPH0721396A JPH0721396A (en) 1995-01-24
JP3089906B2 true JP3089906B2 (en) 2000-09-18

Family

ID=16262625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05190715A Expired - Fee Related JP3089906B2 (en) 1993-07-02 1993-07-02 Drawing equipment

Country Status (1)

Country Link
JP (1) JP3089906B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5760728B2 (en) * 2011-06-14 2015-08-12 富士ゼロックス株式会社 Image processing apparatus, image forming apparatus, and program

Also Published As

Publication number Publication date
JPH0721396A (en) 1995-01-24

Similar Documents

Publication Publication Date Title
US5388166A (en) Image drawing apparatus
US5053759A (en) Method of and apparatus for generating high-quality pattern
JP3285930B2 (en) Image processing device
JP3009525B2 (en) Vector image drawing equipment
JPH0816144A (en) Outline font extension method and outline font extension device
JP3089906B2 (en) Drawing equipment
JPH06162210A (en) Image processor
JP3085175B2 (en) Drawing equipment
JPH02270019A (en) Generation system for high quality character pattern
JP3146771B2 (en) Font rasterizing apparatus and method
JP2000013601A (en) Print information processor and device and method for generating intermediate data
JP3129717B2 (en) Image processing apparatus and image processing method
JP3452049B2 (en) Drawing apparatus and drawing method
JP2004334533A (en) Image processing device and method
JP2782752B2 (en) Character pattern output device
JP3536894B2 (en) Graphic processing unit
JPH0691938A (en) Printing control device
JP2710350B2 (en) Image processing apparatus and image processing method of image processing apparatus
JP3209359B2 (en) Image output device
JPH05183753A (en) Device and method for outputting color image
JP2835056B2 (en) High quality character pattern generation method
JP2001092981A (en) Device and method for processing image
JPH06168337A (en) Paint-out processing method
JPH0350686A (en) Graphic processing system
JPH06175637A (en) Method for generating character

Legal Events

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

Free format text: PAYMENT UNTIL: 20080721

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090721

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100721

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110721

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees