JPH06274643A - Plotter - Google Patents

Plotter

Info

Publication number
JPH06274643A
JPH06274643A JP5085395A JP8539593A JPH06274643A JP H06274643 A JPH06274643 A JP H06274643A JP 5085395 A JP5085395 A JP 5085395A JP 8539593 A JP8539593 A JP 8539593A JP H06274643 A JPH06274643 A JP H06274643A
Authority
JP
Japan
Prior art keywords
edge list
clip
target
processing
list cell
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
Application number
JP5085395A
Other languages
Japanese (ja)
Other versions
JP3178156B2 (en
Inventor
Yuji Onozawa
雄二 小野澤
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP08539593A priority Critical patent/JP3178156B2/en
Publication of JPH06274643A publication Critical patent/JPH06274643A/en
Application granted granted Critical
Publication of JP3178156B2 publication Critical patent/JP3178156B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To provide the plotter which enables the logical arithmetic of plural clip areas and processes the logical arithmetic and the clip processing of any arbitrary shape at high speed. CONSTITUTION:Plotting information and clip information received by a plotting data input part 11 is sent to a vector generation part 12 and in the case of font, it is converted to vector data by data in a font data storage part 13. An edge list generation part 14 generates an edge list from the vector data and in the case of the clip information, it is sent to a clip data merge part 15 or in the case of the plotting information, it is sent to a clip processing part 17. The clip data merge part 15 merges the edge list and the clip information stored in a clip information storage part 16. These edge list and clip information are processed by the clip processing part 17 and a rasterize part 18 and outputted to a printer 20 or the like later.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、入力されたデータから
ラスター画像に変換し、その画像を出力する描画装置に
関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a drawing device for converting input data into a raster image and outputting the image.

【0002】[0002]

【従来の技術】近年、コンピュータグラフィックス(以
下、CGという)やデスクトップパブリッシング(以
下、DTPという)などの分野では、入力された文字デ
ータ、グラフィックスデータ、イメージデータ等をコン
ピュータ上で編集して、これらをディスプレイやプリン
タ等の出力装置へ出力する編集装置が開発されている。
2. Description of the Related Art In recent years, in the fields of computer graphics (hereinafter referred to as CG) and desktop publishing (hereinafter referred to as DTP), input character data, graphics data, image data, etc. have been edited on a computer. An editing apparatus has been developed that outputs these to an output device such as a display or a printer.

【0003】このような編集装置による編集結果は、通
常、出力デバイスであるディスプレイやプリンタ等に対
して独立にするために、例えば解像度に依存しないよう
にベクター表現(ページ記述言語等)を使って表現され
ている。また、柔軟性のある編集と高品質の出力が要求
されているために、前記ベクター表現も複雑になり、プ
リンタ等の出力装置に出力するためには、高機能、高精
度であるベクター/ラスタ変換が必要となる。
The editing result by such an editing device is usually expressed by a vector expression (page description language, etc.) so as to be independent of the output device such as a display and a printer, for example, without depending on the resolution. It is expressed. In addition, since flexible editing and high-quality output are required, the vector expression becomes complicated, and in order to output to an output device such as a printer, a high-performance vector / raster with high accuracy is required. Conversion is required.

【0004】このようなベクター/ラスタ変換で特に重
要な処理として、描画要素の部分的表示を行うクリップ
処理がある。従来のクリップ処理の手法は、クリップ領
域として矩形領域のみを対象とするものであるため、描
画要素とそのクリップ領域である矩形領域の全ての交点
を演算により求め、内部/外部を判断してクリップ対象
となる領域のみ表示する手法が一般的であり、そのよう
な処理に基づく技術は特開平1−103784号、特開
昭63−245576号、特開昭63−198174号
の公報に開示されている。
As a particularly important process in such vector / raster conversion, there is a clip process for partially displaying drawing elements. Since the conventional clip processing method targets only the rectangular area as the clip area, all the intersections of the drawing element and the rectangular area that is the clip area are calculated, and the inside / outside is determined to determine the clip area. A method of displaying only a target area is generally used, and techniques based on such processing are disclosed in JP-A-1-103784, JP-A-63-245576, and JP-A-63-198174. There is.

【0005】CG、DTPのように、任意形状のクリッ
プが頻繁に行われるような場合では、描画要素とクリッ
プ領域である矩形領域とが交わる交点の数が非常に多く
なるため、クリップ領域の内部/外部の判断に費やす演
算が膨大になってしまい、非常に処理時間がかかってい
た。
In the case where an arbitrary shape is frequently clipped like CG and DTP, the number of intersections where the drawing element and the rectangular area which is the clip area intersect is very large, so that the inside of the clip area is large. / The calculation required for external judgment became enormous and it took a very long time.

【0006】また、クリップ領域自体も、操作者による
編集で変化させることも要望されている。この編集は複
数のクリップ領域間の論理演算で可能であるが、従来の
方式では、そのような複数のクリップ領域間の論理演算
を行うことは、考慮されていないため、その編集は不可
能であった。
It is also desired that the clip area itself be changed by editing by the operator. This editing is possible by a logical operation between a plurality of clip areas, but since the conventional method does not consider performing such a logical operation between a plurality of clip areas, the editing is impossible. there were.

【0007】さらに問題点として次のものがあげられ
る。描画要素であるベクターの太さが1である場合、ク
リップ領域は交点の数のみで処理可能である。しかし、
そのベクターが太さを持つように改良した場合、面積を
持つ領域間でクリップ領域を求めることと同じになって
しまうので、ベクターの太さが1である場合と比べて、
交点数の増加を招き、やはり演算が膨大になってしま
い、処理時間がかかってしまう。これを解決するものと
して、特開平1−103784号公報記載の発明がある
が、この発明はクリップ領域が矩形であることを前提と
したものであり、任意形状のクリップ領域には対応でき
ない。また、ベクターが太さを持つ場合に対応するため
の処理が付加されている。
Further problems are as follows. When the thickness of the vector which is a drawing element is 1, the clip area can be processed only by the number of intersections. But,
When the vector is modified so that it has a thickness, it becomes the same as obtaining a clip region between regions having an area, so compared to the case where the vector has a thickness of 1,
This leads to an increase in the number of intersections, which again results in a huge amount of computation and processing time. As a solution to this, there is an invention described in JP-A-1-103784, but this invention is based on the assumption that the clip area is rectangular, and cannot cope with an arbitrarily shaped clip area. In addition, processing is added to cope with the case where the vector has a thickness.

【0008】[0008]

【発明が解決しようとする課題】本発明は、上述した問
題点を解決するためになされたもので、複数のクリップ
領域の論理演算を可能とし、その演算、任意形状のクリ
ップ処理及び太さをもつベクターのクリップ処理におい
ても、高速に処理可能とする描画装置を提供することを
目的とするものである。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and enables logical operation of a plurality of clip areas, and the operation, clip processing of arbitrary shape, and thickness can be performed. It is an object of the present invention to provide a drawing device capable of high-speed processing even for clip processing of the vector.

【0009】[0009]

【課題を解決するための手段】請求項1記載の発明にお
いては、入力された描画情報に対して描画を開始する位
置である開始点の情報及び描画を終了する位置である終
了点の情報を含むエッジリストに変換する第1のエッジ
リスト変換手段と、前記描画情報の一部を表示するクリ
ップ情報に対してエッジリストに変換する第2のエッジ
リスト変換手段と、前記第1のエッジリスト変換手段に
よって変換された描画情報のエッジリスト及び前記第2
のエッジリスト変換手段によって変換されたクリップ情
報のエッジリストに基づいてクリップ処理しエッジリス
トを生成するクリップ処理手段と、前記クリップ処理手
段によってクリップ処理されたエッジリストに基づいて
画像を生成する画像生成手段とを有することを特徴とす
るものである。
According to a first aspect of the present invention, information on a starting point, which is a position to start drawing, and information on an ending point, which is a position to end drawing, are provided for input drawing information. First edge list conversion means for converting to an included edge list, second edge list conversion means for converting clip information displaying a part of the drawing information into an edge list, and the first edge list conversion The edge list of drawing information converted by means and the second
Clip processing means for performing clip processing based on the edge list of the clip information converted by the edge list converting means to generate an edge list, and image generation for generating an image based on the edge list clipped by the clip processing means. And means.

【0010】また、請求項2記載の発明においては、入
力された描画情報に対して描画を開始する位置である開
始点の情報及び描画を終了する位置である終了点の情報
を含むエッジリストに変換する第1のエッジリスト変換
手段と、前記描画情報の一部を表示するクリップ情報に
対してエッジリストに変換する第2のエッジリスト変換
手段と、前記第2のエッジリスト変換手段によって変換
されたクリップ情報の複数のエッジリストをマージ処理
するマージ処理手段と、前記マージ処理手段によりマー
ジ処理されたエッジリストを記憶するクリップ情報記憶
手段と、前記第1のエッジリスト変換手段によって変換
された描画情報のエッジリスト及び前記クリップ情報記
憶手段に記憶されているエッジリストに基づいてクリッ
プ処理しエッジリストを生成するクリップ処理手段と、
前記クリップ処理手段によってクリップ処理されたエッ
ジリストに基づいて画像を生成する画像生成手段とを有
することを特徴とするものである。
According to the second aspect of the invention, an edge list including information on a starting point which is a position to start drawing with respect to the input drawing information and information on an ending point which is a position to end drawing is formed. First edge list conversion means for converting, second edge list conversion means for converting clip information displaying a part of the drawing information into an edge list, and second edge list conversion means for conversion. Merge processing means for merging a plurality of edge lists of clip information, clip information storage means for storing the edge list merged by the merge processing means, and drawing converted by the first edge list conversion means. Clip processing is performed based on the edge list of information and the edge list stored in the clip information storage means, and the edge list is stored. A clip processing unit for generating bets,
And an image generation unit that generates an image based on the edge list clipped by the clip processing unit.

【0011】[0011]

【作用】本発明によれば、請求項1に記載の発明では、
クリップ処理手段によるクリップ処理をエッジリストを
用いて行っているので、クリップ処理を高速に行い、任
意形状のクリップ処理を可能とし、太さをもつベクター
のクリップ処理においても高速に処理することができ
る。
According to the present invention, in the invention described in claim 1,
Since the clip processing by the clip processing means is performed using the edge list, the clip processing can be performed at high speed, the clip processing of an arbitrary shape can be performed, and the clip processing of a vector having a thickness can also be processed at high speed. .

【0012】本発明によれば、請求項2に記載の発明で
は、クリップ処理をエッジリストを用いて行い、マージ
処理手段とクリップ情報記憶手段とを用いて、複数のク
リップ領域間の論理演算を行っているので、複数のクリ
ップ領域の論理演算を可能とし、さらに、クリップ処理
を高速に行い、任意形状のクリップ処理を可能とし、太
さをもつベクターのクリップ処理においても高速に処理
することができる。
According to the present invention, in the invention described in claim 2, the clip processing is performed by using the edge list, and the logical operation between the plurality of clip areas is performed by using the merge processing means and the clip information storage means. Since it is performed, it is possible to perform logical operations on multiple clip areas, perform clip processing at high speed, enable clip processing of arbitrary shapes, and perform high-speed processing even for clip processing of vectors with thickness. it can.

【0013】[0013]

【実施例】図1は、本発明の描画装置の一実施例を示す
ブロック図である。図中11は描画データ入力部、12
はベクター生成部、13はフォントデータ記憶部、14
はエッジリスト生成部、15はクリップデータマージ
部、16はクリップ情報記憶部、17はクリップ処理
部、18はラスタライズ部、19はページメモリ、20
はプリンタである。まず、図2を用いてエッジリストの
説明を行う。図2(a)は、描画すべき画像を表してい
る。図2(b)は、図2(a)の画像の横方向の各スキ
ャンラインに対応したエッジリストの構成を表してい
る。つまり、各スキャンラインに対応して、塗りつぶす
領域の始点sx、終点exおよび次のエッジリストセル
を指し示すポインタnpとからなる。図2(a)の上の
2本のスキャンラインに示すように、1スキャンライン
内に2本の線分があると、エッジリストは2個のエッジ
リストセルからなり、最初のエッジリストセルのポイン
タnpは2個目のエッジリストセルを指し示している。
また、最後のエッジリストセルのポインタnpは、次に
指し示すエッジリストセルが無い状態である。この状態
のポインタnpの値をnullと示す。図1、3を用い
て初期設定の説明を行う。図示しない全体制御部から図
1に示す各構成要素部に対して初期設定信号が送られ、
各部ではメモリの初期化などが行われる。次に、クリッ
プエッジリストの初期設定として、1ページ全体をクリ
ップすると仮定したクリップエッジリストを生成する。
このクリップエッジリストを図3を用いて説明する。図
3(a)は、1ページ全体を示しており、左上の座標は
(stx,sty)、右上の座標は(enx,st
y)、左下の座標は(stx,eny)、右下の座標は
(enx,eny)であることを示している。図3
(b)は、クリップデータとして1ページ全体をクリッ
プ情報として指定している。この場合のクリップデータ
は、y座標のスキャンライン毎に作成され、エッジリス
ト内の最初のクリップエッジリストセルを指し示すポイ
ンタspと、クリップ情報本体である始点sxと終点e
xと次のエッジリストセルを指し示すポインタnpとか
らなるエッジリストセルからなっている。スキャンライ
ン毎に作成されているので、全ての始点sxと終点ex
はx座標のみからなる。この場合、実際の始点sxの値
はstxであり、終点exの値はenxである。クリッ
プ範囲は1ページ全体であるので、1スキャンライン内
に2本のエッジリストがあることは無い。したがって、
次のクリップエッジリストセルを指し示すポインタnp
の実際の値はnullである。描画データ入力部11か
ら、図3に示すように1ページ全体の矩形領域のクリッ
プ用ベクターデータがベクター生成部12に送られる。
そして、ベクター生成部12では、この情報をエッジリ
スト生成部14に送り、エッジリスト生成部14はクリ
ップデータマージ部15を通してクリップ情報記憶部1
6へ格納する。もちろんこの処理は、初期設定信号が送
られた際にクリップ情報記憶部16のみが図3(b)に
示すようなデータを生成してクリップ情報記憶部16自
身に格納してもよい。
1 is a block diagram showing an embodiment of a drawing apparatus of the present invention. In the drawing, 11 is a drawing data input unit, 12
Is a vector generation unit, 13 is a font data storage unit, 14
Is an edge list generation unit, 15 is a clip data merge unit, 16 is a clip information storage unit, 17 is a clip processing unit, 18 is a rasterization unit, 19 is a page memory, 20
Is a printer. First, the edge list will be described with reference to FIG. FIG. 2A shows an image to be drawn. FIG. 2B shows a configuration of an edge list corresponding to each horizontal scan line of the image of FIG. That is, it is composed of the start point sx, the end point ex, and the pointer np pointing to the next edge list cell of the area to be filled, corresponding to each scan line. As shown in the two scan lines at the top of FIG. 2A, when there are two line segments in one scan line, the edge list consists of two edge list cells, and the edge list cell of the first edge list cell The pointer np points to the second edge list cell.
Further, the pointer np of the last edge list cell is in a state where there is no edge list cell pointed to next. The value of the pointer np in this state is indicated as null. Initial setting will be described with reference to FIGS. An initial setting signal is sent from each unillustrated overall control unit to each component unit shown in FIG.
Memory initialization is performed in each unit. Next, as an initial setting of the clip edge list, a clip edge list which is assumed to clip the entire page is generated.
This clip edge list will be described with reference to FIG. FIG. 3A shows the entire one page. The upper left coordinates are (stx, sty) and the upper right coordinates are (enx, st).
y), the lower left coordinate is (stx, ny), and the lower right coordinate is (enx, ny). Figure 3
In (b), one page as clip data is designated as clip information. In this case, the clip data is created for each scan line of the y coordinate, and the pointer sp that points to the first clip edge list cell in the edge list, the start point sx and the end point e that are the clip information body.
It consists of an edge list cell consisting of x and a pointer np pointing to the next edge list cell. Since it is created for each scan line, all start points sx and end points ex
Consists of the x coordinate only. In this case, the value of the actual start point sx is stx and the value of the end point ex is enx. Since the clip range is the entire page, there are no two edge lists in one scan line. Therefore,
Pointer np pointing to the next clip edge list cell
The actual value of is null. As shown in FIG. 3, the drawing vector input unit 11 sends the clip vector data of the rectangular area of the entire page to the vector generation unit 12.
Then, the vector generation unit 12 sends this information to the edge list generation unit 14, and the edge list generation unit 14 passes through the clip data merge unit 15 to the clip information storage unit 1.
Store in 6. Of course, in this processing, when the initial setting signal is sent, only the clip information storage unit 16 may generate data as shown in FIG. 3B and store the data in the clip information storage unit 16 itself.

