(57)【要約】【課題】多量の線画を含むチャート画像を表示する場合でもその表示速度の向上を図れるようにするとともに、表示速度の高速化のためにビットマップ化されたチャート画像上でもマウスカーソルの位置判定を行うことができるようにする。【解決手段】帳票データからビットマップ形式の表示用チャート画像を生成する一方、チャート画像上における複数の線画をそれぞれ識別可能な識別用レイアウト情報をマウス判定用に生成する。そして、表示用チャート画像上でマウスカーソルにより指定されたドットに対応する識別情報を識別用レイアウト情報から取得し、当該識別情報により示されるドット列を線画として特定することにより、複数の線画をそれぞれベクター描画して表示する場合に比べて表示速度を速くできるようにするとともに、ビットマップ化されたチャート画像中の線画をそれぞれ識別用レイアウト情報により識別できるようにする。【選択図】図１
2011103065.tif 000002
【特許請求の範囲】
【請求項１】
複数の数値データから、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成するチャート画像生成部と、
上記チャート画像生成部により生成されたチャート画像に基づいて、上記チャート画像上の上記複数の線画をそれぞれ識別可能な識別情報を生成し、上記チャート画像と同じ２次元レイアウト上で上記複数の線画に対応する各ドットに対して上記識別情報を各々付与して成る識別用レイアウト情報を生成する識別情報生成部と、
上記チャート画像生成部により生成された上記チャート画像に基づいて、表示用チャート画像を生成する表示用チャート画像生成部と、
上記表示用チャート画像生成部により生成された上記表示用チャート画像を表示装置に表示させる表示制御部と、
上記表示制御部により表示された上記表示用チャート画像上で指定されたドットに対応する識別情報を上記識別用レイアウト情報から取得する識別情報取得部と、
上記識別情報取得部により取得された識別情報により示されるドット列を線画として特定する線画特定部とを備えたことを特徴とするチャート描画装置。
【請求項２】
上記識別情報生成部は、上記チャート画像上で上記複数の線画が重なるドットについては、それぞれの線画に対応する上記識別情報を各々付与して上記識別用レイアウト情報を生成し、
上記識別情報取得部は、上記指定されたドットが、上記チャート画像上で上記複数の線画が重なるドットである場合には、当該ドットについて付与されている複数の識別情報の中から何れか１つを取得することを特徴とする請求項１に記載のチャート描画装置。
【請求項３】
上記表示制御部は、上記線画特定部により特定された線画をハイライト表示させることを特徴とする請求項１または２に記載のチャート描画装置。
【請求項４】
上記識別情報生成部が生成する各ドットの上記識別情報は色情報であることを特徴とする請求項１に記載のチャート描画装置。
【請求項５】
上記識別情報生成部は、上記チャート画像生成部により生成された上記チャート画像と同じ２次元レイアウト上で上記複数の線画の線に対応する各ドットに対して上記識別情報を各々付与して成る線識別用レイアウト情報と、上記チャート画像生成部により生成された上記チャート画像と同じ２次元レイアウト上で上記複数の線画上の離散的な点に対応する各ドットに対して上記識別情報を各々付与して成る点識別用レイアウト情報とを生成し、
上記線画特定部は、上記線識別用レイアウト情報に基づいて、上記識別情報取得部により取得された識別情報により示されるドット列を上記線画として特定するとともに、上記点識別用レイアウト情報に基づいて、上記識別情報取得部により取得された識別情報により示されるドットを上記線画上の点として特定することを特徴とする請求項１に記載のチャート描画装置。
【請求項６】
上記識別情報生成部が生成する各ドットの上記識別情報は、所定範囲内にある類似色を同一色グループにグルーピングした色情報であり、上記識別情報生成部は、１つの線画に対応する各ドットに対して上記同一色グループに属する類似色の色情報を各々付与し、その際に当該１つの線画上の離散的な点に対応する各ドットに対しては少なくとも異なる類似色の色情報を各々付与して上記線識別用レイアウト情報および上記点識別用レイアウト情報を生成し、
上記線画特定部は、上記線識別用レイアウト情報に基づいて、上記識別情報取得部により取得された色情報と同一色グループに属する色情報により示されるドット列を上記線画として特定するとともに、上記点識別用レイアウト情報に基づいて、上記識別情報取得部により取得された色情報により示されるドットを上記線画上の点として特定することを特徴とする請求項５に記載のチャート描画装置。
【請求項７】
上記線画特定部により上記線画が特定されたときには所定の第１の動作を行うように制御するとともに、上記線画特定部により上記線画上の点が特定されたときには所定の第２の動作を行うように制御する動作制御部を更に備えたことを特徴とする請求項６に記載のチャート描画装置。
【請求項８】
複数の数値データから、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成するチャート画像生成ステップと、
上記チャート画像生成ステップで生成されたチャート画像に基づいて、上記チャート画像上の上記複数の線画をそれぞれ識別可能な識別情報を生成し、上記チャート画像と同じ２次元レイアウト上で上記複数の線画に対応する各ドットに対して上記識別情報を各々付与して成る識別用レイアウト情報を生成する識別情報生成ステップと、
上記チャート画像生成ステップで生成された上記チャート画像に基づいて、表示用チャート画像を生成する表示用チャート画像生成ステップと、
上記表示用チャート画像生成ステップで生成された上記表示用チャート画像を表示装置に表示させる表示ステップと、
上記表示装置に表示された上記表示用チャート画像上で指定されたドットに対応する識別情報を上記識別用レイアウト情報から取得する識別情報取得ステップと、
上記識別情報取得ステップで取得された識別情報により示されるドット列を線画として特定する線画特定ステップと、
上記線画特定ステップで特定された線画をハイライト表示させるハイライト表示ステップとを有することを特徴とするチャート描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チャート描画装置およびチャート描画方法に関し、特に、多量の線画を含むチャート画像を描画するのに用いて好適なものである。
【背景技術】
【０００２】
従来、日々蓄積される帳票データを集計し、チャート形式で出力することができるようになされたアプリケーションが提供されている。数字の羅列ではなく、見やすいチャート形式で出力することにより、営業・販売・経理・在庫などの集計業務の効率を向上させることが可能である。この種のアプリケーションには、Ｗｅｂ対応のものも存在する。Ｗｅｂ対応のアプリケーションにおいては、チャートを描画するために、ブラウザのプラグインソフトであるＦＬＡＳＨ（フラッシュ）が使われることが多いのが現状である。
【０００３】
ＦＬＡＳＨでチャートを描画する場合は、一般的にはGraphicsクラスのメソッドであるLineTo関数やDrawRect関数を利用したベクター描画が行われる。ベクター描画とは、点の座標および点間を結ぶ線や面のパラメータ情報で表現されるベクター形式による描画方法で、線画を描画するのに適している。しかしながら、ベクター描画を行うと、数値データとして与えられた情報を計算によって画像化するレンダリング処理に多くの計算負荷がかかる。そのため、多量の線画を描画した場合に、著しくパフォーマンスが低下するという問題がある。
【０００４】
パフォーマンスの低下を避けるため、ベクター描画された多数の線画を逐次ビットマップデータへ転写するという方法が一般的に用いられている。例えば、多数の折れ線から成るチャートを描画する場合、まずはGraphicsクラスのメソッドを利用したベクター描画を行い、１本目の折れ線を生成する。そして、その１本目の折れ線をビットマップデータに転写して画像化する。その後、Graphicsクラスの内容をクリアして、２本目の折れ線に関して同様の処理を行う。以下同様にして、多数本の折れ線をビットマップデータで描画する。このように、Graphicsクラスの内容を都度クリアして描画情報を削減することにより、折れ線を何本描画しても動作速度に悪影響を与えることはなくなる。
【０００５】
しかし、多数本の折れ線をビットマップ化してしまう弊害として、マウスカーソルの位置判定ができなくなってしまうという操作上の問題が発生する。例えば、チャート上の線や点の上にマウスカーソルを合わせた際に、選択された線のハイライト表示や、選択された点のラベル表示（チャート生成の元データである帳票情報の表示など）といったアクションを行うことができなくなってしまう。ビットマップ化してしまったチャートは全体としてただ１つの画像であるが故に、データ上は線や点といった概念がなくなってしまうからである。
【０００６】
なお、被測定信号のサンプルデータからビットマップ形式で生成されたアイパターンを表示し、マウスを操作してアイパターン表示領域上の任意の点を選択すると、選択された点を通過する波形がハイライト表示されるようにした技術が提案されている（例えば、特許文献１参照）。しかし、この特許文献１には、ビットマップ化された画像上でどのようにしてマウスカーソルの位置判定を行うのかについての具体的な手法は開示されておらず、実現の方法が不明である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２３２９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、このような問題を解決するために成されたものであり、多量の線画を含むチャート画像を表示する場合でもその表示速度の向上を図れるようにするとともに、表示速度の高速化のためにビットマップ化されたチャート画像上でもマウスカーソルの位置判定を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、複数の数値データからビットマップ形式のチャート画像を生成し、当該チャート画像から表示用チャート画像を生成する一方、識別用レイアウト情報をマウス判定用に生成する。この識別用レイアウト情報は、チャート画像上における複数の線画をそれぞれ識別可能な識別情報を、チャート画像と同じ２次元レイアウト上で線画に対応する各ドットに付与したものである。そして、表示装置に表示させた表示用チャート画像上で指定されたドットに対応する識別情報を識別用レイアウト情報から取得し、当該取得した識別情報により示されるドット列を線画として特定するようにしている。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、複数の線画を含むチャートがビットマップ画像として生成され表示されるので、複数の線画をそれぞれベクター描画して表示する場合に比べて、複数の線画を描画する場合の動作速度を格段に速くすることができる。これにより、多量の線画を含むチャート画像であっても極めて高速に描画することができる。
【００１１】
さらに、本発明によれば、チャート画像とは別に生成された識別用レイアウト情報により、チャート画像中に含まれる線画の位置という概念が形成されて、チャート画像中の線画をそれぞれ識別することが可能となる。これにより、ビットマップ化されたチャート画像上でも、ドットを指定した位置の線画を特定することができるようになる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態によるチャート描画装置の機能構成例を示すブロック図である。
【図２】本実施形態のチャート描画装置により描画するチャート画像の一例を示す図である。
【図３】図２に示したチャート画像から生成される線識別用レイアウト情報および点識別用レイアウト情報の一部構成例を示す図である。
【図４】本実施形態による表示画面の一例を示す図である。
【図５】本実施形態によるチャート描画装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるチャート描画装置１００の機能構成例を示すブロック図である。本実施形態のチャート描画装置１００は、その機能構成として、ベクター描画部１１、チャート画像生成部１２、識別情報生成部１３、識別情報記憶部１４、表示用チャート画像生成部１５、表示制御部１６、識別情報取得部１７、線画特定部１８および動作制御部１９を備えている。
【００１４】
これらの各機能ブロックは、ハードウェア構成、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、本実施形態のチャート描画装置１００は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。
【００１５】
ベクター描画部１１は、帳票データ記憶部２００に記憶されている複数の帳票データ（数値データ）を用いて、GraphicsクラスのメソッドであるLineTo関数やDrawRect関数を利用して複数の線画を逐次ベクター描画する。チャート画像生成部１２は、ベクター描画部１１によりベクター描画された複数の線画を逐次ビットマップデータへ転写することにより、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成する。
【００１６】
例えば、図２に示すような複数の折れ線（線画）から成るチャート画像を描画する場合、まずはベクター描画部１１がGraphicsクラスのメソッドを利用して、１本目の折れ線をベクター描画する。そして、チャート画像生成部１２がその１本目の折れ線をビットマップデータに転写して画像化する。その後、ベクター描画部１１はGraphicsクラスの内容をクリアして、２本目の折れ線をベクター描画する。そして、チャート画像生成部１２がその２本目の折れ線をビットマップデータに転写して画像化する。以下同様の処理を繰り返すことにより、複数の折れ線をビットマップで描画したチャート画像を生成する。
【００１７】
識別情報生成部１３は、チャート画像生成部１２により生成されたチャート画像に基づいて、チャート画像上の複数の線画をそれぞれ識別可能な識別情報を生成し、チャート画像と同じ２次元レイアウト上で複数の線画に対応する各ドットに対して識別情報を各々付与して成る識別用レイアウト情報を生成する。本実施形態では、識別情報生成部１３が生成する各ドットの識別情報として、色情報を用いる。識別情報生成部１３は、生成した識別用レイアウト情報を識別情報記憶部１４に記憶する。
【００１８】
識別情報生成部１３は、２種類の識別用レイアウト情報を生成する。１つは線識別用レイアウト情報であり、もう１つは点識別用レイアウト情報である。前者の線識別用レイアウト情報は、複数の線画の線を識別するための情報である。また、後者の点識別用レイアウト情報は、複数の線画上の離散的な点を識別するための情報である。
【００１９】
すなわち、識別情報生成部１３は、チャート画像生成部１２により生成されたチャート画像と同じ２次元レイアウト上で、複数の線画の線に対応する各ドットに対して識別情報（色情報）を各々付与して成る線識別用レイアウト情報を生成する。また、識別情報生成部１３は、同じくチャート画像と同じ２次元レイアウト上で、複数の線画上の離散的な点に対応する各ドットに対して識別情報（色情報）を各々付与して成る点識別用レイアウト情報を生成する。
【００２０】
点識別用レイアウト情報の各ドットを構成する離散的な点は、帳票データそれ自体によりプロットされる点である。例えば、帳票データが店舗別に毎日蓄積される売上のデータであり、この帳票データに基づいて生成される図２のチャート画像が店舗別の時系列売上推移を示すもの（横軸が日付、縦軸が売上）である場合、離散的な点は、店舗別の売上を日付毎にプロットした点に相当する。識別情報生成部１３は、点識別用レイアウト情報を生成する際に、上述の各プロット点に対応する帳票データ（店舗名、日付、売上など）を帳票データ記憶部２００から読み込み、色情報をＩＤとしたひも付け情報として識別情報記憶部１４に記憶する。
【００２１】
図３は、図２に示したチャート画像から生成される線識別用レイアウト情報および点識別用レイアウト情報の一部構成例を示す図である。図３（ａ）が線識別用レイアウト情報を示し、図３（ｂ）が点識別用レイアウト情報を示している。図３において、四角のマスの１つ１つがドットを示している。識別用レイアウト情報の各ドットの位置は、チャート画像の各ドットの位置と１：１に対応している。各マスのうち、ハッチングを付した部分が線画を構成するドットを示しており、種類の異なるハッチングは異なる線画であることを示している。
【００２２】
識別情報生成部１３は、図３においてハッチングで示したドットに対して、線画毎に異なる色情報を識別情報として付与する。このとき識別情報生成部１３は、チャート画像上で複数の線画が重なるドット（以下、交差ドットという）については、それぞれの線画に対応する色情報を各々付与して識別用レイアウト情報を生成する。なお、図面の都合上、交差ドットについても１種類のハッチングしか付していないが、実際には複数の線画に対応して異なる色情報が各々付与されている。
【００２３】
交差ドットについて示しているハッチングに対応する色情報は、後述する識別情報取得部１７により取得される色情報である。具体的には、当該交差ドットで交わっている複数の線画のうち、チャート画像生成部１２により最も後にビットマップ化された線画に対応する色情報であるものとする。複数の線画をビットマップ化する順番は、帳票データ記憶部２００に記憶されている帳票データの並び順に基本的には依存するが、ユーザの指定により任意に並べ替えることも可能である。
【００２４】
例えば、図４に示すように、チャート画像を表示するためのウィンドウ５１の他にソートボタン５２を含んだ画面を表示装置３００に表示させ、ユーザがマウス４００によりソートボタン５２を操作することにより、複数の線画をビットマップ化する順番を並べ替えるようにする。または、チャート画像を表示するためのウィンドウ５１の他に複数の線画に対応する店舗名リスト５３を含んだ画面を表示装置３００に表示させ、ユーザがマウス４００を操作して店舗名の並び順を任意に入れ替えることにより、複数の線画をビットマップ化する順番を並べ替えるようにしても良い。
【００２５】
このように、複数の線画をビットマップ化する順番を並べ替えると、並べ替えた順番に従ってベクター描画部１１、チャート画像生成部１２および識別情報生成部１３が再度動作し、新たな並び順に沿って識別用レイアウト情報を生成し直す。これにより、交差ドットに付与されている複数の色情報のうち識別情報取得部１７により取得される色情報は、交差ドットで交わっている複数の線画のうち、新たに設定された順番でチャート画像生成部１２により最も後にビットマップ化された線画に対応する色情報に変わることになる。
【００２６】
識別情報生成部１３が生成する識別用レイアウト情報における各ドットの色情報は、所定範囲内にある類似色を同一色グループにグルーピングした色情報である。ここで言う類似色とは、人間の目では殆ど識別できないがコンピュータでは識別できる色のことをいうものとする。識別情報生成部１３は、１つの線画に対応する各ドットに対して、同一色グループに属する類似色の色情報を各々付与する。その際、識別情報生成部１３は、１つの線画上の離散的な点に対応する各ドット（図３（ｂ）に示す各ドット）に対しては少なくとも異なる類似色の色情報を各々付与する。
【００２７】
つまり、図３（ｂ）においてハッチングを付した各ドットは、チャート画像中に含まれる複数の線画上の離散的な点に対応するものであるが、異なる線画上のドットであるか同じ線画上のドットにあるかにかかわらず、各ドットに付与された色情報は全て異なっている。一方、図３（ａ）においてハッチングを付した各ドットは、同じ線画上のドットであれば同一色グループに属する類似色の色情報が付与されており、異なる線画上のドットであれば類似色ではない色情報が付与されている。ここで、同じ線画上の各ドットに付与される類似色の色情報が全て異なっていても良い。この場合は、線識別用レイアウト情報を構成するハッチング部の各ドットに付与される色情報は全て異なるものとなる。
【００２８】
図１に戻って他の機能ブロックの説明を続ける。表示用チャート画像生成部１５は、チャート画像生成部１２により生成されたチャート画像に基づいて、表示用のチャート画像を生成する。この表示用チャート画像は、識別情報生成部１３により生成された識別用レイアウト情報において識別情報として使用された色情報により示される色とは異なる色で線画を表現したものである。
【００２９】
上述のように、識別用レイアウト情報に使用される色情報は、人間の目では殆ど識別できないがコンピュータでは識別できる色の色情報を含んでいる。これに対して表示用チャート画像生成部１５は、人間の目で識別可能な色だけを用いて複数の線画を区別した表示用チャート画像を生成する。また、表示用チャート画像生成部１５は、複数の線画が交わる交差ドットにおいては、交差ドットで交わっている複数の線画のうち、チャート画像生成部１２により最も後にビットマップ化された線画を描画した表示用チャート画像を生成する。
【００３０】
表示制御部１６は、表示用チャート画像生成部１５により生成されたビットマップの表示用チャート画像を表示装置３００に表示させるように制御する。識別情報取得部１７は、表示制御部１６により表示装置３００に表示された表示用チャート画像上でマウス４００のカーソルにより指定されたドットに対応する識別情報（色情報）を、識別情報記憶部１４に記憶されている識別用レイアウト情報から取得する。識別用レイアウト情報は、２次元レイアウトの各ドットに色情報が付与されたビットマップデータと同じ形態を有していることから、色情報の取得はBitmapDataクラスのgetPixcel関数などを用いて行うことが可能である。
【００３１】
マウスカーソルにより指定されたドットが、図３（ｂ）に示す離散的な点に対応するドットの場合、識別情報取得部１７は、点識別用レイアウト情報から色情報を取得する。一方、マウスカーソルにより指定されたドットが、図３（ｂ）に示す離散的な点以外の点で図３（ａ）に示す線画上の点に対応するドットの場合、識別情報取得部１７は、線識別用レイアウト情報から色情報を取得する。
【００３２】
ここで、識別情報取得部１７は、マウスカーソルにより指定されたドットが、チャート画像上で複数の線画が重なる交差ドットである場合には、当該交差ドットについて付与されている複数の色情報の中から何れか１つを取得する。本実施形態では、交差ドットで交わっている複数の線画のうち、チャート画像生成部１２により最も後にビットマップ化された線画に対応する色情報（図３において交差ドットについて示しているハッチングに対応する色情報）を取得するものとする。
【００３３】
なお、上述したように、帳票データ記憶部２００に記憶されている帳票データに基づいてチャート画像生成部１２が複数の線画をビットマップ化する順番は、ユーザの指定により任意に変えることができる。線画をビットマップ化する順番の並べ替えによって、交差ドットについて識別情報取得部１７に取得させる色情報を変えることが可能である。
【００３４】
線画特定部１８は、マウスカーソルにより指定されたドットが、図３（ｂ）に示す離散的な点に対応するドットの場合、識別情報記憶部１４に記憶されている点識別用レイアウト情報に基づいて、識別情報取得部１７により取得された色情報により示されるドットを線画上の点として特定する。一方、マウスカーソルにより指定されたドットが、図３（ｂ）に示す離散的な点以外の点で図３（ａ）に示す線画上の点に対応するドットの場合、線画特定部１８は、識別情報記憶部１４に記憶されている線識別用レイアウト情報に基づいて、識別情報取得部１７により取得された色情報と同一色グループに属する色情報により示されるドット列を線画として特定する。
【００３５】
動作制御部１９は、線画特定部１８により線画（の線）が特定されたときは、その特定された線画に関する所定の第１の動作を行うように制御する。例えば、動作制御部１９は、線画特定部１８により特定された線画をハイライト表示させるように表示用チャート画像生成部１５と表示制御部１６を制御する。具体的には、動作制御部１９の制御を受けて表示用チャート画像生成部１５は、線画特定部１８により特定された線画が特定のハイライト色で最前面に現れるように表示用チャート画像を再描画する。そして、表示制御部１６は、表示用チャート画像生成部１５により再描画された表示用チャート画像を表示装置３００に表示させる。
【００３６】
一方、線画特定部１８により線画上の点が特定されたときには、動作制御部１９は、その特定された点に関する所定の第２の動作を行うように表示制御部１６を制御する。例えば、動作制御部１９は、特定された点についてラベル表示（特定された点に対応する帳票データの表示など）を行う。具体的には、動作制御部１９の制御を受けて表示制御部１６は、特定された点に対応する店舗名、日付、売上といった帳票データを識別情報記憶部１４（上述のように、点識別用レイアウト情報の色情報にひも付けされて記憶されている）から取得し、表示用チャート画像生成部１５により生成された表示用チャート画像に重ねて帳票データをラベル表示させる。
【００３７】
次に、上記のように構成した本実施形態によるチャート描画装置１００の動作を説明する。図５は、本実施形態によるチャート描画装置１００の動作例を示すフローチャートである。図５に示すフローチャートは、チャート描画装置１００を起動してチャート画像の表示を指示したときにスタートする。
【００３８】
図５において、まず、ベクター描画部１１は、帳票データ記憶部２００に記憶されている複数の帳票データを用いて、１つ目の線画をベクター描画する（ステップＳ１）。次に、チャート画像生成部１２は、ベクター描画部１１によりベクター描画された１つ目の線画をビットマップデータへ転写することによりチャート画像を生成する（ステップＳ２）。
【００３９】
さらに、識別情報生成部１３は、チャート画像生成部１２により生成されたチャート画像に基づいて、１つ目の線画に関する線識別用レイアウト情報および点識別用レイアウト情報を生成し、識別情報記憶部１４に記憶する（ステップＳ３）。続いて、表示用チャート画像生成部１５は、チャート画像生成部１２により生成されたチャート画像に基づいて表示用チャート画像を生成する（ステップＳ４）。
【００４０】
その後、ベクター描画部１１は、帳票データ記憶部２００に記憶されている複数の帳票データを用いて描画すべき線画を全て処理したか否か判定する（ステップＳ５）。描画すべき線画がまだ残っている場合、処理はステップＳ１に戻る。
このときベクター描画部１１は、１つ目の線画を描画したときに生成したGraphicsクラスの内容をクリアする。
【００４１】
そして、ベクター描画部１１は、帳票データ記憶部２００に記憶されている複数の帳票データに基づいて、２つ目の線画をベクター描画する（ステップＳ１）。次に、チャート画像生成部１２は、ベクター描画部１１によりベクター描画された２つ目の線画をビットマップデータへ転写することによりチャート画像を生成する（ステップＳ２）。
【００４２】
さらに、識別情報生成部１３は、チャート画像生成部１２により生成されたチャート画像に基づいて、２つ目の線画に関する線識別用レイアウト情報および点識別用レイアウト情報を生成し、識別情報記憶部１４に追加して記憶する（ステップＳ３）。続いて、表示用チャート画像生成部１５は、チャート画像生成部１２により生成されたチャート画像に基づいて表示用チャート画像を生成する（ステップＳ４）。具体的には、１つ目の線画の上に２つ目の線画を重ねて表示用チャート画像を生成する。
【００４３】
その後、ベクター描画部１１は、帳票データ記憶部２００に記憶されている複数の帳票データを用いて描画すべき線画を全て処理したか否か判定する（ステップＳ５）。描画すべき線画がまだ残っている場合はステップＳ１に戻り、以下同様にして複数の線画に関する識別用レイアウト情報を生成するとともに、複数の線画を含む表示用チャート画像を生成する。
【００４４】
描画すべき全ての線画を処理し終えたとステップＳ５にて判断した場合、すなわち、識別用レイアウト情報および表示用チャート画像が完成した場合、表示制御部１６は、表示用チャート画像生成部１５により生成された表示用チャート画像を表示装置３００に表示させる（ステップＳ６）。
【００４５】
表示用チャート画像が表示装置３００に表示された状態で、識別情報取得部１７は、当該チャート画像上でマウスカーソルによる位置の指定が行われたか否かを判定する（ステップＳ７）。チャート画像上でマウスカーソルによる位置の指定が行われた場合、識別情報取得部１７は、マウスカーソルにより指定されたドットに対応する色情報を識別用レイアウト情報から取得する（ステップＳ８）。このとき、マウスカーソルにより指定されたドットが線画上の離散的な点に対応するドットの場合、識別情報取得部１７は、点識別用レイアウト情報から色情報を取得する。一方、マウスカーソルにより指定されたドットが線画上の点（離散的な点以外の点）に対応するドットの場合、識別情報取得部１７は、線識別用レイアウト情報から色情報を取得する。
【００４６】
次に、線画特定部１８は、マウスカーソルにより指定されたドットが線画上の離散的な点に対応するドットであるか、それ以外の線画上の点であるかを判定する（ステップＳ９）。これは、識別情報取得部１７が線識別用レイアウト情報または点識別用レイアウト情報のどちらから色情報を取得したかによって判定することができる。
【００４７】
ここで、マウスカーソルに指定されたドットが線画上の離散的な点に対応するドットである場合、線画特定部１８は、識別情報記憶部１４に記憶されている点識別用レイアウト情報に基づいて、識別情報取得部１７により取得された色情報により示されるドットを線画上の点として特定する（ステップＳ１０）。そして、動作制御部１９は表示制御部１６を制御して、特定された点に関する帳票データのラベル表示を行う（ステップＳ１１）。
【００４８】
一方、マウスカーソルにより指定されたドットが線画上の点（離散的な点以外の点）に対応するドットの場合、線画特定部１８は、識別情報記憶部１４に記憶されている線識別用レイアウト情報に基づいて、識別情報取得部１７により取得された色情報と同一色グループに属する類似色の色情報により示されるドット列を線画として特定する（ステップＳ１２）。そして、動作制御部１９は表示用チャート画像生成部１５および表示制御部１６を制御して、特定された線画をハイライト表示させる（ステップＳ１３）。
【００４９】
次に、ベクター描画部１１は、複数の線画をビットマップ化する順番の並べ替えがユーザにより指示されたか否かを判定する（ステップＳ１４）。並べ替えの指示が行われたと判断した場合、処理はステップＳ１に戻る。この場合、並べ替えられた順番に従って、ステップＳ１〜ステップＳ５の処理を繰り返し実行することにより、識別用レイアウト情報および表示用チャート画像を再生成する。そして、再生成された表示用チャート画像を表示装置３００に再表示する（ステップＳ６）。
【００５０】
一方、複数の線画をビットマップ化する順番の並べ替えがユーザにより指示されていない場合、チャート描画装置１００は動作を終了するための指示がユーザにより行われたか否かを判定する（ステップＳ１５）。チャート描画装置１００の動作を終了するための指示が行われていない場合、処理はステップＳ７に戻る。一方、チャート描画装置１００の動作を終了するための指示が行われた場合、図５に示すフローチャートの処理は終了する。
【００５１】
以上詳しく説明したように、本実施形態では、帳票データからビットマップ形式のチャート画像を生成し、当該チャート画像からビットマップ形式の表示用チャート画像を生成する一方、チャート画像上における線画の線と点を識別可能な色情報を線画に対応する各ドットに付与して成るビットマップ形式の識別用レイアウト情報をマウス判定用に生成する。そして、表示用チャート画像上でマウスカーソルにより指定されたドットに対応する色情報を識別用レイアウト情報から取得し、当該取得した色情報により示されるドット列を線画の線として特定し、または当該取得した色情報により示されるドットを線画の点として特定するようにしている。
【００５２】
このように構成した本実施形態のチャート描画装置１００によれば、複数の線画を含むチャートがビットマップ画像として生成され表示されるので、複数の線画をそれぞれベクター描画して表示する場合に比べて、複数の線画を描画する場合の動作速度を格段に速くすることができる。これにより、多量の線画を含むチャート画像であっても極めて高速に描画することができる。
【００５３】
多量の線画があると重なって見えなくなる部分もあるが、重なり順の並べ替え（線画をビットマップ化する順番の並べ替え）によってチャート画像の見え方を変えることも瞬時に行うことができる。また、チャート画像の縦軸または横軸が長くて１画面に表示し切れない場合は、例えば図４のようにスクロールバー５４の操作によって表示エリアを移動させる場合がある。この場合でも、スクロールに追随して異なるエリアのチャート画像を瞬時に表示し直すことができる。
【００５４】
さらに、本実施形態のチャート描画装置１００によれば、表示用チャート画像とは別に生成された識別用レイアウト情報により、チャート画像中に含まれる線画の位置という概念が形成されて、チャート画像中の線画をそれぞれ識別することが可能となる。これにより、ビットマップ化されたチャート画像上でも、マウスカーソルを合わせた位置の線画を特定することができるようになる。特に本実施形態では、識別用レイアウト情報として線識別用と点識別用との２種類を生成し、同じ線画上のドットであっても同じ色情報とはせずに異なる類似色で識別するようにしている。これにより、単に線画を特定するのみならず、線画上の線と点とを区別して特定することができる。
【００５５】
なお、線識別用レイアウト情報および点識別用レイアウト情報は、用途に応じて生成することも可能である。すなわち、線画の線だけを識別すれば十分なアプリケーションの場合は、線識別用レイアウト情報だけがあれば良い。この場合、同じ線画に対しては同じ色情報を用いればよく、類似色で同一色グループを形成する必要はない。また、線画の点だけを識別すれば十分なアプリケーションの場合は、点識別用レイアウト情報があれば良い。
【００５６】
また、本実施形態では、マウスカーソルの位置判定を行うのに、マウス４００から座標情報を取得するのではなく、識別用レイアウト情報から色情報を取得している。マウス４００から座標情報を取得する方法であると、カーソルを少し動かす度に外部デバイスのマウス４００から座標情報を一々取得する必要があり、多くの時間を要する。
【００５７】
これに対し、本実施形態のように内部の識別用レイアウト情報から色情報を取得する方法であれば、マウスカーソルの移動に追随して瞬時に色情報を取得することができる。このため、チャート画像をビットマップ化して表示することにより表示速度を向上させることに加えて、マウス位置の判定速度も格段に向上させることができる。これにより、チャート画像の表示からマウス位置の判定を経て、それにより特定した線画のハイライト表示等を行うまでの一連のパフォーマンスを極めて高いものにすることができる。
【００５８】
なお、上記実施形態では、交差ドットについては、そこで交差しているそれぞれの線画に対応する色情報を各々付与して識別用レイアウト情報を生成する例について説明したが、本発明はこれに限定されない。例えば、交差ドットで交わっている複数の線画のうち、チャート画像生成部１２により最も後にビットマップ化された線画に対応する色情報だけを付与するようにしても良い。あるいは、ユーザが任意に指定した線画に対応する色情報だけを付与するようにしても良い。
【００５９】
また、上記実施形態では、マウスカーソルによる指定によって線画上の線が特定された場合は線画のハイライト表示を行い、線画上の点が特定された場合はラベル表示を行う例について説明したが、線画上の線または点が特定されたときのアクションはこの例に限定されない。すなわち、アプリケーションの用途に応じて任意の動作を行わせることが可能である。例えば、特定した線画の表示を表示用チャート画像から消去させることが可能である。
【００６０】
また、上記実施形態では、識別用レイアウト情報を構成する識別情報として色情報を用いる例について説明したが、本発明はこれに限定されない。すなわち、チャート画像中に含まれる複数の線画（好ましくは更に線画上の線と点）をそれぞれ識別することが可能な情報であれば、色情報以外の情報を用いても良い。
【００６１】
また、上記実施形態では、線画の一例として図２のような折れ線を挙げて説明したが、線画の種類はこれに限定されない。例えば、棒グラフ、円グラフ、レーダーチャート、帯グラフなどにも適用することが可能である。
【００６２】
また、上記実施形態では、表示用チャート画像上のドットをマウス４００のカーソルにより指定する例について説明したが、本発明はこれに限定されない。例えば、表示装置３００にタッチパネルを設け、当該タッチパネルに対するタッチペンや指のタッチにより表示用チャート画像上のドットを指定するようにしても良い。
【００６３】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６４】
１１  ベクター描画部
１２  チャート画像生成部
１３  識別情報生成部
１４  識別情報記憶部
１５  表示用チャート画像生成部
１６  表示制御部
１７  識別情報取得部
１８  線画特定部
１９  動作制御部
【図１】
2011103065.tif 000003
【図２】
2011103065.tif 000004
【図３】
2011103065.tif 000005
【図４】
2011103065.tif 000006
【図５】
2011103065.tif 000007