画像形成装置、画像形成方法、及びプログラム
【課題】描画経路の全体長に係わらず、断続線を常に適切に描画するための技術を提供する。
【解決手段】一点鎖線は、経路上のピッチが異なる2種類の印刷部分が存在する。その一点鎖線で直線を印刷する場合、一点鎖線のピッチの大きいほうの印刷部分である長線の終点側の終端が直線の終点と一致するように、一点鎖線の各構成要素のピッチを変更する。それにより、直線のような開経路では、一点鎖線のような非印刷部分(切れ目)が存在する断続線であっても、終点の位置を常に視認できるように印刷を行う。
【解決手段】一点鎖線は、経路上のピッチが異なる2種類の印刷部分が存在する。その一点鎖線で直線を印刷する場合、一点鎖線のピッチの大きいほうの印刷部分である長線の終点側の終端が直線の終点と一致するように、一点鎖線の各構成要素のピッチを変更する。それにより、直線のような開経路では、一点鎖線のような非印刷部分(切れ目)が存在する断続線であっても、終点の位置を常に視認できるように印刷を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、点線、破線、一点鎖線等の描画が行われる描画部分、及び描画が行われない非描画部分が予め定められた順序に従って配置される断続線を描画(出力)するための技術に関する。
【背景技術】
【0002】
現在、コンピュータに実行させるアプリケーション・ソフトウェア(以降「アプリケーション」と略記)の多くに線の描画機能が搭載されている。この描画機能により線を描画させる場合、ユーザは、線のスタイル(直線、曲線、図形、等)、線種(実線、点線、破線、一点鎖線、二点鎖線、等)、描画範囲指定、線の太さ指定、等を行うようになっている。
【0003】
線のスタイルとして選択可能な図形は、比較的に描画される可能性の高い一般的な図形であるのが普通である。その多くは、四角形、円、楕円等の描画経路の始点と終点の位置が一致するもの(以降「閉経路図形」と総称)である。
【0004】
線種として選択可能な点線、破線等は、描画経路と交差する交差方向に切れ目(非描画部分)の入った線(以降「断続線」と総称)である。点線、及び破線には、描画経路に沿って描画が行われる部分(描画部分)、及び切れ目の部分である非描画部分がそれぞれ1種類、存在し、描画部分、及び非描画部分が描画経路上、交互に配置される。それにより、1描画部分と、1非描画部分とで1描画パターンが形成され、この描画パターンが描画経路上、繰り返される。
【0005】
一点鎖線は、非描画部分は1種類であるが、描画部分は経路方向上の長さ(ピッチ)の異なる2種類となっている。ピッチの大きいほうを第1の描画部分、ピッチの小さい方を第2の描画部分と表記すると、一点鎖線では、第1の描画部分→非描画部分→第2の描画部分→非描画部分、の順序で配置される2つの非描画部分、並びにそれぞれ1つの第1及び第2の描画部分により1描画パターンが形成される。ここでの順序は、始点側から終点側に向かう方向を想定してのものである。特に断らない限り、順序はこの方向を前提として表現する。
【0006】
二点鎖線も一点鎖線と同様に、ピッチの異なる2種類の描画部分が存在する。1描画パターンは、第1の描画部分→非描画部分→第2の描画部分→非描画部分→第2の描画部分→非描画部分、により形成される。
【0007】
描画範囲指定は、線のスタイルとして図形が選択された場合、例えばその図形を描画すべき位置の指定により行われる。線のスタイルとして直線、或いは曲線が選択された場合、始点、及び終点の指定により行われる。曲線では、例えば始点および終点の他に、線が通過する通過点が1つ以上、指定可能となっている。
【0008】
図形は、多くの場合、大きさが変更可能である。それにより、図形を線で描画するうえでの描画経路は、指定された図形、及び指定された大きさに応じて特定される。直線の描画経路は、始点と終点の指定によって特定される。曲線の描画経路は、始点と終点、及び1つ以上の通過点によって特定される。
【0009】
直線、及び曲線では、始点および終点としてそれぞれ指定される位置は異なる。それにより、直線、及び曲線の描画経路は、描画された線によって領域を分けない開経路となる。
描画経路に沿った線の描画は、始点から終点に向かって行われる。そのために閉経路図形では、その図形上の1点が始点、及び終点とされる。それにより、閉経路図形でも、直線、及び曲線(閉経路)と同様に描画される。
【0010】
断続線では、描画部分、及び非描画部分の各ピッチは固定とされている。このため、断続線を描画する場合、描画経路の全体の長さ(全体長)によって、開経路では終点が非描画部分となって終点の位置が分からないものになる、閉経路では例えば始点に描画された描画部分と終点に描画された描画部分が重なって、不自然な描画となる、といった不適切な描画が行われるという問題点があった。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平8−267876号公報
【特許文献2】特開平5−254216号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明は、描画経路の全体長に係わらず、断続線を常に適切に描画するための技術を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題は、本発明の請求項1の発明によれば、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定手段と、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定する全体長特定手段と、全体長特定手段が特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定手段と、設定手段が設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する描画手段と、を具備する画像形成装置を提供することによって達成できる。
【0014】
上記課題は、始点と終点の位置が異なる場合、例えば請求項2に記載するように、上記設定手段は、第1の実際長、及び第2の実際長の設定により、終点の位置に描画部分の該終点側の端を一致させる、ことによって達成できる。この場合、設定手段は、例えば請求項3に記載するように、第1の実際長、及び第2の実際長の設定により、2つの描画パターンを少なくとも描画手段に描画させる、ことが望ましい。
【0015】
上記課題は、始点と終点の位置が同じ場合、例えば請求項4に記載するように、設定手段は、第1の実際長、及び第2の実際長の設定により、終点の位置に非描画部分の該終点側の端を一致させる、ことによって達成できる。この場合、設定手段は、請求項5に記載するように、第1の実際長、及び第2の実際長の設定により、3つの描画パターンを少なくとも描画手段に描画させる、ことが望ましい。
【0016】
上記課題は、本発明の請求項6の発明によれば、コンピュータが、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定し、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定し、特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定し、設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する、画像形成方法を提供することによって達成できる。
【0017】
上記課題は、本発明の請求項7の発明によれば、コンピュータに、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定機能と、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定する全体長特定機能と、全体長特定機能により特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定機能と、設定機能により設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する描画機能と、を実現させるためのプログラムを提供することによって達成できる。
【発明の効果】
【0018】
本発明では、断絶線の全体長に応じて、断絶線の描画部分、及び非描画部分の長さを調節し、その断絶線の描画(出力)を行う。このため、描画経路の全体長に係わらず、断続線を常に適切に描画することができる。
【図面の簡単な説明】
【0019】
【図1】本実施形態による画像形成装置の回路構成を説明する図である。
【図2】本実施形態による画像形成装置を用いた構築された印刷システムの構成を説明する図である。
【図3】一点鎖線を説明する図である。
【図4】開経路の断続線例を説明する図である。
【図5】閉経路の断続線例を説明する図である。
【図6】開経路の断続線の描画方法を説明する図である。
【図7】閉経路の断続線の描画方法を説明する図である。
【図8】最小限数の印刷パターンによる印刷イメージ例を説明する図である。
【図9】断続線描画処理のフローチャートである。
【図10】断続線描画処理のフローチャートである(続き1)。
【図11】断続線描画処理のフローチャートである(続き2)。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による画像形成装置の回路構成を説明する図である。この画像形成装置10は、記録紙に印刷を行うことにより、その記録紙上に画像を形成する印刷装置として実現されたものである。このことから以降「印刷装置」と表記する。
【0021】
この印刷装置10は、図2に表すように、パーソナルコンピュータ(PC)30が接続されたネットワーク31に接続して用いることが可能なものである。図2に表すようなシステム構成では、印刷装置10はネットワーク31を介してPC30から印刷データを受信し、印刷を行う。
【0022】
その印刷データとしては、印刷イメージを表すビットマップデータの他に、その印刷イメージを指示するデータ(以降「言語データ」)を用いることができる。印刷装置10は、この言語データを受信した場合、この言語データが指示する印刷イメージのビットマップデータを生成して印刷を行う。
【0023】
印刷装置10は、図1に表すように、CPU11、オペレーションパネル12、ROM(フラッシュメモリ)13、EEPROM14、RAM15、プリンター制御LSI16、ネットワークインターフェイス(以下、「ネットワークI/F」と表記)17、エンジン部18、セントロインターフェイス(以下、「セントロI/F」と表記)19、外部記憶装置インターフェイス(以下、「外部記憶装置I/F」と表記)20、及び外部記憶装置21を備えている。
【0024】
オペレーションパネル12は、特には図示していないが、各種キーを有する操作部と、表示パネルとを備えている。操作部は、ユーザのキー操作により、操作されたキー、その操作内容等をCPU11に通知する。表示パネルは、CPU11から出力される表示制御信号(表示用の表示データを含む)に従った表示を行う。
【0025】
ROM13は制御プログラムを記憶し、CPU11はこのプログラムを実行することにより、印刷装置10全体の制御を行う。
EEPROM14は、電源オフ時に残すべきデータの保存に用いられる。例えば印刷装置10が電子写真方式で記録紙上に画像形成を行う場合、そのデータとしては、不図示のトナーユニットの寿命をカウントするカウントデータ等がある。
【0026】
エンジン部18は、その電子写真方式で記録紙上に画像形成を行うものである。上記トナーユニットはこのエンジン部18に含まれる。エンジン部18は他に、記録紙を搬送する搬送ユニット、感光体上にトナー像を形成し、そのトナー像を記録紙上に転写する画像形成ユニット、記録紙上に転写されたトナー像を定着させる定着ユニット等を備える。
【0027】
RAM15はCPU11のワークに用いられる。受信した印刷データはRAM15に確保された領域に格納される。その印刷データが言語データであった場合、その言語データが指示する印刷イメージのビットマップデータは、RAM15をワークに用いて生成される。
【0028】
プリンター制御LSI16は、エンジン部18を制御するLSIである。CPU10は、例えばエンジン部18の電源管理を行い、プリンター制御LSI16は、搬送ユニット、画像形成ユニット、定着ユニット等を制御して、記録紙上への印刷を実現させる。
【0029】
ネットワークI/F(インターフェイス)17は、ネットワーク31に接続させるためのものである。そのネットワーク31がLANであった場合には、例えばLANボードが相当する。
【0030】
セントロI/F19は、ホスト機器との間でローカル接続を行う場合のパラレルインターフェイスである。セントロI/F19を介して印刷装置10に直接接続されたパーソナルコンピュータ等のホスト機器から印刷データ等を受信する。
【0031】
外部記憶装置インターフェイス20は、外部記憶装置21を接続するためのものである。その外部記憶装置21は、例えばハードディスク装置(HDD)等の大容量の記憶装置である。
【0032】
以上の構成において、動作を説明する。
CPU10は、電源がオンされると、ROM13に格納されたプログラムをRAM15に読み出して実行し、印刷装置10全体の制御を開始する。それにより、CPU10は、オペレーションパネル12へのユーザの操作、或いはネットワークI/F17若しくはセントロI/F19を介した印刷指示等に対応した処理を行う。
【0033】
ネットワークI/F17或いはセントロI/F19を介して印刷指示を受け取った場合、CPU10は、印刷指示と併せて送信される印刷データをRAM15に格納する。その印刷データがビットマップデータであれば、プリンター制御LSI16に出力し、ビットマップデータを用いた画像形成を行わせる。その印刷データが言語データであれば、RAM15を用いて言語データをビットマップデータに変換し、変換後のビットマップデータをプリンター制御LSI16に出力する。
【0034】
言語データが指示可能な印刷イメージ(画像)として、線がある。その線として、経路に沿って印刷(描画)を行うべき印刷部分、及び印刷を行うべきでない非印刷部分が存在する断続線が指示可能である。そのような断続線を言語データが指示している場合、CPU10は、以下のようにして断続線用のビットマップデータを生成する。
【0035】
ここでは、便宜的に、断続線としては図3に表す一点鎖線を想定する。この一点鎖線は、経路上の長さ(ピッチ)が異なる2種類の印刷部分41及び42、ピッチが同じ2つの非印刷部分43を1印刷パターンの構成要素とする断続線である。以降、ピッチが大きい印刷部分41は「長線」、ピッチが小さい印刷部分42は「短線」とそれぞれ表記する。2つの非印刷部分43については、以降「切れ目」と表記し、符号としては、1印刷パターンにおいて、長線41及び短線42に接するものには43a、短線42のみに接するものには43bを用いる。図3中のa〜c及びAはそれぞれ、長線41のピッチ、切れ目43のピッチ、短線42のピッチ、1印刷パターンのピッチを表している。1印刷パターンのピッチAは、a+2b+cにより求められる長さである。
【0036】
線を印刷する経路は、四角形や円等の線によって領域が分けられる、つまり線の両端が視認できない閉経路と、線の両端が視認可能な開経路とに大別される。図4は開経路の断続線例を説明する図であり、図4(a)は直線(一点鎖線による直線)、図4(b)は曲線(一点鎖線による曲線)の例をそれぞれ表している。図5は閉経路の断続線例を説明する図であり、図5(a)は円(一点鎖線による円)、図5(b)は楕円(一点鎖線による楕円)の例をそれぞれ表している。ここでは、説明上便宜的に、開経路として直線、閉経路(閉経路図形)として円のみを例にとって説明を行う。
【0037】
始めに、直線(開経路)の一点鎖線の描画方法、つまりその一点鎖線のビットマップデータの生成方法について、図6を参照して具体的に説明する。図6において、61は言語データから従来、生成される直線イメージ、62及び63は本実施形態で生成される直線イメージをそれぞれ表している。
【0038】
言語データは、線の印刷イメージを指示するために、線のスタイル、線種、描画範囲、線の太さ、等を指定するデータを備えている。直線では、描画範囲は始点、及び終点により指定される。曲線では、描画範囲は始点、及び終点の他に、始点と終点の間の経路が指定される。
【0039】
直線イメージ61は、言語データが表す始点、及び終点の間を、始点から固定のピッチで長線41、短線42及び2つの切れ目43(の各イメージ)を図3に表す順序で配置していくことで描画(生成)される。しかし、そのような描画方法では、終点に切れ目43が配置される場合がある。終点に切れ目43が配置される場合、直線の終点が視認できなくなる。このことから本実施形態では、直線イメージ62及び63から明らかなように、最後に配置する長線41の終点側の端である終端を終点に一致させるようにしている。終点に長線41の終端を一致させるようにしたのは、長線41はピッチが最も大きい、つまり視認性が最も高く、それによって終点の視認も最も容易になるからである。なお、終点と一致させるのは短線42の終端としても良い。
【0040】
終点に長線41の終端を一致させるのは、長線41、短線42及び2つの切れ目43の各印刷イメージの拡大操作、或いは縮小操作により行っている。拡大操作、及び縮小操作からの選択は、言語データを参照して直線(開経路)の全体長を特定し、特定した全体長を1印刷イメージのピッチAで割って得られる余りn(n<A)を算出して行っている。それにより、余りnがピッチaの値未満(n<a)であった場合、最後の長線41の終端を終点に一致させるように拡大操作を行い、そうでない場合、つまり余りnがピッチaの値以上(n≧a)であった場合、長線41を更に1つ追加し、追加した長線42の終端を終点に一致させるように縮小操作を行うようにしている。このようなことから、縮小率、及び拡大率はそれぞれ以下のように算出している。
拡大率=全体長/(全体長−n−2b−c) ・・・ (1)
縮小率=全体長/(全体長+A−n+a) ・・・ (2)
【0041】
図6の直線イメージ62は、上記のように算出される拡大率を用いた拡大操作により生成された例である。直線イメージ63は、上記のように算出される縮小率を用いた縮小操作により生成された例である。
【0042】
次に、円(閉経路図形)の一点鎖線の描画方法、つまりその一点鎖線のビットマップデータの生成方法について、図7を参照して具体的に説明する。図7において、71は言語データから従来、生成される円イメージ、72及び73は本実施形態で生成される円イメージをそれぞれ表している。
【0043】
言語データは、閉経路図形の印刷イメージを指示するために、閉経路図形の形状、大きさ(サイズ)、及び位置を指定するデータを備えている。終点、及び始点は、形状、及び大きさから特定される経路上から抽出された一点とされる。
【0044】
円イメージ71は、言語データから特定される閉経路上の一点から、固定のピッチで長線41、短線42及び2つの切れ目43(の各イメージ)を図3に表す順序で配置していくことで生成される。図7中の71aは、始点、及び終点として抽出された点(以降「選択点」と表記)である。しかし、そのような生成方法では、選択点71aの間の繋がりが不自然になる場合がある。図7に表す円イメージ71では、選択点71aの前後(左右)で長線41が連続することにより、不自然なイメージとなっている。このことから本実施形態では、円イメージ72及び73から明らかなように、一点鎖線を構成する構成要素の並びが変化しないように、且つ各構成要素のなかでピッチが他と異ならないようにして、常に適切な円イメージを生成するようにしている。
【0045】
構成要素の並びが変化しないように、且つ同じ構成要素のピッチを全て同じにさせるのは、閉経路と同様に、長線41、短線42及び2つの切れ目43の各印刷イメージの拡大、或いは縮小操作により行っている。拡大操作、及び縮小操作からの選択は、円の全体長を1印刷イメージのピッチAで割って得られる余りn(n<A)を算出して行っている。それにより、余りnがピッチaの値未満(n<a)であった場合、最後の長線41を省き、その長線41の前に位置する切れ目43bの終端を選択点に一致させるように拡大操作を行い、そうでない場合、つまり余りnがピッチaの値以上(n≧a)であった場合、必要に応じて切れ目43b、短線42、更には切れ目43aを追加し、切れ目43bの終端を終点に一致させるように縮小操作を行うようにしている。このようなことから、縮小率、及び拡大率はそれぞれ以下のようにして算出される。
拡大率=全体長/(全体長−n) ・・・ (3)
縮小率=全体長/(全体長+A−n) ・・・ (4)
【0046】
図7の直線イメージ72は、上記のように算出される拡大率を用いた拡大操作により生成された例である。円イメージ73は、上記のように算出される縮小率を用いた縮小操作により生成された例である。
【0047】
縮小操作時における切れ目43b、短線42、及び切れ目43aの追加は、余りnがピッチaの値と等しければ2つの切れ目43及び短線42の全ての追加が行われる。余りnがa<n<a+bの間であれば、短線42及び切れ目43bの追加が行われる。余りnがa+b≦n<a+b+cの間であれば、切れ目43bのみ追加される。余りnがa+b+c≦n<a+2b+cの間であれば、構成要素の追加は行われない。
【0048】
上記のようにして、一点鎖線の印刷経路が閉経路および開経路の何れかであるかに応じて、一点鎖線の構成要素の並びが調整される。このため、ユーザが印刷(描画)された断続線を見て、視覚的に不適切と感じるようなことは確実に回避される。
【0049】
ところで、印刷経路全体の長さである全体長が比較的に短い場合、指定した断続線の線種等により、その線種が視認し難くなることが考えられる。このことから本実施形態では、最低限、印刷すべき印刷パターンの数である最低限数を設けている。この最低限数以上の印刷パターンを印刷させることにより、線種が視認し難くなるのをより確実に抑えるようにしている。図8は、最小限数の印刷パターンによる印刷イメージ例を説明する図である。図8(a)は、閉経路(円)の場合の印刷イメージ例を表し、図8(b)は開経路(直線)の場合の印刷イメージ例を表している。
【0050】
図8(a)に表すように、本実施形態では、閉経路では最低減数は3、つまり3印刷パターン以上で閉経路の断続線を印刷するように設定している。開経路では、図8(b)に表すように、最低減数は2、つまり2印刷パターン以上で開経路の断続線を印刷するように設定している。開経路では、最後に長線41を配置するようにしていることから、図8(b)から明らかなように、実際には2印刷パターンと1長線41が少なくとも印刷されることとなる。
【0051】
図8(b)に表すような開経路における印刷イメージの生成は、縮小操作を用いて行っている。その縮小操作は、全体長が2A+a未満(全体長<2A+a)であった場合に行う。その縮小操作に用いる縮小率は、以下のように算出する。
縮小率=全体長/(2A+a) ・・・ (5)
【0052】
一方、図8(a)に表すような閉経路における印刷イメージの生成も、縮小操作を用いて行っている。その縮小操作は、全体長が3A未満(全体長<3A)であった場合に行う。その縮小操作に用いる縮小率は、以下のように算出する。
縮小率=全体長/(3A) ・・・ (6)
【0053】
CPU10は、言語データにより印刷イメージが指示された場合、その言語データが印刷を指示する断続線毎に、その断続線の経路の種類、及び全体長を特定し、必要に応じて、図6〜図8の何れかに表すような拡大操作、或いは縮小操作を行い、断続線の印刷イメージのビットマップデータを生成する。生成した印刷イメージはRAM15に随時、保存することにより、1ページ分の印刷イメージのビットマップデータを生成し、生成したビットマップデータをプリンター制御LSI16に出力することにより、1ページ分の印刷を行わせる。適切な状態に断続線が印刷された記録紙が印刷装置10から排紙されることとなる。
【0054】
なお、本実施形態では、基本となるビットマップデータに対して拡大操作、或いは縮小操作を行うようにしているが、そのような操作を行うことなく、断絶線のビットマップデータを生成するようにしても良い。つまり、図6〜図8のうちの何れかに表すように断絶線を出力できるのであれば、その断絶線のビットマップデータの生成方法は特に限定されるものではない。
【0055】
図9〜図11は、断続線描画処理のフローチャートである。この断続線描画処理は、受信した言語データが印刷を指示する1印刷イメージが断続線のものであった場合に、CPU10がその断続線のビットマップデータを生成するために実行する処理であり、ROM13に格納されたプログラムの実行により実現される。次に図9〜図11を参照して、この断続線業が処理について詳細に説明する。ここでも便宜的に、断続線としては一点鎖線のみを想定する。
【0056】
先ず、S1では、CPU10は断続線の始点と終点が一致する、つまり断続線の印刷経路が閉経路か否か判定する。その断続線が円、四角形等の閉経路のものであった場合、判定はYESとなって図10のS9に移行する。そうでない場合、つまり断続線が直線、或いは曲線等の開経路のものであった場合、判定はNOとなってS2に移行する。
【0057】
S2では、CPU10は、言語データを参照して、断続線の全体長を特定し、全体長が2A+a(図9中「Ax2+a」と表記)未満の長さか否か判定する。全体長が2A+a以上の長さであった場合、判定はNOとなってS3に移行する。全体長が2A+a未満の長さであった場合、判定はYESとなって図11のS16に移行する。
【0058】
S16では、例えば図8(b)に表すように開経路に沿って一点鎖線を印刷するためのビットマップデータの生成を行う。そのために、一点鎖線の各構成要素41〜43のビットマップデータは、それぞれ、(5)式から算出される縮小率で縮小操作する。1断続線分のビットマップデータは、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納していくことで生成される。そのような生成を行った後、この断続線描画処理を終了する。
【0059】
図9のS3では、CPU10は全体長を1印刷パターンのピッチAで割ることにより、余りnを算出する。次のS4では、CPU10は、余りnが長線41のピッチaの値以上か否か判定する。余りnがピッチaの値以上であった場合、判定はYESとなってS7に移行する。余りnがピッチaの値未満であった場合、判定はNOとなってS5に移行する。
S5では、CPU10は(1)式により拡大率を算出する。続くS6では、CPU10は、算出した拡大率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの拡大操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図6の直線イメージ62のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0060】
S7では、CPU10は(2)式により縮小率を算出する。続くS8では、CPU10は、算出した縮小率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの縮小操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図6の直線イメージ63のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0061】
このようにして、開経路の断続線のビットマップデータが生成され、RAM15に格納される。それにより、断続線が直線であれば、図6の直線イメージ61のような印刷は回避され、直線イメージ62或いは63のような印刷が行われることとなる。全体長が短い場合には、図8(b)に表すような直線が印刷されることとなる。
【0062】
上記S1の判定がYESとなって移行する図10のS9では、CPU10は、言語データを参照して、断続線の全体長を特定し、全体長が3A(図10中「Ax3」と表記)未満の長さか否か判定する。全体長が3A以上の長さであった場合、判定はNOとなってS10に移行する。全体長が3A未満の長さであった場合、判定はYESとなって図11のS17に移行する。
【0063】
S17では、例えば図8(a)に表すように開経路に沿って一点鎖線を印刷するためのビットマップデータの生成を行う。そのために、一点鎖線の各構成要素41〜43のビットマップデータは、それぞれ、(6)式から算出される縮小率で縮小操作する。1断線分のビットマップデータは、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納していくことで生成される。そのような生成を行った後、この断続線描画処理を終了する。
【0064】
図10のS10では、CPU10は全体長を1印刷パターンのピッチAで割ることにより、余りnを算出する。次のS11では、CPU10は、余りnが長線41のピッチaの値以上か否か判定する。余りnがピッチaの値以上であった場合、判定はYESとなってS14に移行する。余りnがピッチaの値未満であった場合、判定はNOとなってS12に移行する。
【0065】
S12では、CPU10は(3)式により拡大率を算出する。続くS13では、CPU10は、算出した拡大率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの拡大操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図7の円直線イメージ73のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0066】
S14では、CPU10は(4)式により縮小率を算出する。続くS15では、CPU10は、算出した縮小率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの縮小操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図7の円イメージ72のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0067】
このようにして、閉経路の断続線のビットマップデータが生成され、RAM15に格納される。それにより、断続線が円を表すものであれば、図7の円イメージ71のような印刷は回避され、円イメージ72或いは73のような印刷が行われることとなる。全体長が短い場合には、図8(a)に表すような直線が印刷されることとなる。
【0068】
上記説明は、断絶線として一点鎖線を例にとって行っているが、他の線種、つまり点線、破線、に点鎖線等でも同様に断絶線のビットマップデータを作成すれば良い。例えば開経路の二点鎖線では、一点鎖線と同様に、ピッチの最も大きい長線の終端を終点に合わせるようにしても良い。或いは2つの短線のうちの一つの終端を終点に合わせるようにしても良い。
【0069】
本実施形態では、印刷装置に本発明を適用しているが、適用する装置は印刷装置以外のものであっても良い。例えば表示装置上に形成した画像を出力できるもの、或いはその画像のデータを単に生成できるものであっても良い。このことから、実際に印刷を行うための印刷機能、或いは実際に画像を表示させる表示機能を搭載していないコンピュータ(データ処理装置)にも幅広く適用することができる。
【0070】
本実施形態では、図9〜図11に表す断続線描画処理を実行可能なプログラムをROM13に格納しているが、そのプログラム、或いはその一部は、光ディスク、ハードディスク装置、等に記録して配布しても良い。或いは、何らかのネットワークを介して配信しても良い。
【符号の説明】
【0071】
10 画像形成装置(印刷装置)
11 CPU
13 ROM
15 RAM
16 プリンター制御LSI
17 ネットワークI/F
18 エンジン部
19 セントロI/F
【技術分野】
【0001】
本発明は、点線、破線、一点鎖線等の描画が行われる描画部分、及び描画が行われない非描画部分が予め定められた順序に従って配置される断続線を描画(出力)するための技術に関する。
【背景技術】
【0002】
現在、コンピュータに実行させるアプリケーション・ソフトウェア(以降「アプリケーション」と略記)の多くに線の描画機能が搭載されている。この描画機能により線を描画させる場合、ユーザは、線のスタイル(直線、曲線、図形、等)、線種(実線、点線、破線、一点鎖線、二点鎖線、等)、描画範囲指定、線の太さ指定、等を行うようになっている。
【0003】
線のスタイルとして選択可能な図形は、比較的に描画される可能性の高い一般的な図形であるのが普通である。その多くは、四角形、円、楕円等の描画経路の始点と終点の位置が一致するもの(以降「閉経路図形」と総称)である。
【0004】
線種として選択可能な点線、破線等は、描画経路と交差する交差方向に切れ目(非描画部分)の入った線(以降「断続線」と総称)である。点線、及び破線には、描画経路に沿って描画が行われる部分(描画部分)、及び切れ目の部分である非描画部分がそれぞれ1種類、存在し、描画部分、及び非描画部分が描画経路上、交互に配置される。それにより、1描画部分と、1非描画部分とで1描画パターンが形成され、この描画パターンが描画経路上、繰り返される。
【0005】
一点鎖線は、非描画部分は1種類であるが、描画部分は経路方向上の長さ(ピッチ)の異なる2種類となっている。ピッチの大きいほうを第1の描画部分、ピッチの小さい方を第2の描画部分と表記すると、一点鎖線では、第1の描画部分→非描画部分→第2の描画部分→非描画部分、の順序で配置される2つの非描画部分、並びにそれぞれ1つの第1及び第2の描画部分により1描画パターンが形成される。ここでの順序は、始点側から終点側に向かう方向を想定してのものである。特に断らない限り、順序はこの方向を前提として表現する。
【0006】
二点鎖線も一点鎖線と同様に、ピッチの異なる2種類の描画部分が存在する。1描画パターンは、第1の描画部分→非描画部分→第2の描画部分→非描画部分→第2の描画部分→非描画部分、により形成される。
【0007】
描画範囲指定は、線のスタイルとして図形が選択された場合、例えばその図形を描画すべき位置の指定により行われる。線のスタイルとして直線、或いは曲線が選択された場合、始点、及び終点の指定により行われる。曲線では、例えば始点および終点の他に、線が通過する通過点が1つ以上、指定可能となっている。
【0008】
図形は、多くの場合、大きさが変更可能である。それにより、図形を線で描画するうえでの描画経路は、指定された図形、及び指定された大きさに応じて特定される。直線の描画経路は、始点と終点の指定によって特定される。曲線の描画経路は、始点と終点、及び1つ以上の通過点によって特定される。
【0009】
直線、及び曲線では、始点および終点としてそれぞれ指定される位置は異なる。それにより、直線、及び曲線の描画経路は、描画された線によって領域を分けない開経路となる。
描画経路に沿った線の描画は、始点から終点に向かって行われる。そのために閉経路図形では、その図形上の1点が始点、及び終点とされる。それにより、閉経路図形でも、直線、及び曲線(閉経路)と同様に描画される。
【0010】
断続線では、描画部分、及び非描画部分の各ピッチは固定とされている。このため、断続線を描画する場合、描画経路の全体の長さ(全体長)によって、開経路では終点が非描画部分となって終点の位置が分からないものになる、閉経路では例えば始点に描画された描画部分と終点に描画された描画部分が重なって、不自然な描画となる、といった不適切な描画が行われるという問題点があった。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平8−267876号公報
【特許文献2】特開平5−254216号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明は、描画経路の全体長に係わらず、断続線を常に適切に描画するための技術を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記課題は、本発明の請求項1の発明によれば、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定手段と、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定する全体長特定手段と、全体長特定手段が特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定手段と、設定手段が設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する描画手段と、を具備する画像形成装置を提供することによって達成できる。
【0014】
上記課題は、始点と終点の位置が異なる場合、例えば請求項2に記載するように、上記設定手段は、第1の実際長、及び第2の実際長の設定により、終点の位置に描画部分の該終点側の端を一致させる、ことによって達成できる。この場合、設定手段は、例えば請求項3に記載するように、第1の実際長、及び第2の実際長の設定により、2つの描画パターンを少なくとも描画手段に描画させる、ことが望ましい。
【0015】
上記課題は、始点と終点の位置が同じ場合、例えば請求項4に記載するように、設定手段は、第1の実際長、及び第2の実際長の設定により、終点の位置に非描画部分の該終点側の端を一致させる、ことによって達成できる。この場合、設定手段は、請求項5に記載するように、第1の実際長、及び第2の実際長の設定により、3つの描画パターンを少なくとも描画手段に描画させる、ことが望ましい。
【0016】
上記課題は、本発明の請求項6の発明によれば、コンピュータが、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定し、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定し、特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定し、設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する、画像形成方法を提供することによって達成できる。
【0017】
上記課題は、本発明の請求項7の発明によれば、コンピュータに、描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定機能と、描画すべき線が、描画経路に沿って描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、始点と終点の間の描画経路に沿った長さである全体長を特定する全体長特定機能と、全体長特定機能により特定した全体長、描画部分の基準とする長さである第1の基準長、及び非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定機能と、設定機能により設定した第1の実際長、及び第2の実際長を用いて、断続線を描画する描画機能と、を実現させるためのプログラムを提供することによって達成できる。
【発明の効果】
【0018】
本発明では、断絶線の全体長に応じて、断絶線の描画部分、及び非描画部分の長さを調節し、その断絶線の描画(出力)を行う。このため、描画経路の全体長に係わらず、断続線を常に適切に描画することができる。
【図面の簡単な説明】
【0019】
【図1】本実施形態による画像形成装置の回路構成を説明する図である。
【図2】本実施形態による画像形成装置を用いた構築された印刷システムの構成を説明する図である。
【図3】一点鎖線を説明する図である。
【図4】開経路の断続線例を説明する図である。
【図5】閉経路の断続線例を説明する図である。
【図6】開経路の断続線の描画方法を説明する図である。
【図7】閉経路の断続線の描画方法を説明する図である。
【図8】最小限数の印刷パターンによる印刷イメージ例を説明する図である。
【図9】断続線描画処理のフローチャートである。
【図10】断続線描画処理のフローチャートである(続き1)。
【図11】断続線描画処理のフローチャートである(続き2)。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による画像形成装置の回路構成を説明する図である。この画像形成装置10は、記録紙に印刷を行うことにより、その記録紙上に画像を形成する印刷装置として実現されたものである。このことから以降「印刷装置」と表記する。
【0021】
この印刷装置10は、図2に表すように、パーソナルコンピュータ(PC)30が接続されたネットワーク31に接続して用いることが可能なものである。図2に表すようなシステム構成では、印刷装置10はネットワーク31を介してPC30から印刷データを受信し、印刷を行う。
【0022】
その印刷データとしては、印刷イメージを表すビットマップデータの他に、その印刷イメージを指示するデータ(以降「言語データ」)を用いることができる。印刷装置10は、この言語データを受信した場合、この言語データが指示する印刷イメージのビットマップデータを生成して印刷を行う。
【0023】
印刷装置10は、図1に表すように、CPU11、オペレーションパネル12、ROM(フラッシュメモリ)13、EEPROM14、RAM15、プリンター制御LSI16、ネットワークインターフェイス(以下、「ネットワークI/F」と表記)17、エンジン部18、セントロインターフェイス(以下、「セントロI/F」と表記)19、外部記憶装置インターフェイス(以下、「外部記憶装置I/F」と表記)20、及び外部記憶装置21を備えている。
【0024】
オペレーションパネル12は、特には図示していないが、各種キーを有する操作部と、表示パネルとを備えている。操作部は、ユーザのキー操作により、操作されたキー、その操作内容等をCPU11に通知する。表示パネルは、CPU11から出力される表示制御信号(表示用の表示データを含む)に従った表示を行う。
【0025】
ROM13は制御プログラムを記憶し、CPU11はこのプログラムを実行することにより、印刷装置10全体の制御を行う。
EEPROM14は、電源オフ時に残すべきデータの保存に用いられる。例えば印刷装置10が電子写真方式で記録紙上に画像形成を行う場合、そのデータとしては、不図示のトナーユニットの寿命をカウントするカウントデータ等がある。
【0026】
エンジン部18は、その電子写真方式で記録紙上に画像形成を行うものである。上記トナーユニットはこのエンジン部18に含まれる。エンジン部18は他に、記録紙を搬送する搬送ユニット、感光体上にトナー像を形成し、そのトナー像を記録紙上に転写する画像形成ユニット、記録紙上に転写されたトナー像を定着させる定着ユニット等を備える。
【0027】
RAM15はCPU11のワークに用いられる。受信した印刷データはRAM15に確保された領域に格納される。その印刷データが言語データであった場合、その言語データが指示する印刷イメージのビットマップデータは、RAM15をワークに用いて生成される。
【0028】
プリンター制御LSI16は、エンジン部18を制御するLSIである。CPU10は、例えばエンジン部18の電源管理を行い、プリンター制御LSI16は、搬送ユニット、画像形成ユニット、定着ユニット等を制御して、記録紙上への印刷を実現させる。
【0029】
ネットワークI/F(インターフェイス)17は、ネットワーク31に接続させるためのものである。そのネットワーク31がLANであった場合には、例えばLANボードが相当する。
【0030】
セントロI/F19は、ホスト機器との間でローカル接続を行う場合のパラレルインターフェイスである。セントロI/F19を介して印刷装置10に直接接続されたパーソナルコンピュータ等のホスト機器から印刷データ等を受信する。
【0031】
外部記憶装置インターフェイス20は、外部記憶装置21を接続するためのものである。その外部記憶装置21は、例えばハードディスク装置(HDD)等の大容量の記憶装置である。
【0032】
以上の構成において、動作を説明する。
CPU10は、電源がオンされると、ROM13に格納されたプログラムをRAM15に読み出して実行し、印刷装置10全体の制御を開始する。それにより、CPU10は、オペレーションパネル12へのユーザの操作、或いはネットワークI/F17若しくはセントロI/F19を介した印刷指示等に対応した処理を行う。
【0033】
ネットワークI/F17或いはセントロI/F19を介して印刷指示を受け取った場合、CPU10は、印刷指示と併せて送信される印刷データをRAM15に格納する。その印刷データがビットマップデータであれば、プリンター制御LSI16に出力し、ビットマップデータを用いた画像形成を行わせる。その印刷データが言語データであれば、RAM15を用いて言語データをビットマップデータに変換し、変換後のビットマップデータをプリンター制御LSI16に出力する。
【0034】
言語データが指示可能な印刷イメージ(画像)として、線がある。その線として、経路に沿って印刷(描画)を行うべき印刷部分、及び印刷を行うべきでない非印刷部分が存在する断続線が指示可能である。そのような断続線を言語データが指示している場合、CPU10は、以下のようにして断続線用のビットマップデータを生成する。
【0035】
ここでは、便宜的に、断続線としては図3に表す一点鎖線を想定する。この一点鎖線は、経路上の長さ(ピッチ)が異なる2種類の印刷部分41及び42、ピッチが同じ2つの非印刷部分43を1印刷パターンの構成要素とする断続線である。以降、ピッチが大きい印刷部分41は「長線」、ピッチが小さい印刷部分42は「短線」とそれぞれ表記する。2つの非印刷部分43については、以降「切れ目」と表記し、符号としては、1印刷パターンにおいて、長線41及び短線42に接するものには43a、短線42のみに接するものには43bを用いる。図3中のa〜c及びAはそれぞれ、長線41のピッチ、切れ目43のピッチ、短線42のピッチ、1印刷パターンのピッチを表している。1印刷パターンのピッチAは、a+2b+cにより求められる長さである。
【0036】
線を印刷する経路は、四角形や円等の線によって領域が分けられる、つまり線の両端が視認できない閉経路と、線の両端が視認可能な開経路とに大別される。図4は開経路の断続線例を説明する図であり、図4(a)は直線(一点鎖線による直線)、図4(b)は曲線(一点鎖線による曲線)の例をそれぞれ表している。図5は閉経路の断続線例を説明する図であり、図5(a)は円(一点鎖線による円)、図5(b)は楕円(一点鎖線による楕円)の例をそれぞれ表している。ここでは、説明上便宜的に、開経路として直線、閉経路(閉経路図形)として円のみを例にとって説明を行う。
【0037】
始めに、直線(開経路)の一点鎖線の描画方法、つまりその一点鎖線のビットマップデータの生成方法について、図6を参照して具体的に説明する。図6において、61は言語データから従来、生成される直線イメージ、62及び63は本実施形態で生成される直線イメージをそれぞれ表している。
【0038】
言語データは、線の印刷イメージを指示するために、線のスタイル、線種、描画範囲、線の太さ、等を指定するデータを備えている。直線では、描画範囲は始点、及び終点により指定される。曲線では、描画範囲は始点、及び終点の他に、始点と終点の間の経路が指定される。
【0039】
直線イメージ61は、言語データが表す始点、及び終点の間を、始点から固定のピッチで長線41、短線42及び2つの切れ目43(の各イメージ)を図3に表す順序で配置していくことで描画(生成)される。しかし、そのような描画方法では、終点に切れ目43が配置される場合がある。終点に切れ目43が配置される場合、直線の終点が視認できなくなる。このことから本実施形態では、直線イメージ62及び63から明らかなように、最後に配置する長線41の終点側の端である終端を終点に一致させるようにしている。終点に長線41の終端を一致させるようにしたのは、長線41はピッチが最も大きい、つまり視認性が最も高く、それによって終点の視認も最も容易になるからである。なお、終点と一致させるのは短線42の終端としても良い。
【0040】
終点に長線41の終端を一致させるのは、長線41、短線42及び2つの切れ目43の各印刷イメージの拡大操作、或いは縮小操作により行っている。拡大操作、及び縮小操作からの選択は、言語データを参照して直線(開経路)の全体長を特定し、特定した全体長を1印刷イメージのピッチAで割って得られる余りn(n<A)を算出して行っている。それにより、余りnがピッチaの値未満(n<a)であった場合、最後の長線41の終端を終点に一致させるように拡大操作を行い、そうでない場合、つまり余りnがピッチaの値以上(n≧a)であった場合、長線41を更に1つ追加し、追加した長線42の終端を終点に一致させるように縮小操作を行うようにしている。このようなことから、縮小率、及び拡大率はそれぞれ以下のように算出している。
拡大率=全体長/(全体長−n−2b−c) ・・・ (1)
縮小率=全体長/(全体長+A−n+a) ・・・ (2)
【0041】
図6の直線イメージ62は、上記のように算出される拡大率を用いた拡大操作により生成された例である。直線イメージ63は、上記のように算出される縮小率を用いた縮小操作により生成された例である。
【0042】
次に、円(閉経路図形)の一点鎖線の描画方法、つまりその一点鎖線のビットマップデータの生成方法について、図7を参照して具体的に説明する。図7において、71は言語データから従来、生成される円イメージ、72及び73は本実施形態で生成される円イメージをそれぞれ表している。
【0043】
言語データは、閉経路図形の印刷イメージを指示するために、閉経路図形の形状、大きさ(サイズ)、及び位置を指定するデータを備えている。終点、及び始点は、形状、及び大きさから特定される経路上から抽出された一点とされる。
【0044】
円イメージ71は、言語データから特定される閉経路上の一点から、固定のピッチで長線41、短線42及び2つの切れ目43(の各イメージ)を図3に表す順序で配置していくことで生成される。図7中の71aは、始点、及び終点として抽出された点(以降「選択点」と表記)である。しかし、そのような生成方法では、選択点71aの間の繋がりが不自然になる場合がある。図7に表す円イメージ71では、選択点71aの前後(左右)で長線41が連続することにより、不自然なイメージとなっている。このことから本実施形態では、円イメージ72及び73から明らかなように、一点鎖線を構成する構成要素の並びが変化しないように、且つ各構成要素のなかでピッチが他と異ならないようにして、常に適切な円イメージを生成するようにしている。
【0045】
構成要素の並びが変化しないように、且つ同じ構成要素のピッチを全て同じにさせるのは、閉経路と同様に、長線41、短線42及び2つの切れ目43の各印刷イメージの拡大、或いは縮小操作により行っている。拡大操作、及び縮小操作からの選択は、円の全体長を1印刷イメージのピッチAで割って得られる余りn(n<A)を算出して行っている。それにより、余りnがピッチaの値未満(n<a)であった場合、最後の長線41を省き、その長線41の前に位置する切れ目43bの終端を選択点に一致させるように拡大操作を行い、そうでない場合、つまり余りnがピッチaの値以上(n≧a)であった場合、必要に応じて切れ目43b、短線42、更には切れ目43aを追加し、切れ目43bの終端を終点に一致させるように縮小操作を行うようにしている。このようなことから、縮小率、及び拡大率はそれぞれ以下のようにして算出される。
拡大率=全体長/(全体長−n) ・・・ (3)
縮小率=全体長/(全体長+A−n) ・・・ (4)
【0046】
図7の直線イメージ72は、上記のように算出される拡大率を用いた拡大操作により生成された例である。円イメージ73は、上記のように算出される縮小率を用いた縮小操作により生成された例である。
【0047】
縮小操作時における切れ目43b、短線42、及び切れ目43aの追加は、余りnがピッチaの値と等しければ2つの切れ目43及び短線42の全ての追加が行われる。余りnがa<n<a+bの間であれば、短線42及び切れ目43bの追加が行われる。余りnがa+b≦n<a+b+cの間であれば、切れ目43bのみ追加される。余りnがa+b+c≦n<a+2b+cの間であれば、構成要素の追加は行われない。
【0048】
上記のようにして、一点鎖線の印刷経路が閉経路および開経路の何れかであるかに応じて、一点鎖線の構成要素の並びが調整される。このため、ユーザが印刷(描画)された断続線を見て、視覚的に不適切と感じるようなことは確実に回避される。
【0049】
ところで、印刷経路全体の長さである全体長が比較的に短い場合、指定した断続線の線種等により、その線種が視認し難くなることが考えられる。このことから本実施形態では、最低限、印刷すべき印刷パターンの数である最低限数を設けている。この最低限数以上の印刷パターンを印刷させることにより、線種が視認し難くなるのをより確実に抑えるようにしている。図8は、最小限数の印刷パターンによる印刷イメージ例を説明する図である。図8(a)は、閉経路(円)の場合の印刷イメージ例を表し、図8(b)は開経路(直線)の場合の印刷イメージ例を表している。
【0050】
図8(a)に表すように、本実施形態では、閉経路では最低減数は3、つまり3印刷パターン以上で閉経路の断続線を印刷するように設定している。開経路では、図8(b)に表すように、最低減数は2、つまり2印刷パターン以上で開経路の断続線を印刷するように設定している。開経路では、最後に長線41を配置するようにしていることから、図8(b)から明らかなように、実際には2印刷パターンと1長線41が少なくとも印刷されることとなる。
【0051】
図8(b)に表すような開経路における印刷イメージの生成は、縮小操作を用いて行っている。その縮小操作は、全体長が2A+a未満(全体長<2A+a)であった場合に行う。その縮小操作に用いる縮小率は、以下のように算出する。
縮小率=全体長/(2A+a) ・・・ (5)
【0052】
一方、図8(a)に表すような閉経路における印刷イメージの生成も、縮小操作を用いて行っている。その縮小操作は、全体長が3A未満(全体長<3A)であった場合に行う。その縮小操作に用いる縮小率は、以下のように算出する。
縮小率=全体長/(3A) ・・・ (6)
【0053】
CPU10は、言語データにより印刷イメージが指示された場合、その言語データが印刷を指示する断続線毎に、その断続線の経路の種類、及び全体長を特定し、必要に応じて、図6〜図8の何れかに表すような拡大操作、或いは縮小操作を行い、断続線の印刷イメージのビットマップデータを生成する。生成した印刷イメージはRAM15に随時、保存することにより、1ページ分の印刷イメージのビットマップデータを生成し、生成したビットマップデータをプリンター制御LSI16に出力することにより、1ページ分の印刷を行わせる。適切な状態に断続線が印刷された記録紙が印刷装置10から排紙されることとなる。
【0054】
なお、本実施形態では、基本となるビットマップデータに対して拡大操作、或いは縮小操作を行うようにしているが、そのような操作を行うことなく、断絶線のビットマップデータを生成するようにしても良い。つまり、図6〜図8のうちの何れかに表すように断絶線を出力できるのであれば、その断絶線のビットマップデータの生成方法は特に限定されるものではない。
【0055】
図9〜図11は、断続線描画処理のフローチャートである。この断続線描画処理は、受信した言語データが印刷を指示する1印刷イメージが断続線のものであった場合に、CPU10がその断続線のビットマップデータを生成するために実行する処理であり、ROM13に格納されたプログラムの実行により実現される。次に図9〜図11を参照して、この断続線業が処理について詳細に説明する。ここでも便宜的に、断続線としては一点鎖線のみを想定する。
【0056】
先ず、S1では、CPU10は断続線の始点と終点が一致する、つまり断続線の印刷経路が閉経路か否か判定する。その断続線が円、四角形等の閉経路のものであった場合、判定はYESとなって図10のS9に移行する。そうでない場合、つまり断続線が直線、或いは曲線等の開経路のものであった場合、判定はNOとなってS2に移行する。
【0057】
S2では、CPU10は、言語データを参照して、断続線の全体長を特定し、全体長が2A+a(図9中「Ax2+a」と表記)未満の長さか否か判定する。全体長が2A+a以上の長さであった場合、判定はNOとなってS3に移行する。全体長が2A+a未満の長さであった場合、判定はYESとなって図11のS16に移行する。
【0058】
S16では、例えば図8(b)に表すように開経路に沿って一点鎖線を印刷するためのビットマップデータの生成を行う。そのために、一点鎖線の各構成要素41〜43のビットマップデータは、それぞれ、(5)式から算出される縮小率で縮小操作する。1断続線分のビットマップデータは、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納していくことで生成される。そのような生成を行った後、この断続線描画処理を終了する。
【0059】
図9のS3では、CPU10は全体長を1印刷パターンのピッチAで割ることにより、余りnを算出する。次のS4では、CPU10は、余りnが長線41のピッチaの値以上か否か判定する。余りnがピッチaの値以上であった場合、判定はYESとなってS7に移行する。余りnがピッチaの値未満であった場合、判定はNOとなってS5に移行する。
S5では、CPU10は(1)式により拡大率を算出する。続くS6では、CPU10は、算出した拡大率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの拡大操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図6の直線イメージ62のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0060】
S7では、CPU10は(2)式により縮小率を算出する。続くS8では、CPU10は、算出した縮小率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの縮小操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図6の直線イメージ63のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0061】
このようにして、開経路の断続線のビットマップデータが生成され、RAM15に格納される。それにより、断続線が直線であれば、図6の直線イメージ61のような印刷は回避され、直線イメージ62或いは63のような印刷が行われることとなる。全体長が短い場合には、図8(b)に表すような直線が印刷されることとなる。
【0062】
上記S1の判定がYESとなって移行する図10のS9では、CPU10は、言語データを参照して、断続線の全体長を特定し、全体長が3A(図10中「Ax3」と表記)未満の長さか否か判定する。全体長が3A以上の長さであった場合、判定はNOとなってS10に移行する。全体長が3A未満の長さであった場合、判定はYESとなって図11のS17に移行する。
【0063】
S17では、例えば図8(a)に表すように開経路に沿って一点鎖線を印刷するためのビットマップデータの生成を行う。そのために、一点鎖線の各構成要素41〜43のビットマップデータは、それぞれ、(6)式から算出される縮小率で縮小操作する。1断線分のビットマップデータは、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納していくことで生成される。そのような生成を行った後、この断続線描画処理を終了する。
【0064】
図10のS10では、CPU10は全体長を1印刷パターンのピッチAで割ることにより、余りnを算出する。次のS11では、CPU10は、余りnが長線41のピッチaの値以上か否か判定する。余りnがピッチaの値以上であった場合、判定はYESとなってS14に移行する。余りnがピッチaの値未満であった場合、判定はNOとなってS12に移行する。
【0065】
S12では、CPU10は(3)式により拡大率を算出する。続くS13では、CPU10は、算出した拡大率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの拡大操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図7の円直線イメージ73のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0066】
S14では、CPU10は(4)式により縮小率を算出する。続くS15では、CPU10は、算出した縮小率を用いて、一点鎖線の各構成要素41〜43のビットマップデータの縮小操作を行い、例えば各構成要素41〜43の操作後のビットマップデータを経路上の位置に対応するRAM14の記憶領域に格納する。そのようにして1断続線(例えば図7の円イメージ72のようなもの)分のビットマップデータを生成した後、この断続線描画処理を終了する。
【0067】
このようにして、閉経路の断続線のビットマップデータが生成され、RAM15に格納される。それにより、断続線が円を表すものであれば、図7の円イメージ71のような印刷は回避され、円イメージ72或いは73のような印刷が行われることとなる。全体長が短い場合には、図8(a)に表すような直線が印刷されることとなる。
【0068】
上記説明は、断絶線として一点鎖線を例にとって行っているが、他の線種、つまり点線、破線、に点鎖線等でも同様に断絶線のビットマップデータを作成すれば良い。例えば開経路の二点鎖線では、一点鎖線と同様に、ピッチの最も大きい長線の終端を終点に合わせるようにしても良い。或いは2つの短線のうちの一つの終端を終点に合わせるようにしても良い。
【0069】
本実施形態では、印刷装置に本発明を適用しているが、適用する装置は印刷装置以外のものであっても良い。例えば表示装置上に形成した画像を出力できるもの、或いはその画像のデータを単に生成できるものであっても良い。このことから、実際に印刷を行うための印刷機能、或いは実際に画像を表示させる表示機能を搭載していないコンピュータ(データ処理装置)にも幅広く適用することができる。
【0070】
本実施形態では、図9〜図11に表す断続線描画処理を実行可能なプログラムをROM13に格納しているが、そのプログラム、或いはその一部は、光ディスク、ハードディスク装置、等に記録して配布しても良い。或いは、何らかのネットワークを介して配信しても良い。
【符号の説明】
【0071】
10 画像形成装置(印刷装置)
11 CPU
13 ROM
15 RAM
16 プリンター制御LSI
17 ネットワークI/F
18 エンジン部
19 セントロI/F
【特許請求の範囲】
【請求項1】
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定手段と、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定する全体長特定手段と、
前記全体長特定手段が特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定手段と、
前記設定手段が設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する描画手段と、
を具備することを特徴とする画像形成装置。
【請求項2】
前記始点と前記終点の位置が異なる場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、前記終点の位置に前記描画部分の該終点側の端を一致させる、
ことを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記始点と前記終点の位置が異なる場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、2つの前記描画パターンを少なくとも前記描画手段に描画させる、
ことを特徴とする請求項1、または2記載の画像形成装置。
【請求項4】
前記始点と前記終点の位置が同じ場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、前記終点の位置に前記非描画部分の該終点側の端を一致させる、
ことを特徴とする請求項1記載の画像形成装置。
【請求項5】
前記始点と前記終点の位置が同じ場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、3つの前記描画パターンを少なくとも前記描画手段に描画させる、
ことを特徴とする請求項1、または4記載の画像形成装置。
【請求項6】
コンピュータが、
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定し、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定し、
前記特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定し、
前記設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する、
ことを特徴とする画像形成方法。
【請求項7】
コンピュータに、
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定機能と、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定する全体長特定機能と、
前記全体長特定機能により特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定機能と、
前記設定機能により設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する描画機能と、
を実現させるためのプログラム。
【請求項1】
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定手段と、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定する全体長特定手段と、
前記全体長特定手段が特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定手段と、
前記設定手段が設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する描画手段と、
を具備することを特徴とする画像形成装置。
【請求項2】
前記始点と前記終点の位置が異なる場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、前記終点の位置に前記描画部分の該終点側の端を一致させる、
ことを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記始点と前記終点の位置が異なる場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、2つの前記描画パターンを少なくとも前記描画手段に描画させる、
ことを特徴とする請求項1、または2記載の画像形成装置。
【請求項4】
前記始点と前記終点の位置が同じ場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、前記終点の位置に前記非描画部分の該終点側の端を一致させる、
ことを特徴とする請求項1記載の画像形成装置。
【請求項5】
前記始点と前記終点の位置が同じ場合、前記設定手段は、前記第1の実際長、及び前記第2の実際長の設定により、3つの前記描画パターンを少なくとも前記描画手段に描画させる、
ことを特徴とする請求項1、または4記載の画像形成装置。
【請求項6】
コンピュータが、
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定し、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定し、
前記特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定し、
前記設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する、
ことを特徴とする画像形成方法。
【請求項7】
コンピュータに、
描画すべき線の始点、及び終点、並びに該始点と該終点の間の描画経路を特定する描画内容特定機能と、
前記描画すべき線が、前記描画経路に沿って前記描画が行われる描画部分、及び該描画経路に沿って該描画が行われない非描画部分が予め定められた順序に従って配置され、それぞれ一つ以上の該描画部分、及び該非描画部分により1描画パターンが形成される断続線であった場合に、前記始点と前記終点の間の前記描画経路に沿った長さである全体長を特定する全体長特定機能と、
前記全体長特定機能により特定した全体長、前記描画部分の基準とする長さである第1の基準長、及び前記非描画部分の基準とする長さである第2の基準長を用いて、該描画部分に実際に設定すべき長さである第1の実際長、及び該非描画部分に実際に設定すべき長さである第2の実際長を算出して設定する設定機能と、
前記設定機能により設定した前記第1の実際長、及び前記第2の実際長を用いて、前記断続線を描画する描画機能と、
を実現させるためのプログラム。
【図1】
【図2】
【図4】
【図5】
【図9】
【図10】
【図11】
【図3】
【図6】
【図7】
【図8】
【図2】
【図4】
【図5】
【図9】
【図10】
【図11】
【図3】
【図6】
【図7】
【図8】
【公開番号】特開2012−121200(P2012−121200A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−272996(P2010−272996)
【出願日】平成22年12月7日(2010.12.7)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月7日(2010.12.7)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]