【0014】実際に、描画データを受け取った後の処理
について、説明する。描画データ入力部11は、入力さ
れる描画データを受け取り、描画データの解釈を行っ
て、各描画データに対する処理を行い、ベクター生成部
12へ解釈した結果を送る。入力される描画データとし
ては、グラフィックデータ、文字コードデータ、ラスタ
ーデータ等のデータがある。描画データ入力部11が受
け取る描画データとしては、上記の他に、描画時に必要
な情報として、描画する線の線幅および線端の形状、描
画する線を接続する場合の接続点における接続形状、文
字を描画する際のタイプフェースなどがある。これらの
データは図示しない格納部に格納され、適宜、各部で用
いられる。また、クリップ情報も描画データ入力部11
より入力される。クリップ情報も描画データと同様にグ
ラフィックデータ、文字コードデータ、ラスターデータ
等のデータがある。クリップ情報であることを示す識別
子を付加していることを除いて、取扱いは描画データと
同じである。この識別子を用いて、後の処理であるエッ
ジリスト生成部14から送られる先は、クリップ情報の
場合はクリップデータマージ部15となり、描画データ
の場合はクリップ処理部17となる。
The process after actually receiving the drawing data will be described. The drawing data input unit 11 receives the input drawing data, interprets the drawing data, processes each drawing data, and sends the interpreted result to the vector generating unit 12. The drawing data that is input includes data such as graphic data, character code data, and raster data. As the drawing data received by the drawing data input unit 11, in addition to the above, as information necessary for drawing, the line width and the shape of the line end of the line to be drawn, the connection shape at the connection point when connecting the lines to be drawn, There is a typeface when drawing characters. These data are stored in a storage unit (not shown) and are used by each unit as appropriate. In addition, the clip information also includes the drawing data input unit 11
Will be entered more. The clip information also has data such as graphic data, character code data, raster data, etc., like the drawing data. The handling is the same as the drawing data, except that an identifier indicating that it is clip information is added. Using this identifier, the destination sent from the edge list generating unit 14 which is a later process is the clip data merging unit 15 in the case of clip information and the clip processing unit 17 in the case of drawing data.

