JP2634851B2 - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JP2634851B2 JP2634851B2 JP63105987A JP10598788A JP2634851B2 JP 2634851 B2 JP2634851 B2 JP 2634851B2 JP 63105987 A JP63105987 A JP 63105987A JP 10598788 A JP10598788 A JP 10598788A JP 2634851 B2 JP2634851 B2 JP 2634851B2
- Authority
- JP
- Japan
- Prior art keywords
- outline
- vector
- axis direction
- change amount
- created
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
Description
【発明の詳細な説明】 <産業上の利用分野> この発明は、図形の輪郭をアウトラインクトルで表わ
し、このアウトラインベクトルからアウトラインを作成
して、このアウトラインの内部を塗りつぶすようにした
画像処理装置に関する。
し、このアウトラインベクトルからアウトラインを作成
して、このアウトラインの内部を塗りつぶすようにした
画像処理装置に関する。
<従来の技術> 図形の任意領域を塗りつぶす方法としては従来からシ
ードフィルやスキャフィルが知られており、シードフィ
ルは多くの画像処理プロセッサーに採用されているが、
スキャンフィルの比べて処理速度が遅いという欠点があ
る。
ードフィルやスキャフィルが知られており、シードフィ
ルは多くの画像処理プロセッサーに採用されているが、
スキャンフィルの比べて処理速度が遅いという欠点があ
る。
スキャンフィルは第11図に示すように、塗りつぶした
い図形の輪郭をアウトラインベクトルで示し、このアウ
トラインベクトルの向きを、その左側を塗りつぶすと図
形が塗りつぶされるように設定する。例えば、第12図
(a)に示す元データから第12図(b)に示すアウトラ
インベクトルを作成する。そして、このアウトラインベ
クトルから第13図(a)に示すようなアウトラインを作
成し、x方向へスキャニングして、水平走査線と、この
アウトラインとの奇数回目の交差で塗りつぶしを開始
し、偶数回目の交差で塗りつぶしを中止して、第13図
(b)に示すような図形を得るようになっている。
い図形の輪郭をアウトラインベクトルで示し、このアウ
トラインベクトルの向きを、その左側を塗りつぶすと図
形が塗りつぶされるように設定する。例えば、第12図
(a)に示す元データから第12図(b)に示すアウトラ
インベクトルを作成する。そして、このアウトラインベ
クトルから第13図(a)に示すようなアウトラインを作
成し、x方向へスキャニングして、水平走査線と、この
アウトラインとの奇数回目の交差で塗りつぶしを開始
し、偶数回目の交差で塗りつぶしを中止して、第13図
(b)に示すような図形を得るようになっている。
このようなスキャンフィルにより図形を塗りつぶすよ
うにした画像処理装置としては、従来、特公昭53−4101
7号公報に示すようなものがある。この画像処理装置は
アウトラインベクトルから周知のブレーゼンハムのアル
ゴリズムに従ってアウトラインを作成し、例えば第14図
(a)、第15図(a)および第16図(a)に示すような
アウトラインを得るようにしている。
うにした画像処理装置としては、従来、特公昭53−4101
7号公報に示すようなものがある。この画像処理装置は
アウトラインベクトルから周知のブレーゼンハムのアル
ゴリズムに従ってアウトラインを作成し、例えば第14図
(a)、第15図(a)および第16図(a)に示すような
アウトラインを得るようにしている。
そして、x方向へスキャニングして、水平走査線とこ
れらのアウトラインとの奇数回目の交差の際に塗りつぶ
しを開始し、交差した画素も含めて塗りつぶし、偶数回
目の交差の際に塗りつぶしを中止し、交差した画素まで
塗りつぶすようにしている。
れらのアウトラインとの奇数回目の交差の際に塗りつぶ
しを開始し、交差した画素も含めて塗りつぶし、偶数回
目の交差の際に塗りつぶしを中止し、交差した画素まで
塗りつぶすようにしている。
<発明が解決しようとする課題> ところで、上記従来の画像処理装置では、アウトライ
ンを作成する場合、第14図(a)における頂部や第15図
(a)における中央部のようにアウトラインベクトルが
同一画素上に重なった場合には、その画素の位置がアウ
トラインとなる。このため、水平走査線がこのアウトラ
インと交差すると、その画素を含めてその右側の画素を
すべて塗りつぶすつことになり、第14図(b)や第15図
(b)に示すような塗りつぶしの誤りが生じる。また、
第16図(a)のようにスキャン方向と平行なアウトライ
ンが作成された場合、そのアウトラインが、走査線が交
差する最初の画素から数えて奇数番目の画素で終ってい
る場合には、その奇数番目の画素の右側の画素も塗りつ
ぶされるため第16図(b)に示すような塗りつぶしの誤
りが生じる。
ンを作成する場合、第14図(a)における頂部や第15図
(a)における中央部のようにアウトラインベクトルが
同一画素上に重なった場合には、その画素の位置がアウ
トラインとなる。このため、水平走査線がこのアウトラ
インと交差すると、その画素を含めてその右側の画素を
すべて塗りつぶすつことになり、第14図(b)や第15図
(b)に示すような塗りつぶしの誤りが生じる。また、
第16図(a)のようにスキャン方向と平行なアウトライ
ンが作成された場合、そのアウトラインが、走査線が交
差する最初の画素から数えて奇数番目の画素で終ってい
る場合には、その奇数番目の画素の右側の画素も塗りつ
ぶされるため第16図(b)に示すような塗りつぶしの誤
りが生じる。
このような誤りを発生しないようにするため、従来
は、例えば、第13図(a)に示すように、頂部のアウト
ラインからx軸方向に1ドットずれた画素の位置をもア
ウトラインとするような処理をしていた。また、スキャ
ン方向と平行なアウトラインにあっては長さが偶数ドッ
トとなるようにするか始点と終点だけをプロットする処
理をしていた。しかしながら、このようにした場合に
は、この処理を行うホストの処理速度が遅くなりホスト
の負荷も大きくなる。また、ベクトルフォントに上記処
理を施して得られたアウトラインをマスクROMなどのメ
モリに入れておき、そのアウトラインを縮小したり回転
した場合、例えば、第17図(a)に示すアウトラインを
第17図(b)に示すように縮小した場合に、上述したよ
うな塗りつぶしの誤りが発生することがある。また、例
えば第18図(a)に示すアウトラインに上記処理を施す
と第18図(b)のようなアウトラインとなるが、これを
塗りつぶすと第18図(c)のようになり、第18図(a)
で示す図形から形状の異なる図形ができてしまう。
は、例えば、第13図(a)に示すように、頂部のアウト
ラインからx軸方向に1ドットずれた画素の位置をもア
ウトラインとするような処理をしていた。また、スキャ
ン方向と平行なアウトラインにあっては長さが偶数ドッ
トとなるようにするか始点と終点だけをプロットする処
理をしていた。しかしながら、このようにした場合に
は、この処理を行うホストの処理速度が遅くなりホスト
の負荷も大きくなる。また、ベクトルフォントに上記処
理を施して得られたアウトラインをマスクROMなどのメ
モリに入れておき、そのアウトラインを縮小したり回転
した場合、例えば、第17図(a)に示すアウトラインを
第17図(b)に示すように縮小した場合に、上述したよ
うな塗りつぶしの誤りが発生することがある。また、例
えば第18図(a)に示すアウトラインに上記処理を施す
と第18図(b)のようなアウトラインとなるが、これを
塗りつぶすと第18図(c)のようになり、第18図(a)
で示す図形から形状の異なる図形ができてしまう。
このように塗りつぶしを行なった場合に誤りが発生し
たり、形状が異なったりするアウトラインとしては第19
図に示すものが典型的な例としてあげられる。第19図
(a),(b)に示すアウトラインは第14図(a)や第
16図(a)に示したアウトラインと同種のアウトライン
であり、第19図(c)は同一画素を2つの境界が共有す
る場合、第19図(d)は第19図(c)の極限として2つ
の境界が全く一致する場合を示している。そして、丸印
で囲ったアウトラインが誤りの原因となるアウトライン
を示している。
たり、形状が異なったりするアウトラインとしては第19
図に示すものが典型的な例としてあげられる。第19図
(a),(b)に示すアウトラインは第14図(a)や第
16図(a)に示したアウトラインと同種のアウトライン
であり、第19図(c)は同一画素を2つの境界が共有す
る場合、第19図(d)は第19図(c)の極限として2つ
の境界が全く一致する場合を示している。そして、丸印
で囲ったアウトラインが誤りの原因となるアウトライン
を示している。
このように、上記従来の画像処理装置では、アウトラ
イン作成時に第19図に示すようなアウトラインを作成す
るため、このアウトラインに、図形塗りつぶしの際に誤
りを発生しないようにするための処理を施す必要が生
じ、処理速度が遅くなるという問題があった。また、上
記処理を施すために、塗りつぶしたあとの図形の形状が
元の図形の形状と大きく異なってしまい、ドットフォン
トよりも変倍、回転が容易でフォントが美しいベクトル
フォントの特徴を十分生かすことができないという問題
があった。
イン作成時に第19図に示すようなアウトラインを作成す
るため、このアウトラインに、図形塗りつぶしの際に誤
りを発生しないようにするための処理を施す必要が生
じ、処理速度が遅くなるという問題があった。また、上
記処理を施すために、塗りつぶしたあとの図形の形状が
元の図形の形状と大きく異なってしまい、ドットフォン
トよりも変倍、回転が容易でフォントが美しいベクトル
フォントの特徴を十分生かすことができないという問題
があった。
そこで、この発明の目的は、図形の塗りつぶしの誤り
や図形の変形が生じることのない画像処理装置を提供す
ることにある。
や図形の変形が生じることのない画像処理装置を提供す
ることにある。
<課題を解決するための手段> 上記目的を達成するため、第1の発明は、図形の輪郭
をアウトラインベクトルで表し、かつ上記アウトライン
ベクトルの向きを、そのアウトラインベクトルの左側を
塗りつぶすと上記図形が塗りつぶされるように設定し、
上記アウトラインベクトルからアウトラインを作成し、
x軸方向へスキャニングすうることで、上記アウトライ
ンとx軸方向の水平走査線との奇数回目の交差で塗りつ
ぶしを開始し、偶数回目の交差で塗りつぶしを中止する
ようにした画像処理装置において、 上記アウトラインベクトルからアウトラインを作成す
る場合に、上記アウトラインベクトルのy軸方向の変化
量が負か、零か、正かを判別するベクトル変化量判別手
段と、 上記アウトラインベクトルのy軸方向の変化量が負で
あればブレーゼンハムのアルゴリズムに従ってアウトラ
インを作成し、上記アウトラインベクトルのy軸方向の
変化量が零であればアウトラインを作成せず、上記アウ
トラインベクトルのy軸方向の変化量が正であればブレ
ーゼンハムのアルゴリズムで決定される位置からx軸の
水平走査方向へ1ドットシフトした位置にアウトライン
を作成するアウトライン作成手段と、 上記作成されたアウトラインと水平走査線との奇数回
目の交差の際に、その交差位置から塗りつぶしを開始
し、偶数回目に交差した画素の直前の画素まで塗りつぶ
す描画手段と、を備えたことを特徴としている。
をアウトラインベクトルで表し、かつ上記アウトライン
ベクトルの向きを、そのアウトラインベクトルの左側を
塗りつぶすと上記図形が塗りつぶされるように設定し、
上記アウトラインベクトルからアウトラインを作成し、
x軸方向へスキャニングすうることで、上記アウトライ
ンとx軸方向の水平走査線との奇数回目の交差で塗りつ
ぶしを開始し、偶数回目の交差で塗りつぶしを中止する
ようにした画像処理装置において、 上記アウトラインベクトルからアウトラインを作成す
る場合に、上記アウトラインベクトルのy軸方向の変化
量が負か、零か、正かを判別するベクトル変化量判別手
段と、 上記アウトラインベクトルのy軸方向の変化量が負で
あればブレーゼンハムのアルゴリズムに従ってアウトラ
インを作成し、上記アウトラインベクトルのy軸方向の
変化量が零であればアウトラインを作成せず、上記アウ
トラインベクトルのy軸方向の変化量が正であればブレ
ーゼンハムのアルゴリズムで決定される位置からx軸の
水平走査方向へ1ドットシフトした位置にアウトライン
を作成するアウトライン作成手段と、 上記作成されたアウトラインと水平走査線との奇数回
目の交差の際に、その交差位置から塗りつぶしを開始
し、偶数回目に交差した画素の直前の画素まで塗りつぶ
す描画手段と、を備えたことを特徴としている。
また、第2の発明による画像処理装置は、図形の輪郭
をアウトラインベクトルで表し、かつ上記アウトライン
ベクトルの向きを、そのアウトラインベクトルの左側を
塗りつぶすと上記図形が塗りつぶされるように設定し、
上記アウトラインベクトルからアウトラインを作成し、
x軸方向へスキャニングすることで、上記アウトライン
とx軸方向の水平走査線との奇数回目の交差で塗りつぶ
しを開始し、偶数回目の交差で塗りつぶしを中止するよ
うにした画像処理装置において、 上記アウトラインベクトルからアウトラインを作成す
る場合に、上記アウトラインベクトルのy軸方向の変化
量が負か零か正かを判別するベクトル変化量判別手段
と、 上記アウトラインベクトルのy軸方向の変化量が負で
あればブレーゼンハムのアルゴリズムに従ってアウトラ
インを作成し、上記アウトラインベクトルのy軸方向の
変化量が零であればアウトラインを作成せず、上記アウ
トラインベクトルのy軸方向の変化量が正であればブレ
ーゼンハムのアルゴリズムで決定される位置からx軸の
水平走査方向へ1ドットシフトした位置にアウトライン
を作成するアウトライン作成手段と、 作成されたアウトラインデータを順次記憶するメモリ
と、 上記アウトライン作成手段が作成したアウトライン
と、上記メモリに記憶されたアウトラインデータと対応
するアドレス位置に格納されたデータとの排他的論理和
をとって修正アウトラインとし、その修正アウトライン
を上記メモリの対応するアドレス位置に格納する修正ア
ウトライン作成手段と、 上記メモリに格納された修正アウトラインを読み出
し、その修正アウトラインと水平走査線との奇数回目の
交差の際に、その交差位置から塗りつぶしを開始し、偶
数回目に交差した画素の直前の画素まで塗りつぶす描画
手段と、を備えたことを特徴としている。
をアウトラインベクトルで表し、かつ上記アウトライン
ベクトルの向きを、そのアウトラインベクトルの左側を
塗りつぶすと上記図形が塗りつぶされるように設定し、
上記アウトラインベクトルからアウトラインを作成し、
x軸方向へスキャニングすることで、上記アウトライン
とx軸方向の水平走査線との奇数回目の交差で塗りつぶ
しを開始し、偶数回目の交差で塗りつぶしを中止するよ
うにした画像処理装置において、 上記アウトラインベクトルからアウトラインを作成す
る場合に、上記アウトラインベクトルのy軸方向の変化
量が負か零か正かを判別するベクトル変化量判別手段
と、 上記アウトラインベクトルのy軸方向の変化量が負で
あればブレーゼンハムのアルゴリズムに従ってアウトラ
インを作成し、上記アウトラインベクトルのy軸方向の
変化量が零であればアウトラインを作成せず、上記アウ
トラインベクトルのy軸方向の変化量が正であればブレ
ーゼンハムのアルゴリズムで決定される位置からx軸の
水平走査方向へ1ドットシフトした位置にアウトライン
を作成するアウトライン作成手段と、 作成されたアウトラインデータを順次記憶するメモリ
と、 上記アウトライン作成手段が作成したアウトライン
と、上記メモリに記憶されたアウトラインデータと対応
するアドレス位置に格納されたデータとの排他的論理和
をとって修正アウトラインとし、その修正アウトライン
を上記メモリの対応するアドレス位置に格納する修正ア
ウトライン作成手段と、 上記メモリに格納された修正アウトラインを読み出
し、その修正アウトラインと水平走査線との奇数回目の
交差の際に、その交差位置から塗りつぶしを開始し、偶
数回目に交差した画素の直前の画素まで塗りつぶす描画
手段と、を備えたことを特徴としている。
<作用> 第1の発明においては、アウトラインベクトルからア
ウトラインを作成する場合に、ベクトル変化量判別手段
が、上記アウトラインベクトルのy軸方向の変化量を判
別し、アウトライン作成手段が、上記アウトラインベク
トルのy軸方向の変化量に応じてアウトラインを作成す
るか否かを決定し、アウトラインを作成する場合、特に
y軸方向の変化量が正であればブレーゼンハムのアルゴ
リズムに従って決定される位置から1ドットだけ、x軸
の水平走査線方向にシフトして作成する。そして、描画
手段が、上記アウトライン作成手段が作成したアウトラ
インと水平走査線との奇数回目の交差の際に、その交差
位置より塗りつぶしを開始し、偶数回目の交差した画素
の直前までの画素を塗りつぶす。
ウトラインを作成する場合に、ベクトル変化量判別手段
が、上記アウトラインベクトルのy軸方向の変化量を判
別し、アウトライン作成手段が、上記アウトラインベク
トルのy軸方向の変化量に応じてアウトラインを作成す
るか否かを決定し、アウトラインを作成する場合、特に
y軸方向の変化量が正であればブレーゼンハムのアルゴ
リズムに従って決定される位置から1ドットだけ、x軸
の水平走査線方向にシフトして作成する。そして、描画
手段が、上記アウトライン作成手段が作成したアウトラ
インと水平走査線との奇数回目の交差の際に、その交差
位置より塗りつぶしを開始し、偶数回目の交差した画素
の直前までの画素を塗りつぶす。
また、第2の発明においては、アウトラインベクトル
からアウトラインを作成する場合においては、上述と同
様にして行う一方、修正アウトライン作成手段は、上記
アウトライン作成手段が作成したアウトラインと、該ア
ウトライン作成手段にて既に作成したアウトラインを記
憶したメモリのそのアウトライン位置に対応したアドレ
ス位置のデータとの排他的論理和を行って得た修正デー
タを、上記メモリの上記対応したアドレス位置に格納す
る。この修正したアウトラインデータに基づいて、上述
したように描画手段にて塗りつぶしを行う。
からアウトラインを作成する場合においては、上述と同
様にして行う一方、修正アウトライン作成手段は、上記
アウトライン作成手段が作成したアウトラインと、該ア
ウトライン作成手段にて既に作成したアウトラインを記
憶したメモリのそのアウトライン位置に対応したアドレ
ス位置のデータとの排他的論理和を行って得た修正デー
タを、上記メモリの上記対応したアドレス位置に格納す
る。この修正したアウトラインデータに基づいて、上述
したように描画手段にて塗りつぶしを行う。
従って、第1の発明および第2の発明とも、図形のぬ
りつぶしに誤りが生じることがなく、ぬりつぶした図形
が元の図形から変形したりすることがない。
りつぶしに誤りが生じることがなく、ぬりつぶした図形
が元の図形から変形したりすることがない。
<実施例> 以下、この発明を図示の実施例により詳細に説明す
る。
る。
第1の発明の実施例 第1図(a)および第2図(a),(b),(c),
(d)は本実施例の画像処理装置により作成されたアウ
トラインの例であり、それぞれ、従来例における第14図
(a)および第19図(a),(b),(c),(d)に
対応したものである。
(d)は本実施例の画像処理装置により作成されたアウ
トラインの例であり、それぞれ、従来例における第14図
(a)および第19図(a),(b),(c),(d)に
対応したものである。
これらのアウトラインに示すようにこの画像処理装置
は、アウトラインベクトルのy軸方向の変化量が負であ
れば従来例と同様ブレーゼンハムのアルゴリズムに従っ
てアウトラインを作成し、アウトラインベクトルのy軸
方向の変化量が零であれば、すなわちx軸に対して平行
であれば、アウトラインを作成せず、アウトラインベク
トルのy軸方向の変化量が正であればブレーゼンハムの
アルゴリズムで決定される位置からx軸方向に1ドット
シフトした位置にアウトラインを作成するようになって
いる。
は、アウトラインベクトルのy軸方向の変化量が負であ
れば従来例と同様ブレーゼンハムのアルゴリズムに従っ
てアウトラインを作成し、アウトラインベクトルのy軸
方向の変化量が零であれば、すなわちx軸に対して平行
であれば、アウトラインを作成せず、アウトラインベク
トルのy軸方向の変化量が正であればブレーゼンハムの
アルゴリズムで決定される位置からx軸方向に1ドット
シフトした位置にアウトラインを作成するようになって
いる。
そして、x軸方向にスキャニングして、アウトライン
と水平走査線との奇数回目の交差の際に塗りつぶしを開
始し、交差した画素も含めて塗りつぶし、偶数回目の交
差の際に塗りつぶしを中止して、偶数回目に交差した画
素の直前の画素までを塗りつぶすようになっている。こ
のように塗りつぶすことにより上記アウトラインで示さ
れる図形はそれぞれ第1図(b)および第3図(a),
(b),(c),(d)に示すように塗りつぶされる。
と水平走査線との奇数回目の交差の際に塗りつぶしを開
始し、交差した画素も含めて塗りつぶし、偶数回目の交
差の際に塗りつぶしを中止して、偶数回目に交差した画
素の直前の画素までを塗りつぶすようになっている。こ
のように塗りつぶすことにより上記アウトラインで示さ
れる図形はそれぞれ第1図(b)および第3図(a),
(b),(c),(d)に示すように塗りつぶされる。
従って、従来例における第14図(b)、第15図
(b)、第16図(b)に示すような塗りつぶしにおける
誤りが生じることがなく、第18図に示すような図形の変
形が生じることもない。
(b)、第16図(b)に示すような塗りつぶしにおける
誤りが生じることがなく、第18図に示すような図形の変
形が生じることもない。
第4図はアウトラインベクトルデータから上記アウト
ライン(ラスターデータ)を作成するための回路の構成
を示すブロック図であり、第5図はこの回路の動作を示
すフローチャートである。
ライン(ラスターデータ)を作成するための回路の構成
を示すブロック図であり、第5図はこの回路の動作を示
すフローチャートである。
第4,5図において、まずマスクROMなどにストアされた
アウトラインベクトルデータとsinθ,cosθ,Sx(x方向
変倍率)、Sy(y方向変倍率)などのアフィン変換パラ
メータがDDAの前処理部41に入力される。このDDAの前処
理部41は内蔵した乗算器と加算器によって、上記アフィ
ン変換パラメータにもとづいてアウトラインベクトルデ
ータの回転、変倍、傾斜などのアフィン変換処理を行な
う。そして、アフィン変換処理が済んだアウトラインベ
クトルデータをx,y絶対アドレスに変換したのち、ブレ
ーゼンハムのアルゴリズムの前処理を行う。このブレー
ゼンハムのアルゴリズムの前処理において、△yが正で
あればカレントポイタを1ドットx方向にシフトし、△
yが零であれば描画せず、△yが負であればブレーゼン
ハムのアルゴリズムの前処理をするだけでカレントポイ
ンタはシフトしない。次に、この処理したデータをブレ
ーゼンハムの描画部42に出力する。
アウトラインベクトルデータとsinθ,cosθ,Sx(x方向
変倍率)、Sy(y方向変倍率)などのアフィン変換パラ
メータがDDAの前処理部41に入力される。このDDAの前処
理部41は内蔵した乗算器と加算器によって、上記アフィ
ン変換パラメータにもとづいてアウトラインベクトルデ
ータの回転、変倍、傾斜などのアフィン変換処理を行な
う。そして、アフィン変換処理が済んだアウトラインベ
クトルデータをx,y絶対アドレスに変換したのち、ブレ
ーゼンハムのアルゴリズムの前処理を行う。このブレー
ゼンハムのアルゴリズムの前処理において、△yが正で
あればカレントポイタを1ドットx方向にシフトし、△
yが零であれば描画せず、△yが負であればブレーゼン
ハムのアルゴリズムの前処理をするだけでカレントポイ
ンタはシフトしない。次に、この処理したデータをブレ
ーゼンハムの描画部42に出力する。
このブレーゼンハムの描画部42は上記DDAの前処理部4
1から出力されたデータを内部出力バッファにブレーゼ
ンハムのアルゴリズムに従って書き込む。この場合、△
yによる処理はDDAの前処理部41で行われているのでブ
レーゼンハムの描画部42では意識しなくてもよい。
1から出力されたデータを内部出力バッファにブレーゼ
ンハムのアルゴリズムに従って書き込む。この場合、△
yによる処理はDDAの前処理部41で行われているのでブ
レーゼンハムの描画部42では意識しなくてもよい。
上記ブレーゼンハムの描画部42の内部出力バッファに
書き込まれたデータは出力バッファ43に移される。そし
て、この出力バッファ43からアイトライン(ラスターデ
ータ)が出力される。
書き込まれたデータは出力バッファ43に移される。そし
て、この出力バッファ43からアイトライン(ラスターデ
ータ)が出力される。
上記動作におけるアフィン変換によりアウトラインベ
クトルを縮小した場合、第6図(a)や第7図(a)に
示すようなアウトラインベクトルとなることがある。第
6図(a)の場合はアウトラインは第6図(b)のよう
になり、このアウトラインにもとづいて塗りつぶすと第
6図(c)に示すようになり問題はない。しかし、第7
図(a)の場合は、アウトラインが第7図(b)のよう
になり、このアウトラインにもとづいて塗りつぶすと第
7図(c)のように誤りが生じるので、このようなアウ
トラインベクトルの場合には塗りつぶしを行わないよう
にして誤りを防ぐようにしている。
クトルを縮小した場合、第6図(a)や第7図(a)に
示すようなアウトラインベクトルとなることがある。第
6図(a)の場合はアウトラインは第6図(b)のよう
になり、このアウトラインにもとづいて塗りつぶすと第
6図(c)に示すようになり問題はない。しかし、第7
図(a)の場合は、アウトラインが第7図(b)のよう
になり、このアウトラインにもとづいて塗りつぶすと第
7図(c)のように誤りが生じるので、このようなアウ
トラインベクトルの場合には塗りつぶしを行わないよう
にして誤りを防ぐようにしている。
第2の発明の実施例 本実施例の画像処理装置は、アウトラインベクトルか
らアウトラインを作成する場合に、アウトラインベクト
ルのy軸方向の変化量が零が否かを判別し、その変化量
が零であればアウトラインを作成せず、零でなければブ
レーゼンハムのアルゴリズムに従ってアウトラインを作
成する。そして、このアウトラインと、画像メモリのそ
のアウトラインの位置に対応したアドレスに格納された
データ(以下、ディスティネーションデータと云う)と
の排他的論理和をとって修正アウトラインとし、その修
正アウトラインを上記画像メモリの上記アドレスに格納
する。そして、この画像メモリに格納した修正アウトラ
インを読み出し、x軸方向にスキャニングしてその修正
アウトラインと水平走査線との奇数回目の交差の際に塗
りつぶしを開始し、交差した画素も含めて塗りつぶし、
偶数回目の交差の際に塗りつぶしを中止して、交差した
画素まで塗りつぶすようにしている。
らアウトラインを作成する場合に、アウトラインベクト
ルのy軸方向の変化量が零が否かを判別し、その変化量
が零であればアウトラインを作成せず、零でなければブ
レーゼンハムのアルゴリズムに従ってアウトラインを作
成する。そして、このアウトラインと、画像メモリのそ
のアウトラインの位置に対応したアドレスに格納された
データ(以下、ディスティネーションデータと云う)と
の排他的論理和をとって修正アウトラインとし、その修
正アウトラインを上記画像メモリの上記アドレスに格納
する。そして、この画像メモリに格納した修正アウトラ
インを読み出し、x軸方向にスキャニングしてその修正
アウトラインと水平走査線との奇数回目の交差の際に塗
りつぶしを開始し、交差した画素も含めて塗りつぶし、
偶数回目の交差の際に塗りつぶしを中止して、交差した
画素まで塗りつぶすようにしている。
第10図はこの画像処理装置における、アウトラインベ
クトルから修正アウトラインを作成するための回路の構
成を示すブロック図である。この回路は、入力されたベ
クトルデータをメジャー軸の決定その他のDDAを行うう
えでの前処理を行うDDAの前処理部101とDDA発生器102と
で、入力されたアウトラインベクトルからアウトライン
を作成してm×nドットからなるDDAバッファ103に描画
する。そして、このデータがこのDDAバッファ103からオ
ーバーフローするとオーバーフローしたデータを画像メ
モリ105へ書き込みに行く。このとき、排他的論理和(E
XOR)回路104は、この書き込むアウトラインと画像メモ
リディスティネーションデータとのEXORをとりながら、
リード・モディファイ・ライトで、EXORの結果である修
正アウトラインを画像メモリ105に書き込む。
クトルから修正アウトラインを作成するための回路の構
成を示すブロック図である。この回路は、入力されたベ
クトルデータをメジャー軸の決定その他のDDAを行うう
えでの前処理を行うDDAの前処理部101とDDA発生器102と
で、入力されたアウトラインベクトルからアウトライン
を作成してm×nドットからなるDDAバッファ103に描画
する。そして、このデータがこのDDAバッファ103からオ
ーバーフローするとオーバーフローしたデータを画像メ
モリ105へ書き込みに行く。このとき、排他的論理和(E
XOR)回路104は、この書き込むアウトラインと画像メモ
リディスティネーションデータとのEXORをとりながら、
リード・モディファイ・ライトで、EXORの結果である修
正アウトラインを画像メモリ105に書き込む。
例えば、第8図(a)に示すアウトラインベクトルを
x座標、y座標とも10分の1に縮小して第8図(b)に
示すアウトラインベクトルを得たとする。そして、この
第8図(b)に示すアウトラインベクトルから修正アウ
トラインを作成する場合は、まず、第9図(a)に示す
ように画像メモリ105の描画領域をクリアする。そし
て、ベクトルV1,V2を画像メモリ105のディスティネーシ
ョンデータ(この場合は零)とEXORをとって画像メモリ
105に描画すると第9図(b)のようになる。次にベク
トルV3,V4を画像メモリ105のディスティネーションデー
タ(この場合は1)とEXORをとって画像メモリ105に描
画すると第9図(c)のようになる。つまり、第9図
(c)に示すように先に作成したベクトルV1,V2による
アウトラインと逆向きとなるベクトルV3,V4のアウトラ
インが同一位置になるため、このベクトルV3,V4による
アウトラインデータと先のアウトラインデータとのEXOR
により、先に記憶された第9図(b)の内容が消される
ことになる。
x座標、y座標とも10分の1に縮小して第8図(b)に
示すアウトラインベクトルを得たとする。そして、この
第8図(b)に示すアウトラインベクトルから修正アウ
トラインを作成する場合は、まず、第9図(a)に示す
ように画像メモリ105の描画領域をクリアする。そし
て、ベクトルV1,V2を画像メモリ105のディスティネーシ
ョンデータ(この場合は零)とEXORをとって画像メモリ
105に描画すると第9図(b)のようになる。次にベク
トルV3,V4を画像メモリ105のディスティネーションデー
タ(この場合は1)とEXORをとって画像メモリ105に描
画すると第9図(c)のようになる。つまり、第9図
(c)に示すように先に作成したベクトルV1,V2による
アウトラインと逆向きとなるベクトルV3,V4のアウトラ
インが同一位置になるため、このベクトルV3,V4による
アウトラインデータと先のアウトラインデータとのEXOR
により、先に記憶された第9図(b)の内容が消される
ことになる。
この修正アウトラインの作成方法を第7図(a)に示
すアウトラインベクトルに適用すると修正アウトライン
が現われないので第7図(c)に示すような塗りつぶし
の誤りが生じない。
すアウトラインベクトルに適用すると修正アウトライン
が現われないので第7図(c)に示すような塗りつぶし
の誤りが生じない。
また、この画像処理装置によれば、第14図(b)、第
15図(b)および第16図(b)に示すような塗りつぶし
の誤りや、第18図(c)に示すような図形の変形が生じ
ないことが容易に分る。
15図(b)および第16図(b)に示すような塗りつぶし
の誤りや、第18図(c)に示すような図形の変形が生じ
ないことが容易に分る。
<発明の効果> 以上より明らかなように、第1の発明あるいは第2の
発明の画像処理装置によれば以下のような効果がある。
発明の画像処理装置によれば以下のような効果がある。
従来例では塗りつぶしの誤りが生じたアウトライン
ベクトルに対しても塗りつぶしの誤りの生じないアウト
ラインを作成することができ、塗りつぶしたあとの図形
が元の図形から変形しない。
ベクトルに対しても塗りつぶしの誤りの生じないアウト
ラインを作成することができ、塗りつぶしたあとの図形
が元の図形から変形しない。
ホストの助けなくハードのみでアウトラインベクト
ルからアウトラインを作成できるので高速処理が可能で
ある。
ルからアウトラインを作成できるので高速処理が可能で
ある。
アウトラインベクトルの変倍、回転などの処理をし
てからアウトラインを作成しても塗りつぶしの誤りの生
じないアウトラインを作成できるので、1つのベクトル
フォントから複数のサイズのドットフォントを得ること
ができ、メモリの容量を少なくすることができる。
てからアウトラインを作成しても塗りつぶしの誤りの生
じないアウトラインを作成できるので、1つのベクトル
フォントから複数のサイズのドットフォントを得ること
ができ、メモリの容量を少なくすることができる。
第1,2,3図は第1の発明の実施例によって作成されたア
ウトラインと塗りつぶされた図形を示す図、第4図は上
記実施例におけるアウトラインベクトルからアウトライ
ンを作成する回路のブロック図、第5図は上記回路の動
作を示すフローチャート、第6,7図は上記実施例におけ
るx軸方向に1ドットに縮小されたアウトラインベクト
ルと、それにもとづいて作成されたアウトラインと塗り
つぶされた図形を示す図、第8図は第2の発明の実施例
を説明するためのアウトラインベクトルデータを示す
図、第9図は第8図のアウトラインベクトルをもとに作
成された修正アウトラインを示す図、第10図は第2の発
明の実施例におけるアウトラインベクトルから修正アウ
トラインを作成する回路のブロック図、第11図はアウト
ラインベクトルを説明する図、第12,13図はスキャンフ
ィルによる図形の塗りつぶしを説明する図、第14,15,16
図は従来の画像処理装置によって作成されたアウトライ
ンと塗りつぶしの誤りが生じた図形を示す図、第17図は
上記従来例における縮小されたアウトラインが塗りつぶ
しの誤りを生じるアウトラインとなる場合を示す図、第
18図は上記従来例における図形の変形を説明する図、第
19図は上記従来例における塗りつぶしの誤りが生じるア
ウトラインの典型例を示す図である。 41,101……DDAの前処理部、 42……ブレーゼンハムの描画部、 43……出力バッファ、102……DDA発生器、 103……DDAバッファ、104……EXOR回路、 105……画像メモリ。
ウトラインと塗りつぶされた図形を示す図、第4図は上
記実施例におけるアウトラインベクトルからアウトライ
ンを作成する回路のブロック図、第5図は上記回路の動
作を示すフローチャート、第6,7図は上記実施例におけ
るx軸方向に1ドットに縮小されたアウトラインベクト
ルと、それにもとづいて作成されたアウトラインと塗り
つぶされた図形を示す図、第8図は第2の発明の実施例
を説明するためのアウトラインベクトルデータを示す
図、第9図は第8図のアウトラインベクトルをもとに作
成された修正アウトラインを示す図、第10図は第2の発
明の実施例におけるアウトラインベクトルから修正アウ
トラインを作成する回路のブロック図、第11図はアウト
ラインベクトルを説明する図、第12,13図はスキャンフ
ィルによる図形の塗りつぶしを説明する図、第14,15,16
図は従来の画像処理装置によって作成されたアウトライ
ンと塗りつぶしの誤りが生じた図形を示す図、第17図は
上記従来例における縮小されたアウトラインが塗りつぶ
しの誤りを生じるアウトラインとなる場合を示す図、第
18図は上記従来例における図形の変形を説明する図、第
19図は上記従来例における塗りつぶしの誤りが生じるア
ウトラインの典型例を示す図である。 41,101……DDAの前処理部、 42……ブレーゼンハムの描画部、 43……出力バッファ、102……DDA発生器、 103……DDAバッファ、104……EXOR回路、 105……画像メモリ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−163164(JP,A) 特開 昭59−71093(JP,A) 特開 昭62−192878(JP,A) 電子情報通信ハンドブック(電子情報 通信学会編、S63.3オーム社発行)第 2分冊P.1968
Claims (2)
- 【請求項1】図形の輪郭をアウトラインベクトルで表
し、かつ上記アウトラインベクトルの向きを、そのアウ
トラインベクトルの左側を塗りつぶすと上記図形が塗り
つぶされるように設定し、上記アウトラインベクトルか
らアウトラインを作成し、x軸方向へスキャニングする
ことで、上記ウトラインとx軸方向の水平走査線との奇
数回目の交差で塗りつぶしを開始し、偶数回目の交差で
塗りつぶしを中止するようにした画像処理装置におい
て、 上記アウトラインベクトルからアウトラインを作成する
場合に、上記アウトラインベクトルのy軸方向の変化量
が負か零か正かを判別するベクトル変化量判別手段と、 上記アウトラインベクトルのy軸方向の変化量が負であ
ればブレーゼンハムのアルゴリズムに従ってアウトライ
ンを作成し、上記アウトラインベクトルのy軸方向の変
化量が零であればアウトラインを作成せず、上記アウト
ラインベクトルのy軸方向の変化量が正であればブレー
ゼンハムのアルゴリズムで決定される位置からx軸の水
平走査方向へ1ドットシフトした位置にアウトラインを
作成するアウトライン作成手段と、 上記作成されたアウトラインと水平走査線との奇数回目
の交差の際に、その交差位置から塗りつぶしを開始し、
偶数回目に交差した画素の直前の画素まで塗りつぶす描
画手段と、を備えたことを特徴とする画像処理装置。 - 【請求項2】図形の輪郭をアウトラインベクトルで表
し、かつ上記アウトラインベクトルの向きを、そのアウ
トラインベクトルの左側を塗りつぶすと上記図形が塗り
つぶされるように設定し、上記アウトラインベクトルか
らアウトラインを作成し、x軸方向へスキャニングする
ことで、上記アウトラインとx軸方向の水平走査線との
奇数回目の交差で塗りつぶしを開始し、偶数回目の交差
で塗りつぶしを中止するようにした画像処理装置におい
て、 上記アウトラインベクトルからアウトラインを作成する
場合に、上記アウトラインベクトルのy軸方向の変化量
が負か零か正かを判別するベクトル変化量判別手段と、 上記アウトラインベクトルのy軸方向の変化量が負であ
ればブレーゼンハムのアルゴリズムに従ってアウトライ
ンを作成し、上記アウトラインベクトルのy軸方向の変
化量が零であればアウトラインを作成せず、上記アウト
ラインベクトルのy軸方向の変化量が正であればブレー
ゼンハムのアルゴリズムで決定される位置からx軸の水
平走査方向へ1ドットシフトした位置にアウトラインを
作成するアウトライン作成手段と、 作成されたアウトラインデータを順次記憶するメモリ
と、 上記アウトライン作成手段が作成したアウトラインと、
上記メモリに記憶されたアウトラインデータと対応する
アドレス位置に格納されたデータとの排他的論理和をと
って修正アウトラインとし、その修正アウトラインを上
記メモリの対応するアドレス位置に格納する修正アウト
ライン作成手段と、 上記メモリに格納された修正アウトラインを読み出し、
その修正アウトラインと水平走査線との奇数回目の交差
の際に、その交差位置から塗りつぶしを開始し、数数回
目に交差した画素の直前の画素まで塗りつぶす描画手段
と、を備えたことを特徴とする画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63105987A JP2634851B2 (ja) | 1988-04-28 | 1988-04-28 | 画像処理装置 |
US07/341,852 US4974172A (en) | 1988-04-28 | 1989-04-24 | Image processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63105987A JP2634851B2 (ja) | 1988-04-28 | 1988-04-28 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01276380A JPH01276380A (ja) | 1989-11-06 |
JP2634851B2 true JP2634851B2 (ja) | 1997-07-30 |
Family
ID=14422082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63105987A Expired - Fee Related JP2634851B2 (ja) | 1988-04-28 | 1988-04-28 | 画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4974172A (ja) |
JP (1) | JP2634851B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2735125B2 (ja) * | 1988-11-11 | 1998-04-02 | キヤノン株式会社 | 図形処理装置 |
US5073960A (en) * | 1989-05-18 | 1991-12-17 | Sharp Kabushiki Kaisha | Image processing method using improved Bresenham algorithm in creating an outline of a figure to be painted and apparatus adopting the method |
US5241653A (en) * | 1990-04-12 | 1993-08-31 | Adobe Systems Incorporated | Apparatus and method for adjusting and displaying scaled, rasterized characters |
JP2770582B2 (ja) * | 1991-03-12 | 1998-07-02 | 富士ゼロックス株式会社 | 図形塗潰し装置 |
US5553219A (en) * | 1991-05-10 | 1996-09-03 | Fuji Xerox Co., Ltd. | Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data |
US5469536A (en) * | 1992-02-25 | 1995-11-21 | Imageware Software, Inc. | Image editing system including masking capability |
US5345313A (en) * | 1992-02-25 | 1994-09-06 | Imageware Software, Inc | Image editing system for taking a background and inserting part of an image therein |
US5577179A (en) * | 1992-02-25 | 1996-11-19 | Imageware Software, Inc. | Image editing system |
US5610688A (en) * | 1993-11-05 | 1997-03-11 | Sharp Kabushiki Kaisha | Image forming apparatus having illegal use prevention |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4199815A (en) * | 1978-05-12 | 1980-04-22 | Electra Corporation | Typesetter character generating apparatus |
JPS5971093A (ja) * | 1982-10-18 | 1984-04-21 | 株式会社日立製作所 | 塗潰し図形発生装置 |
JPH061493B2 (ja) * | 1984-02-02 | 1994-01-05 | 日本電気株式会社 | 画像の塗りつぶし装置 |
JPH0750508B2 (ja) * | 1985-04-08 | 1995-05-31 | 株式会社日立製作所 | 描画処理装置 |
JPS62192878A (ja) * | 1986-02-20 | 1987-08-24 | Nippon Gakki Seizo Kk | 多角形の塗りつぶし方法 |
JP2621138B2 (ja) * | 1986-05-31 | 1997-06-18 | カシオ計算機株式会社 | 重ね文字発生方式 |
JPS6364089A (ja) * | 1986-09-04 | 1988-03-22 | 日本電気株式会社 | 文字パタ−ン発生方式 |
-
1988
- 1988-04-28 JP JP63105987A patent/JP2634851B2/ja not_active Expired - Fee Related
-
1989
- 1989-04-24 US US07/341,852 patent/US4974172A/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
電子情報通信ハンドブック(電子情報通信学会編、S63.3オーム社発行)第2分冊P.1968 |
Also Published As
Publication number | Publication date |
---|---|
JPH01276380A (ja) | 1989-11-06 |
US4974172A (en) | 1990-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0360155B1 (en) | Image transformation method and device | |
JP2634851B2 (ja) | 画像処理装置 | |
JP3009525B2 (ja) | ベクトル画像描画装置 | |
JP2770582B2 (ja) | 図形塗潰し装置 | |
US6504543B1 (en) | Polygon drawing method and polygon drawing apparatus | |
JPH09325750A (ja) | 画像処理装置および方法 | |
JPS63305478A (ja) | パタ−ン情報復元装置 | |
JPH087794B2 (ja) | 画像処理方法 | |
JP2634906B2 (ja) | 画像処理方法 | |
JP3129717B2 (ja) | 画像処理装置および画像処理方法 | |
JP2782904B2 (ja) | 多角形塗りつぶし方式 | |
JP3139805B2 (ja) | 画像処理方法及びその装置 | |
JP2613653B2 (ja) | 画像処理装置 | |
JP2610825B2 (ja) | 図形処理装置 | |
JP3211591B2 (ja) | イメージ処理装置 | |
JP2630843B2 (ja) | 直線描画方法及び装置 | |
JPH0520466A (ja) | 画像処理方法及びその装置 | |
JP2782752B2 (ja) | 文字パターン出力装置 | |
KR940001106B1 (ko) | 선폭보정방법 및 그 장치 | |
JP3099556B2 (ja) | データ変換装置 | |
JP2641790B2 (ja) | ベクトルのラスタ変換装置 | |
JPH0350686A (ja) | 図形処理方式 | |
JP2787497B2 (ja) | 図形描画方法及び装置 | |
JP2000298729A (ja) | 二次元画像生成装置 | |
JPH0520468A (ja) | 画像処理方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |