(57)【特許請求の範囲】
【請求項１】
ビットマップ方式のイメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換するイメージ図形変換装置において、
イメージ図形の輪郭上の任意の１点を開始点とし、この開始点から１ドットづつ輪郭上を走査し、
その走査方向がＸ方向あるいはＹ方向で反転したときにその１つ前のドットを曲線の終了点として検出し、開始点から終了点までのドット長をこの曲線の長さとして検出すると共に、この終了点を次の曲線の開始点とする動作を輪郭全体に対して行い、
前記検出された各曲線の長さが予め決められた基準長以上か否かを判断し、基準長以上であれば、当該曲線を１つの曲線として確定し、基準長未満であれば、当該曲線の前後に隣接する曲線同士の長さを比較し、短い方の曲線と当該曲線の長さとを加算し、
この加算した長さが前記基準長以上か否かを判断し、基準長以上であれば、加算した長さを持つ曲線を１つの曲線として確定する、
動作を繰り返すことによってイメージ図形を構成する輪郭を複数の曲線に対応する図形データに変換するようにしたことを特徴とするイメージ図形変換方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、イメージ図形処理機能を備えたパーソナルコンピュータやワードプロセッサ等において、ビットマップ方式のイメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換するイメージ図形変換方法に関する。
【０００２】
【従来の技術】
従来、イメージ図形を解析してその輪郭を座標データに変換する場合、イメージ図形の輪郭線上を走査し、その走査方向がＸ方向あるいはＹ方向で反転した際に、その折り返し点を抽出することによって輪郭線をいくつかのエリア（曲線）に分割するようにしている。図１２は、この場合の具体例を示し、図中、破線で示したイメージ図形において、その輪郭上の任意の１点を開始点Ｐ０として輪郭線上を時計回りに走査し、その走査方向が反転する毎にその折り返し点Ｐ１、Ｐ２、Ｐ３、……Ｐ９を抽出することにより各折り返し点に対応してこの輪郭線は１０個のエリアに分割される。
そして、各エリアに対して例えば回帰計算によってベジェール曲線等を発生させることにより図中、実線で示したような図形を描画するようにしている。
【０００３】
【発明が解決しようとする課題】
しかしながら、イメージ図形の輪郭が細かく振動するような部分（例えば、図１２においてはＰ０〜Ｐ４間）は、描画された曲線が荒くなり、それだけ見栄えが悪くなるだけではなく、その荒い個所だけ曲線の本数が多くなってしまい、図形メモリを大量に消費してしまうという欠点があった。
この発明の課題は、イメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換する際に、輪郭が細かく振動するような部分については、曲線の長さが極端に短くなるため、この曲線の長さに応じてそれに隣接する他の曲線と連結することにより、本来の図形イメージを崩すことなく当該部分を滑らかな曲線に補正できるようにすることである。
【０００４】
【課題を解決するための手段】
この発明は、ビットマップ方式のイメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換するイメージ図形変換装置において、イメージ図形の輪郭上の任意の１点を開始点とし、この開始点から１ドットづつ輪郭上を走査し、その走査方向がＸ方向あるいはＹ方向で反転したときにその１つ前のドットを曲線の終了点として検出し、開始点から終了点までのドット長をこの曲線の長さとして検出すると共に、この終了点を次の曲線の開始点とする動作を輪郭全体に対して行い、前記検出された各曲線の長さが予め決められた基準長以上か否かを判断し、基準長以上であれば、当該曲線を１つの曲線として確定し、基準長未満であれば、当該曲線の前後に隣接する曲線同士の長さを比較し、短い方の曲線と当該曲線の長さとを加算し、この加算した長さが前記基準長以上か否かを判断し、基準長以上であれば、加算した長さを持つ曲線を１つの曲線として確定する、動作を繰り返すことによってイメージ図形を構成する輪郭を複数の曲線に対応する図形データに変換するようにしたことを特徴とする。
【０００５】
【第１実施例】
以下、図１〜図９を参照して第１実施例を説明する。
図１はイメージ図形処理機能を備えたワードプロセッサのブロック構成図である。
ＣＰＵ１はＲＯＭ２、ＲＡＭ３に格納されている各種プログラムにしたがってこのワードプロセッサの全体動作を制御する中央演算処理装置であり、ＲＯＭ２内の入出力制御プログラムにしたがって周辺デバイスであるキーボード４、ＣＲＴ表示装置５、イメージスキャナ６、フロッピーディスク７に対する入出力動作を制御する。
【０００６】
即ち、ＣＰＵ１はキーボード４から入力されたキー操作信号をキーコードに変換して保持する入力制御部８をアクセスし、それが文字コードであれば表示データに変換してビデオＲＡＭ（ＶＲＡＭ）９に書き込むと共に、ＲＡＭ３内の文書メモリ３ａに格納する。なお、表示制御部１０はビデオＲＡＭ９をアクセスしてその内容をＣＲＴ表示装置５のテキスト画面から表示出力させる。また、ＣＰＵ１はキーボード４からイメージ図形の入力モードが指示されると、イメージスキャナ６を読み取り可能状態にセットする。更に、ＣＰＵ１はキーボード４から文書保存指令が入力されると、文書メモリ３ａ内の文書データを外部記憶制御部１１に転送し、フロッピーディスク７へ登録保存させる。
【０００７】
イメージスキャナ６から読み取られたビットマップ方式のイメージ図形は、ビデオＲＡＭ９に格納される。ＣＰＵ１はこのビデオＲＡＭ９内のイメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換し、ＲＡＭ３内の図形情報メモリ３ｂに格納する。この場合、ＣＰＵ１はイメージ図形の輪郭上を走査してその走査方向がＸ方向あるいはＹ方向に反転するまでの曲線の長さを検出し、この曲線の長さが極端に短い場合（予め決められている基準ドット数未満の場合）には、当該曲線を隣接する他の曲線に吸収させて滑らかな曲線に補正する。
【０００８】
ここで、ＲＡＭ３は文書メモリ３ａ、図形情報メモリ３ｂ、基準長メモリ３ｃ、アドレスポインタ３ｄ、ドット長カウンタ３ｅ、符号メモリ３ｆ等を有する構成で、図形情報メモリ３ｂはイメージ図形の輪郭を解析することによって得られた図形データを記憶するもので、イメージ図形を構成する輪郭が複数に分割された各曲線毎に、その曲線の開始点座標と曲線の長さ（ドット長）とを記憶するメモリである。
基準長メモリ３ｃはイメージ図形の輪郭上が走査され、その走査方向が反転するまでの曲線の長さが検出された際に、この曲線の長さが予め設定された基準長以上か否かの判断に用いられる基準ドット長（本実施例においては１１ドット）を記憶するメモリである。アドレスポインタ３ｄは図形情報メモリ３ｂの内容を読み出す際のリードアドレスを指定するポインタであり、ドット長カウンタ３ｅは曲線の長さをカウントするカウンタである。
符号メモリ３ｆはイメージ図形の輪郭が１ドットづつ走査された際に前回のドット座標のＸ方向の符号を記憶するｘ符号エリアと、Ｙ方向の符号を記憶するｙ符号エリアとを有する構成で、ＣＰＵ１はこの符号メモリ３ｆの内容を参照し、今回のドット座標の符号と比較することにより走査方向がＸ方向あるいはＹ方向で反転したか否かの判断を行う。
【０００９】
次に、本実施例の動作を図２〜図９を参照して説明する。なお、図２は全体動作の概要を示したフローチャート、図３は図２のステップＡ１（図形情報置換処理）を詳細に示したフローチャート、図４および図５は図２のステップＡ２（図形情報補正処理）を詳細に示したフローチャートである。
先ず、ＣＰＵ１はイメージスキャナ６からイメージ図形が読み取られると、このイメージ図形を図形情報に変換する図形情報置換処理を行う（ステップＡ１）。即ち、ＣＰＵ１はイメージ図形の輪郭上の任意の１点を曲線の開始点とし、この開始点から１ドットづつ輪郭上を走査し、その走査方向がＸ方向あるいはＹ方向で反転したときにその１つ前のドットを曲線の終了点として検出し、開始点から終了点までのドット長をこの曲線の長さとして検出すると共に、この終了点を次の曲線の開始点とする動作を繰り返すことによって各曲線毎にその開始点と曲線の長さとを図形情報メモリ３ｂに設定する。
【００１０】
次に、ＣＰＵ１はこの図形情報メモリ３ｂの内容を読み出して各曲線の長さが基準長以上か否かに基づいて図形情報メモリ３ｂの内容を補正する図形情報補正処理を行う（ステップＡ２）。即ち、図形情報メモリ３ｂから読み出した曲線の長さが基準長以上であれば当該曲線を１つの曲線として確定するが、基準長未満であれば当該曲線を隣接する次の曲線に連結すると共に連結した曲線の長さを検出し、この長さが基準長以上であれば１つの曲線として確定する動作を繰り返すことによって図形情報メモリ３ｂの内容を補正する。
【００１１】
そして、ＣＰＵ１はこの図形情報メモリ３ｂの内容（各曲線に対応する開始点座標）をその先頭から順次読み出し、各曲線毎に回帰計算によってベジェール曲線等を発生し、この図形パターンをビデオＲＡＭ９上に展開して描画出力させる図形描画処理を行う（ステップＡ３）。
【００１２】
次に、図３のフローチャートに示す図形情報置換処理を図６に示すイメージ図形を参照しながら具体的に説明する。なお、図７は図６に示す点Ｐ０〜Ｐ２間近傍を拡大した部分拡大図である。
先ず、ＣＰＵ１はイメージ図形の輪郭線上の任意の１点Ｐ０を最初の曲線の開始点としてそのドット座標を検出すると共に、符号メモリ３ｆ内のｘ符号エリア、ｙ符号エリアおよびドット長カウンタ３ｅをそれぞれクリアするイニシャライズ処理を行う（ステップＢ１）。
そして、この開始点Ｐ０から輪郭線上を時計回り（図７の矢印方向）に１ドット分サーチすると共に、ドット長カウンタ３ｅに「１」を加算してその値を“１”に歩進する（ステップＢ２）。次に、今回のドット座標を曲線の終了点として検出し（ステップＢ３）、このドット座標（ｘ、ｙ）から前回のドット座標（ｘ、ｙ）を減算し（ステップＢ４）、その結果、Ｘ座標成分の値が“０”かをチェックする（ステップＢ５）。つまり、１ドット進んだ方向から１ドット前の点を減算してそのＸ座標成分が“０”か否かに応じてＸ方向に進行しているのか、Ｙ方向に進行しているのかをチェックする。
【００１３】
いま、点Ｐ０から１ドット分Ｘ方向（右方向）に進行した場合であるからステップＢ１３に進み、ｘ符号エリアがクリアされているかをチェックする。最初はイニシャライズ処理によってｘ符号エリアがクリアされているため、今回のドット座標のｘ符号をｘ符号エリアに退避させておく（ステップＢ１９）。この場合、図中右方向への進行を正、左方向への進行を負とすると、ｘ符号エリアには正の符号がセットされる。次に、ステップＢ２０に進み、今回のドット座標が最初の曲線の開始点と一致するか、つまり、輪郭線上を１回りしたかをチェックするが、この場合、不一致が検出されるので、ステップＢ２に戻る。
【００１４】
これによって点Ｐ０からＸ方向に２ドット進んだ点がサーチされると共に、ドット長カウンタ３ｅの値が“２”に更新され、更に曲線の終了点もその座標点に更新される。そして、この場合においてもＸ方向への進行が検出されるが、ｘ符号エリアには前回のｘ符号がセットされているので、ステップＢ１４に進み、今回のｘ符号と前回のｘ符号とを比較することによってＸ方向の進行が反転したかのチェックが行われる。いま、ｘ符号は変化せず、正方向に進んでいるので、ステップＢ１９に進み、今回のｘ符号をｘ符号エリアに退避しておく。
【００１５】
このようにして点Ｐ０からＸ方向に２ドット進んだのち、Ｙ方向を１ドット下に進むと、ドット長カウンタ３ｅの値が“３”に更新される（ステップＢ３）。この場合、ステップＢ５でＹ方向の進行が検出されるが、ｙ符号エリアは最初クリアされているのでステップＢ６でそのことが検出されてステップＢ１２に進み、今回のｙ符号がｙ符号リエアに退避される。ここで、Ｙ方向を図中、下に進んだ場合を負、上に進んだ場合を正とすると、この場合、ｙ符号エリアには負の符号がセットされる。
【００１６】
その後、更に輪郭線上を右に２ドット進んだのち、点Ｐ１から１ドット上に進むと、ｙの符号は正となり、ステップＢ７でＹ方向の進行が反転したことが検出される。すると、ドット長カウンタ３ｅの値「６」から「１」を減算し（ステップＢ８）、このドット長カウンタ３ｅの値「５」を開始点Ｐ０に対応付けて図形情報メモリ３ｂに格納する（ステップＢ９）。そして、ドット長カウンタ３ｅをクリアすると共に（ステップＢ１０）、前回のドット座標Ｐ１を次の曲線の開始点とする（ステップＢ１１）。そして、今回のｙ符号がｙ符号エリアに退避される（ステップＢ１２）。このように点Ｐ１から１ドット先を検出すると、ｙの符号が反転したことが検出されるので、点Ｐ０から点Ｐ１を１本の曲線としてその開始点Ｐ０と曲線の長さ（５ドット）が図形情報メモリ３ｂに格納される。
【００１７】
次に、点Ｐ１を次の曲線の開始点として１ドットづつ上にサーチしてゆくが、この場合、ｙの符号は正で、変化しないため、ドット長カウンタ３ｅの値はそれにしたがって更新されてゆく。その後、右方向に７ドット進み、点Ｐ２に達したのち、下に１ドット進むと、ｙ符号が反転するため、再びステップＢ８〜Ｂ１２が実行される。この場合、開始点Ｐ１からＰ２が１本の曲線となり、その開始点Ｐ１と曲線の長さ（１０ドット）が図形情報メモリ３ｂの次のアドレス領域に格納される。以下、同様に、ｙ符号の反転が検出される毎にステップＢ８〜Ｂ１２が繰り返される結果、点Ｐ２〜Ｐ３、点Ｐ３〜Ｐ４を１本の曲線とし、曲線毎にその開始点Ｐ２と長さ（４ドット）、開始点Ｐ３と長さ（７ドット）が図形情報メモリ３ｂに順次書き込まれる。
【００１８】
次に、点Ｐ４から点Ｐ５までの間はＸ・Ｙ方向共に正で進んでゆき、その間での符号の反転は検出されないが、点Ｐ５から１つ先に進むと、Ｘ方向の反転がステップＢ１４で検出されるので、上述のステップＢ８〜Ｂ１２に対応する同様の処理（ステップＢ１５〜Ｂ１８）が実行される。この結果、点Ｐ４〜Ｐ５を１本の曲線とし、その開始点Ｐ４と曲線の長さ（１２ドット）が図形情報メモリ３ｂに格納される。
【００１９】
以下、同様の処理が輪郭線を１周するまで繰り返されることにより図６に示すイメージ図形は、図８（１）に示す図形情報に変換されて図形情報メモリ３ｂに書き込まれる。この場合、図６に示すイメージ図形は１０本の曲線に分割されて曲線毎にその開始点と曲線のドット長とから成る図形情報が得られる。
【００２０】
次に、図４に示す図形情報補正処理を図８を参照して説明する。なお、図５は図４のステップＣ９（次の曲線に吸収する処理）を詳細に示したフローチャートである。
先ず、アドレスポインタ３ｄを初期化し（ステップＣ１）、このアドレスポインタ３ｄによって指定される図形情報メモリ３ｂからドット長を読み出し（ステップＣ２）、このドット長と基準長メモリ３ｃに設定されている基準長とを比較する（ステップＣ３）。いま、図形情報メモリ３ｂから最初の曲線のドット長（５ドット）が読み出されるが、このドット長は基準長「１１」未満であるから、ステップＣ４でそのことが検出されてステップＣ７に進み、最後の曲線でないことを条件に、当該曲線を次の曲線に吸収する処理に移る（ステップＣ９）。
【００２１】
この曲線吸収処理は図５のフローチャートにしたがって実行される。
即ち、図形情報メモリ３ｂに格納されている次の曲線の開始点とドット長を図形情報メモリ３ｂからクリアすると共に、このドット長を今回のドット長に加算し（ステップＤ１）、この加算値と基準長メモリ３ｃ内に設定されている基準長とを比較し（ステップＤ２）、その結果、基準長未満であることがステップＤ３で検出されると、ステップＤ１に戻り、加算値が基準長以上となるまでステップＤ１〜Ｄ３を繰り返す。これによって、加算値が基準長以上となると、この加算値をアドレスポインタ３ｄで指定される図形情報メモリ３ｂのアドレス領域に曲線の長さとして格納する（ステップＤ４）。つまり、アドレスポインタ３ｄによって図形情報メモリ３ｂから読み出された曲線の長さが基準長未満であれば、当該曲線を隣接する次の曲線に連結し、連結した曲線の長さが基準長以上となれば、その曲線を１つの曲線として確定する。この場合、図８（２）に示すように開始点をＰ０で示される最初の曲線の長さは、開始点Ｐ１で示される次の曲線の長さと足し合わされて「１５ドット」となり、開始点Ｐ１とその長さ「１０ドット」は図形情報メモリ３ｂから消去される。したがって、開始点Ｐ０とＰ１の曲線が連結されて開始点Ｐ１の曲線は開始点Ｐ０の曲線に吸収されたことになる。なお、図８（３）はこの場合における図形情報メモリ３ｂの内容を示している。
【００２２】
次に、図４のステップＣ５に進み、アドレスポインタ３ｄに「１」を加算してその値を更新し、この値で図形情報メモリ３ｂの内容をアクセスしてデータが有るかをチェックし（ステップＣ６）、データが有れば、ステップＣ２に戻り、以下、同様の動作を繰り返す。この結果、次に開始点Ｐ２の曲線が指定されるが、その長さも基準長未満であるので、次の曲線（開始点Ｐ３）の長さと足し合わされる。これによって開始点Ｐ２とＰ３の曲線が連結されて長さ「１１ドット」の曲線となる。次に、開始点Ｐ４の曲線が指定されるが、その長さは基準長以上であるので、当該曲線を１つの曲線として確定するためにアドレスポインタ３ｄの更新が行われる（ステップＣ５）。
【００２３】
以下、同様の動作が繰り返されることによって、最後に開始点Ｐ９の曲線が指定される。つまり、その１つ前の曲線（開始点Ｐ８の曲線）はその長さが基準長以上であり、最後の曲線との連結が行われないため、最後に開始点Ｐ９の曲線が指定されることになる。この場合、最後の曲線は基準長未満であるが、次の曲線は存在しないので、１つ前の曲線に吸収するようにしている（ステップＣ８）。即ち、最後の曲線の開始点Ｐ９とその長さを図形情報メモリ３ｂから消去すると共に、その長さを１つ前の曲線の長さに加算することにより、開始点Ｐ８の曲線は２１ドットの長さとなる。
【００２４】
このような図形情報補正処理が実行されることによって図８（１）に示すように補正前は１０本の曲線であったものが、補正後は基準長以上の長さを持つ６本の曲線に変換されることになる。このようにして補正された図形情報メモリ３ｂの内容にしたがって図形を描画出力すると、図９に示すように点Ｐ０〜Ｐ２、Ｐ２〜Ｐ４、Ｐ４〜Ｐ５、Ｐ５〜Ｐ６、Ｐ６〜Ｐ８、Ｐ８〜Ｐ０が１本づつの曲線となり、図１２に示す従来の図形に比べて滑らかな図形を得ることができる。即ち、イメージ図形の輪郭が細かく振動するような部分については、曲線の長さが極端に短かくなるため、それを隣接する他の曲線と連結することにより、本来の図形イメージを崩すことなく、当該部分を滑らかな曲線に置き換えることができる。
【００２５】
【第２実施例】
以下、図１０および図１１を参照して第２実施例を説明する。上記第１実施例は図形情報補正処理で、曲線の長さが基準長未満である場合に、次の曲線を吸収するようにしたが、本実施例においては、各曲線の中で最も短い曲線をサーチし、それが基準長以上であれば図形情報補正処理は行わないが、基準長未満の曲線が１つでも存在していれば、それに隣接している前後の曲線のうち、短い方の曲線を吸収するようにしたものである。
先ず、上記第１実施例と同様に、イメージ図形の輪郭上の任意の１点を開始点とし、この開始点から１ドットづつ輪郭上を走査し、その走査方向がＸ方向あるいはＹ方向で反転したときにその１つ前のドットを曲線の終了点として検出し、開始点から終了点までのドット長をこの曲線の長さとして検出すると共に、この終了点を次の曲線の開始点とする動作を輪郭全体に対して行うことにより輪郭全体を複数の曲線に分割してその開始点と長さを図形情報メモリ３ｂに格納する図形情報置換処理を行う。
【００２６】
その後、図１０に示した図形情報補正処理が行われる。
先ず、図形情報メモリ３ｂから全ての曲線の長さを読み出し（ステップＥ１）、その中から最も短い長さの曲線をサーチし（ステップＥ２）、それが基準長以上かをチェックする（ステップＥ３）。ここで、最も短い曲線が基準長以上であれば、この図形情報補正処理からそのまま抜けるが、基準長未満であれば、その曲線に隣接する前後の曲線の長さを取得し（ステップＥ４）、両者を比較する（ステップＥ５）。この結果、前の曲線が短い場合には前の曲線を吸収し（ステップＥ６）、後の曲線が短い場合には後の曲線を吸収する（ステップＥ７）。そして、ステップＥ２に戻り、次に短い曲線をサーチし、上述の動作を繰り返す。なお、前後の曲線の長さが等しい場合には前の曲線に吸収される。
【００２７】
図１１はこの場合における図形情報メモリ３ｂの内容を具体的に示したもので、図１１の（１）の左側に示す図形情報メモリ３ｂの内容において、最も短い曲線は、開始点がＰ２となるＰ２→Ｐ３の曲線（４ドット）であり、それに隣接する前の曲線（Ｐ１→Ｐ２）は１０ドット、後の曲線（Ｐ３→Ｐ４）は７ドットであるから、短い方の後の曲線を吸収することにより図形情報メモリ３ｂの内容は図１１の（１）の右側に示す如くとなる。つまり、開始点Ｐ２の曲線は４ドットから１１ドットとなり、その後の曲線の開始点Ｐ３と長さは消去される。次に、図１１の（１）の右側に示す図形情報メモリ３ｂの内容において、最も短い曲線は開始点がＰ０となるＰ０→Ｐ１の曲線（５ドット）であるが、この場合、前の曲線は存在しないので、後の曲線（Ｐ１→Ｐ２）を吸収する。このような動作が繰り返されることによって最終的に図形情報メモリ３ｂの内容は図１１の（２）に示すようになる。したがって、この図形情報メモリ３ｂの内容にしたがって図形を描画出力すると、上記第１実施例と同様に図９で示したような滑らかな図形を得ることができる。この場合、本実施例においては全体的に曲線の長さが均一化する方向に向かうので図形データの最適化が可能となる。
【００２８】
なお、上記各実施例はイメージ図形の輪郭を走査することによって曲線毎にその開始点と長さを検出して図形情報メモリ３ｂに格納する図形情報置換処理を輪郭全体に対して行ったのち、図形情報補正処理を行うようにしたが、処理効率の向上を図るためにこの図形情報置換処理と図形情報補正処理とを並行して行うようにしてもよい。
この場合、イメージ図形の輪郭上の任意の１点を開始点とし、この開始点から１ドットづつ輪郭上を走査し、その走査方向がＸ方向あるいはＹ方向で反転したときにその１つ前のドットを曲線の終了点として検出し、開始点から終了点までのドット長をこの曲線の長さとして検出すると共に、この終了点を次の曲線の開始点とし、検出された各曲線の長さが予め決められている基準長以上か否かを判断し、基準長以上であれば、当該曲線を１つの曲線として確定し、基準長未満であれば、今回検出された終了点を無視すると共に次の終了点が検出された際に開始点からこの終了点までのドット長を曲線の長さとして検出し、この曲線の長さが前基準長以上か否かを判断し、基準長以上であればこの曲線を１つの曲線として確定する、動作を繰り返すことによってイメージ図形を構成する輪郭を複数の曲線に対応する図形データに変換するようにすればよい。
また、上記各実施例は基準長を１１ドットとして設定したが、このドット長は任意であり、また、ユーザがイメージ図形等に応じて任意の基準長を設定できるようにしてもよい。
【００２９】
【発明の効果】
この発明によれば、イメージ図形を構成する輪郭を複数の曲線に分割して座標データの集合によって表現される図形データに変換する際に、曲線の長さが予め設定されている基準長未満であれば、それに隣接する他の曲線を当該曲線に吸収して滑らかな曲線に補正することができるので、荒い部分が無くなり、見栄えの良い図形を描画することが可能となる。また曲線の数が少なくなってデータの容量も減少し、またその後の図形データの修正も容易となる。
【図面の簡単な説明】
【図１】実施例に係るイメージ図形処理機能を備えたワードプロセッサのブロック構成図。
【図２】全体動作の概要を示したフローチャート。
【図３】図２のステップＡ１（図形情報置換処理）を詳細に示したフローチャート。
【図４】図２のステップＡ２（図形情報補正処理）を詳細に示したフローチャート。
【図５】図４のステップＣ９（次の曲線吸収処理）を詳細に示したフローチャート。
【図６】イメージスキャナ６によって読み取られた変換対象のイメージ図形を具体的に示した図。
【図７】図６で示したイメージ図形の一部拡大図。
【図８】図形情報補正処理によって変化する図形情報メモリ３ｂの内容を示した図。
【図９】図形情報メモリ３ｂの内容にしたがって描画される図形の出力状態を説明するための図。
【図１０】第２実施例に係る図形情報補正処理を示したフローチャート。
【図１１】第２実施例の図形情報補正処理によって変化する図形情報メモリ３ｂの内容を示した図。
【図１２】従来の図形描画例を示した図。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
３ｂ  図形情報メモリ
３ｃ  基準長メモリ
３ｄ  アドレスポインタ
３ｅ  ドット長カウンタ
３ｆ  符号メモリ
５  ＣＲＴ表示装置
６  イメージスキャナ
９  ビデオＲＡＭ
１０  表示制御部
【図１】
0003548807.tif 000002
【図２】
0003548807.tif 000003
【図３】
0003548807.tif 000004
【図４】
0003548807.tif 000005
【図５】
0003548807.tif 000006
【図６】
0003548807.tif 000007
【図７】
0003548807.tif 000008
【図８】
0003548807.tif 000009
【図９】
0003548807.tif 000010
【図１０】
0003548807.tif 000011
【図１１】
0003548807.tif 000012
【図１２】
0003548807.tif 000013