【0015】ベクター生成部12では、描画データ入力
部11から送られてくる描画すべきデータに応じて、ベ
クターデータを生成し、そのベクターデータをエッジリ
スト生成部14に送る。もし描画すべきデータがグラフ
ィックデータの場合には、そのグラフィックデータをス
ケール変換等の処理を行ってエッジリスト生成部14に
送る。もし描画すべきデータが文字コードデータの場合
には、その文字コードデータを利用してフォントデータ
記憶部13からフォント用ベクターデータを受け取り、
スケール変換を行ってエッジリスト生成部14に送る。
もし描画すべきデータがラスターデータの場合には、下
地の部分と異なる色の部分であるラスター領域の矩形ベ
クターを生成してエッジリスト生成部14に送る。
The vector generation unit 12 generates vector data according to the data to be drawn sent from the drawing data input unit 11, and sends the vector data to the edge list generation unit 14. If the data to be drawn is graphic data, the graphic data is subjected to processing such as scale conversion and sent to the edge list generation unit 14. If the data to be drawn is character code data, the character code data is used to receive font vector data from the font data storage unit 13,
Scale conversion is performed and the result is sent to the edge list generation unit 14.
If the data to be drawn is raster data, a rectangular vector of the raster area, which is a portion of a color different from the background portion, is generated and sent to the edge list generation unit 14.

【0016】エッジリスト生成部14では、ベクター生
成部12から送られてくるベクターデータから、エッジ
リストを生成し、クリップ処理部17へ送る。また、エ
ッジリスト生成部14では、ベクター生成部12から送
られてくるクリップ用ベクターデータを処理してクリッ
プエッジリストを生成し、クリップデータマージ部15
へ送る。
The edge list generator 14 generates an edge list from the vector data sent from the vector generator 12 and sends it to the clip processor 17. In addition, the edge list generation unit 14 processes the clip vector data sent from the vector generation unit 12 to generate a clip edge list, and the clip data merge unit 15
Send to.

【0017】クリップデータマージ部15では、エッジ
リスト生成部14から送られてくるクリップエッジリス
トとクリップ情報記憶部16に蓄えられているクリップ
エッジリストとをマージする。もし、クリップ情報記憶
部16にクリップエッジリストが格納されていない場
合、そのクリップエッジリストをそのままクリップ情報
記憶部16に格納する。
The clip data merging unit 15 merges the clip edge list sent from the edge list generating unit 14 and the clip edge list stored in the clip information storage unit 16. If the clip edge list is not stored in the clip information storage unit 16, the clip edge list is stored in the clip information storage unit 16 as it is.

【0018】次にクリップデータマージ部15で行われ
る処理のフローを図5から図15を用いて説明する。こ
の処理は、2本のクリップエッジリストの始点、終点を
参照し、クリップ情報記憶部16に記憶されたクリップ
エッジリストセルの始点、終点の座標値を修正、または
新たにクリップエッジリストセルを追加することによっ
て、2本のクリップエッジリストをマージしたクリップ
エッジリストを作成することができる。この処理の説明
は、1スキャンラインのみの処理である。対象スキャン
ラインをKとする。このKを1ページ分の全てのスキャ
ンラインを対象とするように変化させた場合に1ページ
分のクリップデータのマージが行われたことになる。ま
た、この処理において、クリップ情報記憶部16に記憶
されているエッジリストをクリップエッジリストとい
い、エッジリスト生成部14から送られてきたエッジリ
ストを源エッジリストという。エッジリスト内の1単位
をエッジリストセルとする。クリップエッジリストセル
と源エッジリストセルによって表される線分の関係を図
16に示す。図16(a)ないし図16(h)での上の
線分は源エッジリストセルで表された線分であり、下の
線分はクリップエッジリストセルで表された線分であ
る。この線分が重なった部分のみがクリップされること
になる。
Next, the flow of processing performed by the clip data merging unit 15 will be described with reference to FIGS. In this processing, the start point and the end point of the two clip edge lists are referred to, the coordinate values of the start point and the end point of the clip edge list cell stored in the clip information storage unit 16 are corrected, or a new clip edge list cell is added. By doing so, a clip edge list obtained by merging two clip edge lists can be created. The description of this processing is for only one scan line. Let K be the target scan line. When this K is changed so as to target all the scan lines for one page, it means that the clip data for one page has been merged. In this process, the edge list stored in the clip information storage unit 16 is called a clip edge list, and the edge list sent from the edge list generation unit 14 is called a source edge list. One unit in the edge list is an edge list cell. The relationship between the line segments represented by the clip edge list cell and the source edge list cell is shown in FIG. The upper line segment in FIGS. 16A to 16H is the line segment represented by the source edge list cell, and the lower line segment is the line segment represented by the clip edge list cell. Only the overlapping parts of these line segments will be clipped.

【0019】まず、スキャンラインKにクリップエッジ
リストがあるか否かを判断する(S601)。無けれ
ば、そのスキャンラインでは、描画が行われないので、
スキャンラインKの源エッジリストを全てフリーにし
(S603)、スキャンラインKでの処理を終了する。
あれば、最初のクリップエッジリストセルを対象クリッ
プエッジリストセルとする(S602)。
First, it is determined whether or not the scan line K has a clip edge list (S601). Without it, the scanline will not be drawn, so
All the source edge lists of the scan line K are made free (S603), and the process for the scan line K is completed.
If there is, the first clip edge list cell is set as the target clip edge list cell (S602).

【0020】次に、スキャンラインKに源エッジリスト
があるか否かを判断する(S604)。無ければ、その
スキャンラインでは、描画が行われないので、スキャン
ラインKのクリップエッジリストを全てフリーにし(S
606)、スキャンラインKでの処理を終了する。あれ
ば、最初の源エッジリストセルを対象の源エッジリスト
セルとする(S605)。
Next, it is determined whether or not the scan line K has a source edge list (S604). If there is no scan line, drawing is not performed on that scan line, so the clip edge list of scan line K is made free (S
606), and the processing of the scan line K is completed. If there is, the first source edge list cell is set as the target source edge list cell (S605).

【0021】変数CSXに対象クリップエッジリストセ
ルの始点X座標値をセットし(S607)、変数CEX
に対象クリップエッジリストセルの終点X座標値をセッ
トし(S608)、変数SXに対象の源エッジリストセ
ルの始点X座標値をセットし(S609)、変数EXに
対象の源エッジリストセルの終点X座標値をセット(S
610)する。
The starting point X coordinate value of the target clip edge list cell is set in the variable CSX (S607), and the variable CEX is set.
Is set to the end point X coordinate value of the target clip edge list cell (S608), the start point X coordinate value of the target source edge list cell is set to the variable SX (S609), and the end point of the target source edge list cell is set to the variable EX. Set X coordinate value (S
610).

【0022】変数CSXと変数EXとを比較する(S6
11)。CSX>EXの場合、つまり、対象の源エッジ
リストセルで表される線分と対象クリップエッジリスト
セルで表される線分とが図16(a)の関係にある場合
であり、お互いの線分が重なっていないので、描画され
ないこととなる。この場合、図8のフローに移る。対象
の源エッジリストセルをフリーにし(S623)、次の
源エッジリストセルを対象の源エッジリストセルにする
(S624)。そして、S619の処理へ移る。
The variable CSX and the variable EX are compared (S6).
11). When CSX> EX, that is, when the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. Since the minutes do not overlap, it will not be drawn. In this case, the process moves to the flow of FIG. The target source edge list cell is made free (S623), and the next source edge list cell is made the target source edge list cell (S624). Then, the process proceeds to S619.

【0023】S611でNoの場合、変数CSXと変数
SX、変数CEXと変数EX、変数CSXと変数EXと
をそれぞれ比較する(S612)。CSX≧SX、CE
X>EX、CSX≦EXの場合、つまり、対象の源エッ
ジリストセルで表される線分と対象クリップエッジリス
トセルで表される線分とが図16(b)の関係にある場
合であり、お互いの線分が重なっている状態である。こ
の場合、図9のフローに移る。CEX(つまり、対象ク
リップエッジリストの終点X座標)にEXをセット(S
625)する。新しいクリップエッジリストセルを作成
し、その始点X座標にEX+1(対象の源エッジリスト
セルの終点X座標値に1加えた数値)をセットし、その
終点X座標にCEX(対象のクリップエッジリストセル
の終点X座標値)をセットし、対象クリップエッジリス
トセルの次に挿入(S626)する。そして、その新し
く作成された次のクリップエッジリストセルを対象クリ
ップエッジリストセルにする(S627)。対象の源エ
ッジリストセルをフリーにする(S628)。次の源エ
ッジリストセルを対象の源エッジリストセルとする(S
629)。そして、S619の処理へ移る。
When the result in S611 is No, the variables CSX and SX are compared, the variables CEX and EX are compared, and the variables CSX and EX are compared (S612). CSX ≧ SX, CE
When X> EX and CSX ≦ EX, that is, when the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell have the relationship shown in FIG. 16 (b). , The line segments of each other are overlapping. In this case, the process moves to the flow of FIG. Set EX to CEX (that is, the X coordinate of the end point of the target clip edge list) (S
625). Create a new clip edge list cell, set EX + 1 (a value obtained by adding 1 to the end point X coordinate value of the target source edge list cell) to the start point X coordinate, and set CEX (target clip edge list cell to the end point X coordinate). End point X-coordinate value) is set and inserted next to the target clip edge list cell (S626). Then, the newly created next clip edge list cell is set as the target clip edge list cell (S627). The source edge list cell of interest is made free (S628). The next source edge list cell is the target source edge list cell (S
629). Then, the process proceeds to S619.

【0024】S612でNoの場合、変数CSXと変数
SX、変数CEXと変数EX、変数CSXと変数EXと
をそれぞれ比較する(S613)。CSX≧EX、CE
X=EX、CSX≦EXの場合、つまり、対象の源エッ
ジリストセルで表される線分と対象クリップエッジリス
トセルで表される線分とが図16(c)の関係にある場
合であり、お互いの線分が重なっており、終点が同じ位
置にある状態である。この場合、図10のフローに移
る。次のクリップエッジリストセルを対象クリップエッ
ジリストセルにする(S630)。対象の源エッジリス
トセルをフリーにする(S631)。次の源エッジリス
トセルを対象の源エッジリストセルとする(S63
2)。そして、S619の処理へ移る。
In the case of No in S612, the variables CSX and SX are compared, the variables CEX and EX are compared, and the variables CSX and EX are compared (S613). CSX ≧ EX, CE
When X = EX and CSX ≦ EX, that is, when the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. 16 (c). , The line segments overlap each other, and the end points are in the same position. In this case, the process moves to the flow of FIG. The next clip edge list cell is set as the target clip edge list cell (S630). The target source edge list cell is made free (S631). The next source edge list cell is set as the target source edge list cell (S63).
2). Then, the process proceeds to S619.

【0025】S613でNoの場合、変数CSXと変数
SX、変数CEXと変数EXとをそれぞれ比較する(S
614)。CSX≧SX、CEX<EXの場合、つま
り、対象の源エッジリストセルで表される線分と対象ク
リップエッジリストセルで表される線分とが図16
(d)の関係にある場合であり、お互いの線分が重なっ
ている状態である。この場合、図11のフローに移る。
次のクリップエッジリストセルを対象クリップエッジリ
ストセルにする(S633)。SX(つまり、対象の源
エッジリストセルの始点X座標)にCEX+1(対象ク
リップエッジリストセルの終点X座標に1加えた数値)
をセットする(S634)。そして、S619の処理へ
移る。
When the result in S613 is No, the variables CSX and SX are compared, and the variables CEX and EX are compared (S).
614). When CSX ≧ SX and CEX <EX, that is, the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (d), the line segments of each other overlap. In this case, the process moves to the flow of FIG.
The next clip edge list cell is set as the target clip edge list cell (S633). SX (that is, the starting point X coordinate of the target source edge list cell) to CEX + 1 (a value obtained by adding 1 to the ending point X coordinate of the target clip edge list cell)
Is set (S634). Then, the process proceeds to S619.

【0026】S614でNoの場合、変数CSXと変数
SX、変数CEXと変数EXとをそれぞれ比較する(S
615)。CSX≦SX、CEX>EXの場合、つま
り、対象の源エッジリストセルで表される線分と対象ク
リップエッジリストセルで表される線分とが図16
(e)の関係にある場合であり、お互いの線分が重なっ
ている状態である。この場合、図12のフローに移る。
CSX(対象クリップエッジリストセルの始点X座表)
にSX(対象の源エッジリストセルの始点X座表)をセ
ットする(S635)。この後の処理はS625、S6
26、S627、S628、S629と同じ処理である
(S636、S637、S638、S639、S64
0)。そして、S619の処理へ移る。
In the case of No in S614, the variables CSX and SX and the variables CEX and EX are compared (S).
615). When CSX ≦ SX and CEX> EX, that is, the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (e), the line segments of each other overlap. In this case, the process moves to the flow of FIG.
CSX (starting point X coordinate of target clip edge list cell)
Is set to SX (starting point X coordinate of the target source edge list cell) (S635). The subsequent processing is S625 and S6.
26, S627, S628, and S629 (S636, S637, S638, S639, S64).
0). Then, the process proceeds to S619.

【0027】S615でNoの場合、変数CSXと変数
SX、変数CEXと変数EXとをそれぞれ比較する(S
616)。CSX≦SX、CEX=EXの場合、つま
り、対象の源エッジリストセルで表される線分と対象ク
リップエッジリストセルで表される線分とが図16
(f)の関係にある場合であり、お互いの線分が重なっ
ており、終点が同じ位置にある状態である。この場合、
図13のフローに移る。S641の処理は、S635の
処理と同じである。この後の処理はS627、S62
8、S629と同じ処理である(S642、S643、
S644)。そして、S619の処理へ移る。
When the result in S615 is No, the variables CSX and SX are compared, and the variables CEX and EX are compared (S).
616). When CSX ≦ SX and CEX = EX, that is, the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship of (f), the line segments overlap each other, and the end points are in the same position. in this case,
Moving to the flow of FIG. The process of S641 is the same as the process of S635. Subsequent processing is S627 and S62.
8, the same process as S629 (S642, S643,
S644). Then, the process proceeds to S619.

【0028】S616でNoの場合、変数CSXと変数
SX、変数CEXと変数EX、変数CEXと変数SXと
をそれぞれ比較する(S617)。CSX≦SX、CE
X<EX、CEX≧SXの場合、つまり、対象の源エッ
ジリストセルで表される線分と対象クリップエッジリス
トセルで表される線分とが図16(g)の関係にある場
合であり、お互いの線分が重なっている状態である。こ
の場合、図14のフローに移る。S645の処理は、S
635の処理と同じである。S646の処理は、S63
4の処理と同じである。S647の処理は、S627の
処理と同じである。そして、S619の処理へ移る。
In the case of No in S616, the variables CSX and SX, the variables CEX and EX, and the variables CEX and SX are compared (S617). CSX ≦ SX, CE
In the case of X <EX, CEX ≧ SX, that is, the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. 16 (g). , The line segments of each other are overlapping. In this case, the process moves to the flow of FIG. The process of S645 is S
This is the same as the processing of 635. The process of S646 is S63.
This is the same as the processing of 4. The process of S647 is the same as the process of S627. Then, the process proceeds to S619.

【0029】S617でNoの場合、変数CEXと変数
SXとを比較する(S618)。CEX<SXの場合、
つまり、対象の源エッジリストセルで表される線分と対
象クリップエッジリストセルで表される線分とが図16
(h)の関係にある場合であり、お互いの線分が重なっ
ていない状態である。この場合、図15のフローに移
る。S648の処理は、S627の処理と同じである。
そして、S619の処理へ移る。
When the result in S617 is No, the variables CEX and SX are compared (S618). If CEX <SX,
That is, the line segment represented by the target source edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (h), the line segments do not overlap each other. In this case, the flow moves to FIG. The process of S648 is the same as the process of S627.
Then, the process proceeds to S619.

【0030】一連の比較処理を行った後、対象クリップ
エッジリストセルが無いか否かを判定する(S61
9)。S619でYesの場合は、対象クリップエッジ
リストセルが無いのでそのスキャンラインKでの処理は
終了してもよい場合である。したがって、残りの源エッ
ジリストセルを全てフリーにする(S620)。S61
9でNoの場合は、対象の源エッジリストセルが無いか
否かを判定する(S621)。S621でYesの場合
は、対象の源エッジリストセルが無いのでそのスキャン
ラインKでの処理は終了してもよい場合である。したが
って、残りのクリップエッジリストセルを全てフリーに
する(S622)。S621でNoの場合は、まだ対象
クリップエッジリストセルと対象の源エッジリストセル
が両方ある場合であるので、それぞれのエッジリストセ
ルを対象とした処理を行うため、S607の処理へ戻
る。
After performing a series of comparison processing, it is determined whether or not there is a target clip edge list cell (S61).
9). In the case of Yes in S619, there is no target clip edge list cell, and thus the processing in the scan line K may be terminated. Therefore, all the remaining source edge list cells are made free (S620). S61
In the case of No in 9, it is determined whether or not there is no target source edge list cell (S621). In the case of Yes in S621, there is no target source edge list cell, and thus the processing in the scan line K may be terminated. Therefore, all the remaining clip edge list cells are made free (S622). In the case of No in S621, there is still both the target clip edge list cell and the target source edge list cell, and therefore the processing is performed for each edge list cell, and the process returns to S607.

【0031】上記に示した図5から図15までの処理を
1ページ分の全てのスキャンラインに対して行う。これ
によって、クリップエッジリスト間の処理が行われる。
The above-described processing from FIG. 5 to FIG. 15 is performed for all scan lines for one page. As a result, processing between clip edge lists is performed.

【0032】ここで、例として、クリップ領域を任意の
形にした場合の処理について説明する。図4に示す多角
形Cの内側と初期クリップ(図3に示した1ページ全体
のクリップ情報)との論理積演算を行った領域を新しい
クリップ領域にするには、多角形Cを表すクリップ用ベ
クターデータが描画データ入力部11からベクター生成
部12を経由して、エッジリスト生成部14に送られ
る。エッジリスト生成部14では、受け取ったクリップ
用ベクターデータを処理して源エッジリストを作成し、
クリップデータマージ部15へ送る。クリップデータマ
ージ部15ではスキャンライン毎に、その源エッジリス
トとクリップ情報記憶部16に蓄えられているクリップ
エッジリストとを比較しながら、図5から図15に示し
たフローチャートに従って処理して行く。その中の1例
として、図4で示したスキャンラインKについて説明す
る。図4(a)に示したクリップエッジリストと図4
(b)に示した源エッジリストを読み出し、まずcs
x、cex、x1、x2の値を比較する。この場合はc
sx<x1、cex>x2(図16(e)の関係であ
り、S615でYesとなる場合)なので、図12に示
すように対象クリップエッジリストの始点X座標にx1
をセットし(S635)、対象クリップエッジリストの
終点X座標にx2をセットして(S636)、新しいク
リップエッジリストセル(始点X座標にx2+1を、終
点X座標にcexをセットする)を作成して、対象クリ
ップエッジリストセルの次に挿入し(S637)、それ
を対象クリップエッジリストセルにする(S638)。
また、対象の源エッジリストセルをフリーして(S63
9)、次の源エッジリストセルを対象の源エッジリスト
セルにする(S640)。次に、同様にして、x2+
1、cex、x3、x4の値を比較する。この場合は
(x2+1)<x3、cex>x4(図16(e)の関
係であり、S615でYesとなる場合)なので、図1
2に示すように対象クリップエッジリストの始点X座標
にx3をセットし(S635)、対象クリップエッジリ
ストの終点X座標にx4をセットして(S636)、新
しいクリップエッジリストセル(始点X座標にx4+
1、終点X座標にcexをセットする)を作成して、対
象クリップエッジリストセルの次に挿入し(S63
7)、それを対象クリップエッジリストセルにする(S
638)。また、対象の源エッジリストセルをフリーし
て(S639)、次の源エッジリストセルを対象の源エ
ッジリストセルにする(S640)。すると、対象の源
エッジリストセルがnullになる(S621でYes
となる場合)ため、いま作った現在の対象クリップエッ
ジリストセルをフリー(S622)して終了する。結果
は、図4(c)のようになる。
Here, as an example, the process when the clip area is formed into an arbitrary shape will be described. To make the area where the logical product operation between the inside of the polygon C shown in FIG. 4 and the initial clip (clip information of the entire page shown in FIG. 3) performed as a new clip area, use the clip for polygon C. Vector data is sent from the drawing data input unit 11 to the edge list generation unit 14 via the vector generation unit 12. The edge list generation unit 14 processes the received clip vector data to create a source edge list,
It is sent to the clip data merging unit 15. The clip data merging unit 15 compares the source edge list with the clip edge list stored in the clip information storage unit 16 for each scan line, and processes according to the flowcharts shown in FIGS. As one example among them, the scan line K shown in FIG. 4 will be described. The clip edge list shown in FIG.
The source edge list shown in (b) is read, and first, cs
The values of x, cex, x1 and x2 are compared. In this case c
Since sx <x1, cex> x2 (the relationship of FIG. 16 (e) and Yes in S615), the start point X coordinate of the target clip edge list is x1 as shown in FIG.
Is set (S635), x2 is set to the end point X coordinate of the target clip edge list (S636), and a new clip edge list cell (start point X coordinate is set to x2 + 1 and end point X coordinate is set to cex) is created. Then, it is inserted next to the target clip edge list cell (S637), and is set as the target clip edge list cell (S638).
Also, the source edge list cell of the target is freed (S63
9), the next source edge list cell is set as the target source edge list cell (S640). Then, similarly, x2 +
The values of 1, cex, x3 and x4 are compared. In this case, (x2 + 1) <x3, cex> x4 (the relationship of FIG. 16 (e), and the case of Yes in S615).
2, x3 is set to the start point X coordinate of the target clip edge list (S635), x4 is set to the end point X coordinate of the target clip edge list (S636), and a new clip edge list cell (start point X coordinate is set). x4 +
1. Set cex to the end point X coordinate) and insert it next to the target clip edge list cell (S63).
7) and make it the target clip edge list cell (S
638). Also, the source edge list cell of interest is freed (S639), and the next source edge list cell is made the source edge list cell of interest (S640). Then, the target source edge list cell becomes null (Yes in S621).
Therefore, the current target clip edge list cell just created is freed (S622), and the process is terminated. The result is as shown in FIG.

【0033】次に、クリップ処理部17では、クリップ
データマージ部15によって全てのクリップデータをマ
ージした後、その結果をクリップ情報記憶部16に蓄積
しておき、そのクリップデータとエッジリスト生成部1
4によって生成された描画すべきベクターデータのエッ
ジリストとからクリップ処理を行う。
Next, in the clip processing unit 17, after merging all the clip data by the clip data merging unit 15, the result is stored in the clip information storage unit 16, and the clip data and the edge list generation unit 1 are stored.
Clip processing is performed from the edge list of the vector data to be drawn generated in step 4.

【0034】クリップ処理部17で行われる処理のフロ
ーを図18から図26を用いて説明する。この処理の説
明は、前記したクリップデータマージ部15での処理と
ほぼ同じである。クリップ処理部17での処理の説明
も、1スキャンラインのみの処理である。対象スキャン
ラインをKとする。このKを1ページ分の全てのスキャ
ンラインを対象とするように変化させた場合に1ページ
分のクリップデータを用いて描画情報のクリップ処理が
行われたことになる。また、この処理において、クリッ
プ情報記憶部16に記憶されているエッジリストをクリ
ップエッジリストといい、エッジリスト生成部14から
送られてきたエッジリストを描画エッジリストという。
エッジリスト内の1単位をエッジリストセルとする。ク
リップエッジリストセルと描画エッジリストセルによっ
て表される線分の関係を図27に示す。図27(a)な
いし図27(f)での上の線分は描画エッジリストセル
で表された線分であり、下の線分はクリップエッジリス
トセルで表された線分である。この線分が重なった部分
のみが描画されることになる。
The flow of processing performed by the clip processing unit 17 will be described with reference to FIGS. 18 to 26. The description of this process is almost the same as the process in the clip data merging unit 15 described above. The description of the processing in the clip processing unit 17 is also processing for only one scan line. Let K be the target scan line. When this K is changed so as to target all the scan lines for one page, it means that the clip processing of the drawing information is performed using the clip data for one page. In this process, the edge list stored in the clip information storage unit 16 is called a clip edge list, and the edge list sent from the edge list generation unit 14 is called a drawing edge list.
One unit in the edge list is an edge list cell. FIG. 27 shows the relationship between the line segments represented by the clip edge list cell and the drawing edge list cell. The upper line segment in FIGS. 27A to 27F is the line segment represented by the drawing edge list cell, and the lower line segment is the line segment represented by the clip edge list cell. Only the part where these line segments overlap will be drawn.

【0035】まず、スキャンラインKにクリップエッジ
リストがあるか否かを判断する(S701)。無けれ
ば、そのスキャンラインでは、描画が行われないので、
スキャンラインKの描画エッジリストを全てフリーにし
(S703)、スキャンラインKでの処理を終了する。
あれば、最初のクリップエッジリストセルを対象クリッ
プエッジリストセルとする(S702)。
First, it is determined whether or not the scan line K has a clip edge list (S701). Without it, the scanline will not be drawn, so
All the drawing edge lists of the scan line K are made free (S703), and the process for the scan line K is completed.
If there is, the first clip edge list cell is set as the target clip edge list cell (S702).

【0036】次に、スキャンラインKに描画エッジリス
トがあるか否かを判断する(S704)。無ければ、そ
のスキャンラインでは、描画が行われないので、スキャ
ンラインKのクリップエッジリストを全てフリーにし
(S706)、スキャンラインKでの処理を終了する。
あれば、最初の描画エッジリストセルを対象描画エッジ
リストセルとする(S705)。
Next, it is determined whether or not the scan line K has a drawing edge list (S704). If it is not present, drawing is not performed on the scan line, so that the clip edge list of the scan line K is made free (S706), and the process on the scan line K ends.
If there is, the first drawing edge list cell is set as the target drawing edge list cell (S705).

【0037】変数CSXに対象クリップエッジリストセ
ルの始点X座標値をセットし(S707)、変数CEX
に対象クリップエッジリストセルの終点X座標値をセッ
トし(S708)、変数SXに対象描画エッジリストセ
ルの始点X座標値をセットし(S709)、変数EXに
対象描画エッジリストセルの終点X座標値をセット(S
710)する。
The start point X coordinate value of the target clip edge list cell is set in the variable CSX (S707), and the variable CEX is set.
Is set to the end point X coordinate value of the target clip edge list cell (S708), the start point X coordinate value of the target drawing edge list cell is set to the variable SX (S709), and the end point X coordinate of the target drawing edge list cell is set to the variable EX. Set value (S
710).

【0038】変数CSXと変数EXとを比較する(S7
11)。CSX>EXの場合、つまり、対象描画エッジ
リストセルで表される線分と対象クリップエッジリスト
セルで表される線分とが図27(a)の関係にある場合
であり、お互いの線分が重なっていないので、描画され
ないこととなる。この場合、図21のフローに移る。対
象描画エッジリストセルをフリーにし(S721)、次
の描画エッジリストセルを対象描画エッジリストセルに
する(S722)。そして、S717の処理へ移る。
The variable CSX and the variable EX are compared (S7).
11). In the case of CSX> EX, that is, when the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. Since they do not overlap, they will not be drawn. In this case, the process moves to the flow of FIG. The target drawing edge list cell is made free (S721), and the next drawing edge list cell is made the target drawing edge list cell (S722). Then, the process proceeds to S717.

【0039】S711でNoの場合、変数CSXと変数
SX、変数CEXと変数EX、変数CSXと変数EXと
をそれぞれ比較する(S712)。CSX≧SX、CE
X>EX、CSX≦EXの場合、つまり、対象描画エッ
ジリストセルで表される線分と対象クリップエッジリス
トセルで表される線分とが図27(b)の関係にある場
合であり、お互いの線分が重なっている状態である。こ
の場合、図22のフローに移る。SX(つまり、対象描
画エッジリストの終点X座標)にCSX(対象クリップ
エッジリストセルの始点X座標値)をセット(S72
3)する。次の描画エッジリストセルを対象描画エッジ
リストセルとする(S724)。そして、S717の処
理へ移る。
In the case of No in S711, the variables CSX and SX, the variables CEX and EX, and the variables CSX and EX are compared (S712). CSX ≧ SX, CE
In the case of X> EX and CSX ≦ EX, that is, the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. The line segments of each other overlap. In this case, the flow moves to FIG. Set CSX (starting point X coordinate value of target clip edge list cell) to SX (that is, end point X coordinate of target drawing edge list) (S72)
3) Do. The next drawing edge list cell is set as the target drawing edge list cell (S724). Then, the process proceeds to S717.

【0040】S712でNoの場合、変数CSXと変数
SX、変数CEXと変数EXとをそれぞれ比較する(S
713)。CSX≦SX、CEX≧EXの場合、つま
り、対象描画エッジリストセルで表される線分と対象ク
リップエッジリストセルで表される線分とが図27
(c)の関係にある場合であり、お互いの線分が重なっ
ている状態であり、描画エッジリストセルで表される線
分がそのまま描画される場合である。この場合、図23
のフローに移る。次の描画エッジリストセルを対象描画
エッジリストセルとする(S725)。そして、S71
7の処理へ移る。
In the case of No in S712, the variables CSX and SX are compared, and the variables CEX and EX are compared (S).
713). When CSX ≦ SX and CEX ≧ EX, that is, the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (c), the line segments overlap each other, and the line segment represented by the drawing edge list cell is drawn as it is. In this case, FIG.
Move to the flow. The next drawing edge list cell is set as the target drawing edge list cell (S725). And S71
Move to processing of 7.

【0041】S713でNoの場合、変数CSXと変数
SX、変数CEXと変数EXとをそれぞれ比較する(S
714)。CSX≧SX、CEX≦EXの場合、つま
り、対象描画エッジリストセルで表される線分と対象ク
リップエッジリストセルで表される線分とが図27
(d)の関係にある場合であり、お互いの線分が重なっ
ている状態である。この場合、図24のフローに移る。
SX(つまり、対象描画エッジリストセルの始点X座
標)にCSX(対象クリップエッジリストセルの始点X
座標値)をセットする(S726)。EX(つまり、対
象描画エッジリストセルの終点X座標)にCEX(対象
クリップエッジリストセルの終点X座標値)をセットす
る(S727)。新しい描画エッジリストセルを作成
し、その始点X座標にCEX+1(対象クリップエッジ
リストセルの終点X座標値に1加えた数値)をセット
し、その終点X座標にEX(対象描画エッジリストセル
の終点X座標値)をセットし、対象クリップエッジリス
トセルの次に挿入する(S728)。この新しい描画エ
ッジリストセルを対象描画エッジリストセルにする(S
729)。次のクリップエッジリストセルを対象クリッ
プエッジリストセルとする(S730)。そして、S7
17の処理へ移る。
When the result in S713 is No, the variables CSX and SX are compared, and the variables CEX and EX are compared (S).
714). When CSX ≧ SX and CEX ≦ EX, that is, the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (d), the line segments of each other overlap. In this case, the process moves to the flow of FIG.
SX (that is, the starting point X coordinate of the target drawing edge list cell) is CSX (the starting point X of the target clip edge list cell)
The coordinate value is set (S726). CEX (end point X coordinate value of target clip edge list cell) is set to EX (that is, end point X coordinate of target drawing edge list cell) (S727). Create a new drawing edge list cell, set CEX + 1 (a value obtained by adding 1 to the end point X coordinate value of the target clip edge list cell) to the start point X coordinate, and set EX (the end point of the target drawing edge list cell) to the end point X coordinate. (X coordinate value) is set and inserted next to the target clip edge list cell (S728). This new drawing edge list cell is made the target drawing edge list cell (S
729). The next clip edge list cell is set as the target clip edge list cell (S730). And S7
The process moves to 17.

【0042】S714でNoの場合、変数CSXと変数
SX、変数CEXと変数EX、変数CEXと変数SXと
をそれぞれ比較する(S715)。CSX≦SX、CE
X≦EX、CEX≧SXの場合、つまり、対象描画エッ
ジリストセルで表される線分と対象クリップエッジリス
トセルで表される線分とが図27(e)の関係にある場
合であり、お互いの線分が重なっている状態である。こ
の場合、図25のフローに移る。S731、S732、
S733、S734の処理は、S727、S728、S
729、S730の処理と同じである。そして、S71
7の処理へ移る。
When the result in S714 is No, the variables CSX and SX, the variables CEX and EX, and the variables CEX and SX are compared (S715). CSX ≦ SX, CE
In the case of X ≦ EX and CEX ≧ SX, that is, the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell have the relationship of FIG. 27 (e), The line segments of each other overlap. In this case, the process moves to the flow of FIG. S731, S732,
The processes of S733 and S734 are S727, S728, and S.
729 and S730. And S71
Move to processing of 7.

【0043】S715でNoの場合、変数CEXと変数
SXとを比較する(S716)。CEX<SXの場合、
つまり、対象描画エッジリストセルで表される線分と対
象クリップエッジリストセルで表される線分とが図27
(f)の関係にある場合であり、お互いの線分が重なっ
ていない状態である。この場合、図26のフローに移
る。S735の処理は、S730の処理と同じである。
そして、S717の処理へ移る。
When the result in S715 is No, the variables CEX and SX are compared (S716). If CEX <SX,
That is, the line segment represented by the target drawing edge list cell and the line segment represented by the target clip edge list cell are shown in FIG.
In the case of the relationship (f), the line segments do not overlap each other. In this case, the process moves to the flow of FIG. The process of S735 is the same as the process of S730.
Then, the process proceeds to S717.

【0044】一連の比較処理を行った後、対象クリップ
エッジリストセルが無いか否かを判定する(S71
7)。S717でYesの場合は、対象クリップエッジ
リストセルが無いのでそのスキャンラインKでの処理は
終了してもよい場合である。したがって、残りの描画エ
ッジリストセルを全てフリーにし(S718)、終了す
る。S717でNoの場合は、対象描画エッジリストセ
ルが無いか否かを判定する(S719)。S719でY
esの場合は、対象描画エッジリストセルが無いのでそ
のスキャンラインKでの処理は終了してもよい場合であ
る。したがって、残りのクリップエッジリストセルを全
てフリーにし(S720)、終了する。S719でNo
の場合は、まだ対象クリップエッジリストセルと対象描
画エッジリストセルが両方ある場合であるので、それぞ
れのエッジリストセルを対象とした処理を行うため、S
707の処理へ戻る。
After performing a series of comparison processing, it is determined whether or not there is a target clip edge list cell (S71).
7). In the case of Yes in S717, there is no target clip edge list cell, and thus the processing for the scan line K may be terminated. Therefore, all the remaining drawing edge list cells are made free (S718), and the process ends. In the case of No in S717, it is determined whether or not there is no target drawing edge list cell (S719). Y in S719
In the case of es, since there is no target drawing edge list cell, the processing on the scan line K may be terminated. Therefore, all the remaining clip edge list cells are made free (S720), and the process ends. No in S719
In the case of, since there are still both the target clip edge list cell and the target drawing edge list cell, the processing for each edge list cell is performed.
Returning to the processing of 707.

【0045】上記に示した図18から図26までの処理
を1ページ分の全てのスキャンラインに対して行う。こ
れによって、最終的に描画される描画エッジリストが作
成される。
The processing from FIG. 18 to FIG. 26 described above is performed for all scan lines for one page. As a result, a drawing edge list to be finally drawn is created.

【0046】ここで、例として、描画要素がクリップさ
れる動作について説明する。図17に示す多角形Pを先
程作成したクリップ領域でクリップを行うには、多角形
Pを表す描画ベクターデータが描画データ入力部11か
らベクター生成部12を経由して、エッジリスト生成部
14に送られる。エッジリスト生成部14では、受け取
った描画ベクターデータを処理して描画エッジリストを
作成し、クリップ処理部17へ送る。クリップ処理部1
7では、その描画エッジリストとクリップ情報記憶部1
6に蓄えられているクリップエッジリストを比較しなが
ら、図18から図26に示したフローチャートに従って
処理して行く。その中の1例として、図17で示したス
キャンラインKについて説明する。スキャンラインKに
おける多角形Pの描画エッジリストを受け取り、対象描
画エッジリストとする(図17(a))。スキャンライ
ンKにおけるクリップエッジリスト、つまり、図4
(c)に示したクリップエッジリストをクリップ情報記
憶部16から読み出し、対象クリップエッジリストとす
る(図17(b))。まず、csx1、cex1、x
1、x2の値を比較する。この場合は、csx1<=x
1、cex1<=x2、cex1>=x1であるので
(S715でYesの場合)、図25のフローに従って
対象描画エッジリストセルの終点X座標にcex1をセ
ットし(S731)、新しい描画エッジリストセル(始
点X座標にcex1+1、終点X座標にx2をセットす
る)を作成して、対象描画エッジリストセルの次に挿入
し(S732)、それを対象描画エッジリストセルにし
(S733)、対象クリップエッジリストセルを次のク
リップエッジリストセルにする(S734)。次は、c
sx2、cex2、cex1+1、x2の値を比較す
る。この場合は、csx2>=(cex1+1)、ce
x2<=x2であるので(S714でYesの場合)、
図24のフローに従って対象描画エッジリストセルの始
点X座標にcsx2をセットし(S726)、対象描画
エッジリストセルの終点X座標にcex2をセットし
(S727)、新しい描画エッジリストセルを作成し、
その始点X座標にcex2+1をセットし、その終点X
座標にexをセットし、対象描画エッジリストセルの次
に挿入する(S728)。対象描画エッジリストセルを
次の描画エッジリストセルにし(S729)、次のクリ
ップエッジリストセルを対象クリップエッジリストセル
とする(S730)。次は、クリップエッジリストセル
がないので、残りの描画エッジリストをフリーして終了
する。
The operation of clipping the drawing element will be described as an example. In order to clip the polygon P shown in FIG. 17 in the clip area previously created, the drawing vector data representing the polygon P is transferred from the drawing data input unit 11 to the edge list generation unit 14 via the vector generation unit 12. Sent. The edge list generation unit 14 processes the received drawing vector data to create a drawing edge list, and sends it to the clip processing unit 17. Clip processing unit 1
7, the drawing edge list and the clip information storage unit 1
While comparing the clip edge lists stored in No. 6, the processing is performed according to the flowcharts shown in FIGS. As an example of them, the scan line K shown in FIG. 17 will be described. The drawing edge list of the polygon P on the scan line K is received and set as the target drawing edge list (FIG. 17A). Clip edge list on scan line K, that is, FIG.
The clip edge list shown in (c) is read from the clip information storage unit 16 and used as the target clip edge list (FIG. 17 (b)). First, csx1, cex1, x
The values of 1 and x2 are compared. In this case, csx1 <= x
Since 1, cex1 <= x2, cex1> = x1 (Yes in S715), cex1 is set to the end point X coordinate of the target drawing edge list cell according to the flow of FIG. 25 (S731), and the new drawing edge list cell is set. (Set cex1 + 1 as the start point X coordinate and x2 as the end point X coordinate), insert it next to the target drawing edge list cell (S732), make it the target drawing edge list cell (S733), and target clip edge The list cell is set as the next clip edge list cell (S734). Next is c
The values of sx2, cex2, cex1 + 1 and x2 are compared. In this case, csx2> = (cex1 + 1), ce
Since x2 <= x2 (Yes in S714),
According to the flow of FIG. 24, csx2 is set to the start point X coordinate of the target drawing edge list cell (S726), cex2 is set to the end point X coordinate of the target drawing edge list cell (S727), and a new drawing edge list cell is created,
Cex2 + 1 is set to the X coordinate of the starting point, and the end point X
The ex is set to the coordinate and is inserted after the target drawing edge list cell (S728). The target drawing edge list cell is set as the next drawing edge list cell (S729), and the next clip edge list cell is set as the target clip edge list cell (S730). Next, since there is no clip edge list cell, the remaining drawing edge list is freed and the process ends.

【0047】ラスタライズ部18では、以上のようにク
リップ処理部17で処理された描画エッジリストを受け
取り、ラスター変換してページメモリ19へ書き込む。
プリンタ20は、ページメモリ19に書き込まれた情報
を印刷する。例えば、図17で示した描画エッジリスト
をプリントすると、図28のような画像を出力する。こ
こで出力装置は、プリンタに限らず、CRT等の表示装
置でもよいし、また、別の処理装置への入力であっても
よい。
The rasterizing unit 18 receives the drawing edge list processed by the clip processing unit 17 as described above, raster-converts it, and writes it in the page memory 19.
The printer 20 prints the information written in the page memory 19. For example, when the drawing edge list shown in FIG. 17 is printed, the image shown in FIG. 28 is output. Here, the output device is not limited to the printer, and may be a display device such as a CRT, or may be an input to another processing device.

【0048】[0048]

【発明の効果】クリップの処理が、クリップエッジリス
トと描画要素のエッジリストの始点座標値と終点座標値
との簡単な比較の繰り返しで行えるために、任意形状の
クリッッピングを、非常に高速に処理できる。また、複
数のクリップ領域の論理演算に対しても、同様なエッジ
リストの始点座標値と終点座標値との簡単な比較の繰り
返しと、簡単な操作によってエッジリストの再構築がで
きるために、非常に高速になる。またこれらは、太さを
もつベクターであっても余分な処理を必要としないため
に同様に、高速化のメリットが得られる。
Since the clip processing can be performed by repeating simple comparison between the starting point coordinate value and the ending point coordinate value of the clip edge list and the edge list of the drawing element, the clipping of an arbitrary shape is processed at a very high speed. it can. In addition, even for logical operations on multiple clip areas, it is possible to reconstruct the edge list by repeating simple comparison of the start point coordinate value and the end point coordinate value of the same edge list and reconstructing the edge list by a simple operation. To be fast. In addition, since these vectors do not require extra processing even if they have a large thickness, the advantage of speeding up is also obtained.

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

【図1】本実施例のブロック図である。FIG. 1 is a block diagram of this embodiment.

【図2】エッジリストの説明図である。FIG. 2 is an explanatory diagram of an edge list.

【図3】クリップエッジリストの初期設定例を示す図で
ある。
FIG. 3 is a diagram showing an example of initial setting of a clip edge list.

【図4】クリップエッジリストのマージ例を示す図であ
る。
FIG. 4 is a diagram showing an example of merging clip edge lists.

【図5】クリップエッジリスト間のマージ処理のフロー
チャートである。
FIG. 5 is a flowchart of merge processing between clip edge lists.

【図6】クリップエッジリスト間のマージ処理のフロー
チャートである。
FIG. 6 is a flowchart of a merge process between clip edge lists.

【図7】クリップエッジリスト間のマージ処理のフロー
チャートである。
FIG. 7 is a flowchart of merge processing between clip edge lists.

【図8】クリップエッジリスト間のマージ処理のフロー
チャートである。
FIG. 8 is a flowchart of merge processing between clip edge lists.

【図9】クリップエッジリスト間のマージ処理のフロー
チャートである。
FIG. 9 is a flowchart of merge processing between clip edge lists.

【図10】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 10 is a flowchart of merge processing between clip edge lists.

【図11】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 11 is a flowchart of merge processing between clip edge lists.

【図12】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 12 is a flowchart of merge processing between clip edge lists.

【図13】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 13 is a flowchart of merge processing between clip edge lists.

【図14】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 14 is a flowchart of merge processing between clip edge lists.

【図15】クリップエッジリスト間のマージ処理のフロ
ーチャートである。
FIG. 15 is a flowchart of merge processing between clip edge lists.

【図16】クリップエッジリスト間の関係を示す図であ
る。
FIG. 16 is a diagram showing a relationship between clip edge lists.

【図17】エッジリストのクリップ例を示す図である。FIG. 17 is a diagram showing an example of a clip of an edge list.

【図18】クリップ処理のフローチャートである。FIG. 18 is a flowchart of clip processing.

【図19】クリップ処理のフローチャートである。FIG. 19 is a flowchart of clip processing.

【図20】クリップ処理のフローチャートである。FIG. 20 is a flowchart of clip processing.

【図21】クリップ処理のフローチャートである。FIG. 21 is a flowchart of clip processing.

【図22】クリップ処理のフローチャートである。FIG. 22 is a flowchart of clip processing.

【図23】クリップ処理のフローチャートである。FIG. 23 is a flowchart of clip processing.

【図24】クリップ処理のフローチャートである。FIG. 24 is a flowchart of clip processing.

【図25】クリップ処理のフローチャートである。FIG. 25 is a flowchart of clip processing.

【図26】クリップ処理のフローチャートである。FIG. 26 is a flowchart of clip processing.

【図27】エッジリストとクリップエッジリストとの関
係を示す図である。
FIG. 27 is a diagram showing a relationship between an edge list and a clip edge list.

【図28】出力画像の説明図である。FIG. 28 is an explanatory diagram of an output image.

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

11 描画データ入力部 12 ベクター生成部 13 フォントデータ記憶部 14 エッジリスト生成部 15 クリップデータマージ部 16 クリップ情報記憶部 17 クリップ処理部 18 ラスタライズ部 19 ページメモリ 20 プリンタ 11 Drawing Data Input Section 12 Vector Generation Section 13 Font Data Storage Section 14 Edge List Generation Section 15 Clip Data Merge Section 16 Clip Information Storage Section 17 Clip Processing Section 18 Rasterization Section 19 Page Memory 20 Printer

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 入力された描画情報に対して描画を開始
する位置である開始点の情報及び描画を終了する位置で
ある終了点の情報を含むエッジリストに変換する第1の
エッジリスト変換手段と、前記描画情報の一部を表示す
るクリップ情報に対してエッジリストに変換する第2の
エッジリスト変換手段と、前記第1のエッジリスト変換
手段によって変換された描画情報のエッジリスト及び前
記第2のエッジリスト変換手段によって変換されたクリ
ップ情報のエッジリストに基づいてクリップ処理しエッ
ジリストを生成するクリップ処理手段と、前記クリップ
処理手段によってクリップ処理されたエッジリストに基
づいて画像を生成する画像生成手段とを有することを特
徴とする描画装置。
1. A first edge list conversion means for converting input drawing information into an edge list including information on a start point which is a position to start drawing and information on an end point which is a position to end drawing. Second edge list conversion means for converting clip information displaying a part of the drawing information into an edge list; edge list of the drawing information converted by the first edge list conversion means; 2. Clip processing means that performs clip processing based on the edge list of the clip information converted by the edge list conversion means to generate an edge list, and an image that generates an image based on the edge list clipped by the clip processing means. A drawing device comprising: a generation unit.
【請求項2】 入力された描画情報に対して描画を開始
する位置である開始点の情報及び描画を終了する位置で
ある終了点の情報を含むエッジリストに変換する第1の
エッジリスト変換手段と、前記描画情報の一部を表示す
るクリップ情報に対してエッジリストに変換する第2の
エッジリスト変換手段と、前記第2のエッジリスト変換
手段によって変換されたクリップ情報の複数のエッジリ
ストをマージ処理するマージ処理手段と、前記マージ処
理手段によりマージ処理されたエッジリストを記憶する
クリップ情報記憶手段と、前記第1のエッジリスト変換
手段によって変換された描画情報のエッジリスト及び前
記クリップ情報記憶手段に記憶されているエッジリスト
に基づいてクリップ処理しエッジリストを生成するクリ
ップ処理手段と、前記クリップ処理手段によってクリッ
プ処理されたエッジリストに基づいて画像を生成する画
像生成手段とを有することを特徴とする描画装置。
2. A first edge list conversion means for converting the input drawing information into an edge list including information on a start point which is a position to start drawing and information on an end point which is a position to end drawing. A second edge list conversion means for converting the clip information displaying a part of the drawing information into an edge list; and a plurality of edge lists of the clip information converted by the second edge list conversion means. Merge processing means for performing merge processing, clip information storage means for storing the edge list merged by the merge processing means, edge list of drawing information converted by the first edge list conversion means, and the clip information storage Clip processing means for performing clip processing based on an edge list stored in the means to generate an edge list; An image generating unit that generates an image based on the edge list clipped by the clip processing unit.
JP08539593A 1993-03-19 1993-03-19 Drawing equipment Expired - Fee Related JP3178156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08539593A JP3178156B2 (en) 1993-03-19 1993-03-19 Drawing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08539593A JP3178156B2 (en) 1993-03-19 1993-03-19 Drawing equipment

Publications (2)

Publication Number Publication Date
JPH06274643A true JPH06274643A (en) 1994-09-30
JP3178156B2 JP3178156B2 (en) 2001-06-18

Family

ID=13857589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08539593A Expired - Fee Related JP3178156B2 (en) 1993-03-19 1993-03-19 Drawing equipment

Country Status (1)

Country Link
JP (1) JP3178156B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005586A (en) * 1996-02-17 1999-12-21 Fuji Xerox Co., Ltd. Drawing processing apparatus
US6456298B1 (en) 1998-08-18 2002-09-24 Fuji Xerox Co., Ltd. Image processing apparatus and method
US6831660B1 (en) 2000-06-15 2004-12-14 International Business Machines Corporation Method and apparatus for graphics window clipping management in a data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005586A (en) * 1996-02-17 1999-12-21 Fuji Xerox Co., Ltd. Drawing processing apparatus
US6456298B1 (en) 1998-08-18 2002-09-24 Fuji Xerox Co., Ltd. Image processing apparatus and method
US6831660B1 (en) 2000-06-15 2004-12-14 International Business Machines Corporation Method and apparatus for graphics window clipping management in a data processing system

Also Published As

Publication number Publication date
JP3178156B2 (en) 2001-06-18

Similar Documents

Publication Publication Date Title
US4674058A (en) Method and apparatus for flexigon representation of a two dimensional figure
EP0396311B1 (en) Image processing apparatus and method
US4975976A (en) Image transformation method and device
EP0199587A2 (en) Image processing system
US4627002A (en) Method and apparatus for recording characters
US5422991A (en) Parallel vector generator and triangle generator incorporating same
US7948494B2 (en) Character rendering device, display device, and printer
GB2115657A (en) Method of storing characters and photo-typsetting apparatus
JP3178156B2 (en) Drawing equipment
US4974172A (en) Image processing apparatus
US5739818A (en) Apparatus and method for performing perspectively correct interpolation in computer graphics
KR100302163B1 (en) Character generating method and apparatus
JP3034140B2 (en) Character generation method and device
EP0339758B1 (en) Image processing apparatus for performing projective transformations
JP2806679B2 (en) Character generator
JP2630843B2 (en) Straight line drawing method and apparatus
JP2787497B2 (en) Graphic drawing method and apparatus
KR900016896A (en) High quality pattern generation method and apparatus
JP2626792B2 (en) Brush drawing method
JP2895529B2 (en) Character generation method and device, and document creation device
JPH0553559A (en) Line width determination system
JP3211591B2 (en) Image processing device
JP3517982B2 (en) Drawing device
JPH0683972A (en) Curve generating device
JPS62205482A (en) Segment generating circuit of crt display device

Legal Events

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

Free format text: PAYMENT UNTIL: 20080413

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees