ウィンドウ画像の取り込み方法およびプログラム
【課題】 簡単な操作により、複数ウィンドウからなる非矩形領域の画像、他のウィンドウにより隠されている部分の画像を含めたウィンドウ画像を他のアプリケーションに容易に取り込み可能にすること。
【解決手段】 表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウの指定操作を受付ける第1のステップと、指定されたウィンドウの重なり順を取得する第2のステップと、表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備える。
【解決手段】 表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウの指定操作を受付ける第1のステップと、指定されたウィンドウの重なり順を取得する第2のステップと、表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチウィンドウタイプのオペレーティングシステムを採用したコンピュータの画面に表示されるウィンドウの画像を、ワードプロセッサ等に画像データとして取り込む処理方法およびプログラムに関する。
【背景技術】
【0002】
パーソナルコンピュータ用のオペレーティングシステム(OS)として、GUI(Graphical User Interface)にて簡単に操作が可能となるマルチウィンドウタイプのOSが広く普及している。それにより、様々な文書作成にパーソナルコンピュータが活用されるようになっている。
例えば、コンピュータの操作説明書やソフトウェアの操作説明書を作成する場合に、画面に表示されているウィンドウ画像を文書に取り込んで補足説明を加えることで、分かりやすい説明書を作成することができる。
マイクロソフト社製Microsoft Windows(Windowsはマイクロソフト社の登録商標)の場合、キーボード操作により、画面全体、または、アクティブなウィンドウの画像をクリップボードに取り込むことができ、ワードプロセッサ等の文書作成ソフトウェアにより編集中の画面にクリップボードから画像を貼り付けることができる。その他には、マウス装置等により画面上の矩形領域を指定することで、その範囲の画像データをクリップボードに取り込むことができるユーティリティソフトウェアも存在する。
【0003】
しかしながら、上記の方法では次のような問題がある。
(1)単一の矩形領域を1つの画像として取り込むことしかできない。
(2)表示上他のウィンドウによって隠されている部分の画像データを取り込むことはできず、また、矩形以外の形(例えば、円形)で表示されるウィンドウ画像データを取り込むことはできない。
すなわち、マルチウィンドウシステムにおいては、1つのアプリケーションで複数のウィンドウを表示する場合があり、それらのウィンドウが構成する領域が、矩形領域とならない場合がある。単一のウィンドウであっても、ウィンドウ領域の一部をクリッピングして矩形以外の形(例えば、円形)で表示されるウィンドウもある。さらに、常に最上位に表示されるウィンドウも存在し、画像データを取得したい対象のウィンドウが隠されてしまう場合がある。このような場合には、取り込む対象のウィンドウ以外に、背景として見えている部分や、対象となるウィンドウを隠している他のウィンドウの画像を含めて取り込まれてしまうと言う問題が発生する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記のような問題に対応するためには、下記の特許文献1,2に開示されているような方法を用いて、必要なウィンドウが最上位に表示されるような状態を作り出してから取り込みを行う、ウィンドウごとに複数回取り込みを行う、取り込んだ画像を画像編集ソフトウェアで編集してから、再度目的の文書に取り込みを行うなどの対処が必要となり、操作が面倒になるという問題が生じる。
特に、特許文献2に開示された方法においては、最上面の画面に裏面のウィンドウの内容を取り込んで表示しているので、最上面画の内容が見難く、裏面ウィンドウの見たままの状態を表示できないという問題がある。
【特許文献1】特開平5−66910号公報
【特許文献2】特開平6−266527号公報
【0005】
本発明の目的は、マウス等により希望のウィンドウまたはアプリケーションを指定するだけの操作により、複数ウィンドウからなる非矩形領域の画像、単一ウィンドウによる非矩形画像、他のウィンドウにより隠されている部分の画像を含めたウィンドウ画像をワードプロセッサ等の他のアプリケーションに容易に取り込むことができるウィンドウ画像取込方法を提供するにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込み方法であって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とする。
また、前記第1のステップは、画像の取り込み対象をウィンドウ単位にするかアプリケーション単位にするかの指定、および取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかの指定を受付けるステップを備えることを特徴とする。
【0007】
本発明に係るウィンドウ画像の取り込みプログラムは、表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とする。
【発明の効果】
【0008】
本発明のウィンドウ画像取り込み方法によれば、次のような効果が得られる。
(1)ユーザがマウスで1つのウィンドウを選択するだけで、そのウィンドウが属するアプリケーションが表示している複数のウィンドウの画像をウィンドウごとの複数の画像として、または1つの画像として自動的に取り込むことができる。
(2)取り込み対象のウィンドウが他のウィンドウによって隠されている場合であっても、対象のウィンドウ全体の画像を取り込むことができる。
(3)取り込む範囲が非矩形の場合、取り込み対象ウィンドウの背景として見えている対象外の部分を、自動的に取り除くことができる。従って、従来のようにユーザがウィンドウ操作や取り込み操作を繰返したり、取り込んだ画像の編集を行うことなく、簡単な操作でウィンドウ画像を取り込むことが可能となる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図1は、本発明を適用してウィンドウ画像の取り込みを行うコンピュータの外観構成図である。
図1において、コンピュータ10には、本体11、表示装置としてのディスプレイ12、入力装置としてのキーボード13、マウス14が備えられている。図1はデスクトップ型の例であるが、コンピュータの形態は、デスクトップ型でもノート型でも良く、ポインティングデバイスとしては、マウス以外にタッチパッド、トラックボール、ペン等でも良い。
【0010】
図2は、本発明が動作するマルチウィンドウタイプのオペレーティングシステム、例えばマイクロソフト社製のMicrosoft Windowsにおける一般的な表示画面の例を示す模式図である。
デスクトップ画面21上には、オペレーティングシステム上で動作している各アプリケーションが表示する複数のウィンドウ22が表示される。図2の例では、ウィンドウ1の上にウィンドウ2が重なった状態で表示されており、ウィンドウ1の一部はウィンドウ2により隠れた状態になっている。
【0011】
図3は、本発明をワードプロセッサ等の文書編集ソフトウェアの機能として組み込んだ場合のブロック図である。本発明は、ワードプロセッサ等から図の挿入メニュー等の選択により呼び出され、デスクトップのウィンドウイメージを取り込み、画像データを渡す。
図4は、本発明を独立したユーティリティソフトウェアとして作成し、ワードプロセッサ等の文書編集ソフトウェアと連携する場合のブロック図である。
本発明は、単独で動作し、デスクトップのウィンドウイメージを取り込んで、クリップボードに格納する。ワードプロセッサ等の文書編集ソフトと連携する際には、貼り付けメニュー等によりクリップボードからの張り付けを行う。
本発明は、図3、図4に示すように、ウィンドウ画像をワードプロセッサ等の文書編集ソフトウェアに渡すコンピュータプログラムとして提供することができる。
【0012】
図5は、本発明におけるウィンドウ画像の取り込み方法を設定する手順を表すフローチャートである。
本手順により、取り込み対象をアプリケーション単位にするかウィンドウ単位にするか、取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかを設定、変更することができる。
本手順は、本発明を組み込んだ文書編集ソフトウェアのメニュー等から、または独立したユーティリティソフトとして作成した本発明のメニュー等から起動される。あるいは、取り込み動作を行うごとに起動される方法でも良い。それぞれの設定値についてはデフォルト値を持つこととし、取り込みの時点でいずれかの値が決定していることとする。
以下、ステップごとに説明する。
まず、本手順が起動されると、取り込み方法を指定する設定画面を表示する(ステップS51)。ユーザは、表示された画面で取り込み対象の設定値および取り込み画像の構成の設定値を指定し、「設定」ボタンまたは「キャンセル」ボタンを押下する。
取り込み対象の設定値とは、取り込み対象をウィンドウ単位とするか、アプリケーション単位とするかを指定する設定値のことである。
取り込み画像の構成の設定値とは、取り込み対象画像を1画像単位とするか、ウィンドウ単位とするかを指定する設定値のことである。
次に、押下されたボタンの判定を行う(ステップS52)。「設定」ボタンが押下された場合は、取り込み対象の設定値を記憶し(ステップS53)、さらに取り込み画像の構成の設定値を記憶(ステップS54)した後、設定画面を消去する(ステップS55)。「キャンセル」ボタンを押下した場合は、設定値の記憶を行わずに設定画面を消去する(ステップS55)。
【0013】
図6〜図9は、本発明におけるマルチウィンドウシステムのウィンドウ画像取り込み方法の実施の形態を示すフローチャートである。
本手順により、マウス等により希望のウィンドウまたはアプリケーションを指定するだけで、複数ウィンドウからなる非矩形領域の画像、単一ウィンドウによる非矩形画像、他のウィンドウにより隠されている部分の画像を含めたウィンドウ画像を取り込み可能となる。
本手順が起動された場合、取り込み対象となるウィンドウを指定するためのマウス等の入力待ちを行い、クリックされた座標を取得する(ステップS61)。
次に、取り込み対象がアプリケーションか、ウィンドウかの判定を行う(ステップS62)。取り込み対象がアプリケーションの場合、ステップS63からステップS70までの処理を行う。
ステップS63では、ステップS61で取得したマウス座標から選択されたウィンドウを求め、さらにそのウィンドウが属するアプリケーションプロセスIDを取得する。
ステップS64では、画面上で一番下に表示されているウィンドウを求め、以降一番上のウィンドウに至るまで辿りながら取り込み対象を特定する。
ステップS65では、一番上のウィンドウまで辿り終わったかどうかの判定を行う。ステップS66では、当該ウィンドウのハンドルを取り込み対象外として構造体配列に退避する。
ステップS67では、ステップS63で求めたアプリケーションプロセスIDを使用し、当該ウィンドウが取り込み対象かどうかを判定する。取り込み対象の場合は、ステップS66で構造体配列に退避したウィンドウハンドルを取り込み対象に変更する。(ステップS68)。
取り込み対象以外の場合は、何も行わない。ステップS69では、当該ウィンドウを非表示化する。ステップS70で当該ウィンドウの1つ上のウィンドウを求め、ステップS65へ戻る。
【0014】
一方、ステップS62で取り込み対象がウィンドウと判定された場合は、ステップS71からステップS78までの処理を行う。
ステップS71では、ステップS61で取得したマウス座標から選択されたウィンドウのハンドルを求める。
ステップS72はステップS64と、ステップS73はステップS65と、ステップS74はステップS66と同じ処理である。
ステップS75では、ステップS71で求めたウィンドウハンドルを使用し、当該ウィンドウが取り込み対象かどうかを判定する。取り込み対象の場合は、ステップS74で構造体配列に退避したウィンドウハンドルを取り込み対象に変更する(ステップS76)。取り込み対象以外の場合は、何も行わない。ステップS77はステップS69と、ステップS78はステップS70と同じ処理である。
以上までの手順で、画面上のウィンドウは非表示となり、各ウィンドウのハンドルと取り込み対象か否かが構造体配列に退避される。
【0015】
次に、ステップS79で、取り込み結果の画像の構成をウィンドウごとにするか、1画像にするかを判定する。画像の構成がウィンドウごとの場合は、ステップS80からステップS86までの処理を行う。
ステップS80では、退避した取り込み対象の先頭、つまり対象のうちで一番下のウィンドウを参照する。
ステップS81では、取り込み対象を辿り終ったかどうかを判定する。
ステップS82では、当該対象ウィンドウを表示する。他のウィンドウを非表示にし、下から順に取り込み対象ウィンドウを表示していることで、ウィンドウの全体が隠れることなく表示される。
ステップS83では、当該ウィンドウをクリップする領域を求める。領域が存在しない場合は、ウィンドウの矩形領域全体が対象となる。
ステップS84では、取り込み結果の画像全体をクリアする。この領域は、当該ウィンドウ全体の矩形領域と同じである。取り込み結果の画像全体とは、取り込み結果を保持してワープロソフトウェアなどの他のアプリケーションに渡す出力領域の画像のことである。ステップS84は出力領域をクリアすることを意味する。
ステップS85では、画面上のウィンドウ全体の矩形領域のうち、ステップS83で求めた領域部分の画像イメージを取得する。ステップS84で背景がクリアされていることで、非矩形に見えているウィンドウの場合でも、余分な背景部分は取り込まれない。ステップS86では退避した取り込み対象の次のウィンドウを参照し、ステップS81に戻る。
【0016】
一方、ステップS79で取り込み結果の画像の構成が1画像と判定された場合は、ステップS87からステップS94までの処理を行う。
ステップS87では、退避した取り込み対象ウィンドウ全体の最大包含矩形領域を求めて取り込み結果の画像とし、ステップS88でその領域をクリアする。
ステップS89からステップS92は、ステップS80からステップS83と同じ処理である。ステップS93では、ステップS87、S88で作成、クリアした画像上に、ウィンドウ画像を取り込む。ステップS94は、ステップS86と同じ処理である。
取り込み対象の処理が全て終わったら、ステップS95で非表示になっているウィンドウを表示する。最後に、ステップS96で取り込んだ画像を出力データとして設定する。
【0017】
図10〜図13は、デスクトップの表示イメージの具体的な例に対して、取り込み対象の指定方法と取り込み結果の画像の構成による動作例を表す動作説明図である。
図中の「ステップ」は図6〜図9で説明したステップに対応しており、ウィンドウ情報はステップS63またはS71で取得する取り込み対象を示す値、および、S66、S68、S74、S76でウィンドウのハンドルと取り込み対象か否かを退避する構造体配列である。
以下の例では、デスクトップ上のウィンドウ表示の初期状態は、ウィンドウ0、1、2の順に重なって表示されていることとする。また、ウィンドウ1が属するアプリケーションプロセスはウィンドウ1の上にウィンドウ2を表示していることとする。
図10は、本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する。ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、さらにアプリケーションのプロセスIDを取得する(図10の1001の状態)。
ステップS64〜S70では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図10の1002の状態)。
ステップS79、S80〜S86では、先に退避した配列情報を参照し、取り込み対象の一番下のウィンドウを表示する(図10の1003の状態)。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を画像として取り込む。同様に上方向の取り込み対象ウィンドウを表示し(図10の1004の状態)、画像の取り込みを繰り返す。ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図10の1005の状態)、取り込まれた画像データを出力とする。
【0018】
図11は、本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成を1画像とした場合の動作説明図である。
図6のステップS61で、マウスによりウィンドウ1が指定されたと仮定する(図11の1101の状態)。ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、さらにアプリケーションのプロセスIDを取得する。ステップS64〜S70では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図11の1102の状態)。
ステップS79、S87〜S94では、先に退避した配列情報を参照し、取り込み対象のウィンドウ全てを含む最大包含矩形を求め、その大きさの画像を作成して背景をクリアする。次に取り込み対象の一番下のウィンドウを表示する。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を先に作成した画像上に取り込む。同様に上方向の取り込み対象ウィンドウを表示し、画像の取り込みを繰り返す(図11の1103,1104の状態)。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図11の1105の状態)、取り込まれた画像データを出力とする。
【0019】
図12は、本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する。ステップS62、S71でクリックされた際のマウスの座標からウィンドウ1を特定し、そのウィンドウハンドルを取得する(図12の1201の状態)。
ステップS72〜S78では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図12の1202の状態)。
ステップS79〜S86では、先に退避した配列情報を参照し、取り込み対象のウィンドウを表示する(図12の1203の状態)。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を画像として取り込む。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図12の1204の状態)、取り込まれた画像データを出力とする。
【0020】
図13は、本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成を1画像とした場合で、取り込み対象のウィンドウが非矩形の場合の動作概要図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する(図13の1301の状態)。
ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、そのウィンドウハンドルを取得する。ステップS64〜S69では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図13の1302の状態)。
ステップS79、S87〜S94では、先に退避した配列情報を参照し、取り込み対象のウィンドウを含む最大包含矩形を求め、その大きさの画像を作成して背景をクリアする。次に取り込み対象のウィンドウを表示する。当該ウィンドウは他のウィンドウに隠されることなく表示され(図13の1303の状態)、その矩形全体を先に作成した画像上に取り込む。このとき、当該ウィンドウをクリップする領域を求め、その部分の画像のみに限定して取り込みを行う。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図13の1304の状態)、取り込まれた画像データを出力とする。
【図面の簡単な説明】
【0021】
【図1】本発明を適用して動作するコンピュータの外観構成図である。
【図2】本発明が動作するマルチウィンドウタイプのオペレーティングシステムにおける一般的な表示画面の模式図である。
【図3】本発明をワードプロセッサ等の文書編集ソフトウェアの機能として組み込んで構成する場合の機能ブロック図である。
【図4】本発明を独立したユーティリティソフトウェアとして作成し、ワードプロセッサ等の文書編集ソフトウェアと連携するように構成する場合の機能ブロック図である。
【図5】本発明におけるウィンドウ画像の取り込み方法を設定する手順を表すフローチャートである。
【図6】本発明におけるマルチウィンドウシステムのウィンドウ画像取り込み方法の実施の形態を示すフローチャートである。
【図7】図6の続きを示すフローチャートである。
【図8】図6及び図7の続きを示すフローチャートである。
【図9】図8の続きを示すフローチャートである。
【図10】本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
【図11】本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成を1画像とした場合の動作説明図である。
【図12】本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成をウィンドウごととした場合の動作説明図である。
【図13】本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成を1画像とした場合で、取り込み対象のウィンドウが非矩形の場合の動作説明図である。
【符号の説明】
【0022】
10…コンピュータ、11…本体、12…ディスプレイ、13…キーボード、14…マウス、21…デスクトップ画面、22…ウィンドウ。
【技術分野】
【0001】
本発明は、マルチウィンドウタイプのオペレーティングシステムを採用したコンピュータの画面に表示されるウィンドウの画像を、ワードプロセッサ等に画像データとして取り込む処理方法およびプログラムに関する。
【背景技術】
【0002】
パーソナルコンピュータ用のオペレーティングシステム(OS)として、GUI(Graphical User Interface)にて簡単に操作が可能となるマルチウィンドウタイプのOSが広く普及している。それにより、様々な文書作成にパーソナルコンピュータが活用されるようになっている。
例えば、コンピュータの操作説明書やソフトウェアの操作説明書を作成する場合に、画面に表示されているウィンドウ画像を文書に取り込んで補足説明を加えることで、分かりやすい説明書を作成することができる。
マイクロソフト社製Microsoft Windows(Windowsはマイクロソフト社の登録商標)の場合、キーボード操作により、画面全体、または、アクティブなウィンドウの画像をクリップボードに取り込むことができ、ワードプロセッサ等の文書作成ソフトウェアにより編集中の画面にクリップボードから画像を貼り付けることができる。その他には、マウス装置等により画面上の矩形領域を指定することで、その範囲の画像データをクリップボードに取り込むことができるユーティリティソフトウェアも存在する。
【0003】
しかしながら、上記の方法では次のような問題がある。
(1)単一の矩形領域を1つの画像として取り込むことしかできない。
(2)表示上他のウィンドウによって隠されている部分の画像データを取り込むことはできず、また、矩形以外の形(例えば、円形)で表示されるウィンドウ画像データを取り込むことはできない。
すなわち、マルチウィンドウシステムにおいては、1つのアプリケーションで複数のウィンドウを表示する場合があり、それらのウィンドウが構成する領域が、矩形領域とならない場合がある。単一のウィンドウであっても、ウィンドウ領域の一部をクリッピングして矩形以外の形(例えば、円形)で表示されるウィンドウもある。さらに、常に最上位に表示されるウィンドウも存在し、画像データを取得したい対象のウィンドウが隠されてしまう場合がある。このような場合には、取り込む対象のウィンドウ以外に、背景として見えている部分や、対象となるウィンドウを隠している他のウィンドウの画像を含めて取り込まれてしまうと言う問題が発生する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記のような問題に対応するためには、下記の特許文献1,2に開示されているような方法を用いて、必要なウィンドウが最上位に表示されるような状態を作り出してから取り込みを行う、ウィンドウごとに複数回取り込みを行う、取り込んだ画像を画像編集ソフトウェアで編集してから、再度目的の文書に取り込みを行うなどの対処が必要となり、操作が面倒になるという問題が生じる。
特に、特許文献2に開示された方法においては、最上面の画面に裏面のウィンドウの内容を取り込んで表示しているので、最上面画の内容が見難く、裏面ウィンドウの見たままの状態を表示できないという問題がある。
【特許文献1】特開平5−66910号公報
【特許文献2】特開平6−266527号公報
【0005】
本発明の目的は、マウス等により希望のウィンドウまたはアプリケーションを指定するだけの操作により、複数ウィンドウからなる非矩形領域の画像、単一ウィンドウによる非矩形画像、他のウィンドウにより隠されている部分の画像を含めたウィンドウ画像をワードプロセッサ等の他のアプリケーションに容易に取り込むことができるウィンドウ画像取込方法を提供するにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込み方法であって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とする。
また、前記第1のステップは、画像の取り込み対象をウィンドウ単位にするかアプリケーション単位にするかの指定、および取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかの指定を受付けるステップを備えることを特徴とする。
【0007】
本発明に係るウィンドウ画像の取り込みプログラムは、表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とする。
【発明の効果】
【0008】
本発明のウィンドウ画像取り込み方法によれば、次のような効果が得られる。
(1)ユーザがマウスで1つのウィンドウを選択するだけで、そのウィンドウが属するアプリケーションが表示している複数のウィンドウの画像をウィンドウごとの複数の画像として、または1つの画像として自動的に取り込むことができる。
(2)取り込み対象のウィンドウが他のウィンドウによって隠されている場合であっても、対象のウィンドウ全体の画像を取り込むことができる。
(3)取り込む範囲が非矩形の場合、取り込み対象ウィンドウの背景として見えている対象外の部分を、自動的に取り除くことができる。従って、従来のようにユーザがウィンドウ操作や取り込み操作を繰返したり、取り込んだ画像の編集を行うことなく、簡単な操作でウィンドウ画像を取り込むことが可能となる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図1は、本発明を適用してウィンドウ画像の取り込みを行うコンピュータの外観構成図である。
図1において、コンピュータ10には、本体11、表示装置としてのディスプレイ12、入力装置としてのキーボード13、マウス14が備えられている。図1はデスクトップ型の例であるが、コンピュータの形態は、デスクトップ型でもノート型でも良く、ポインティングデバイスとしては、マウス以外にタッチパッド、トラックボール、ペン等でも良い。
【0010】
図2は、本発明が動作するマルチウィンドウタイプのオペレーティングシステム、例えばマイクロソフト社製のMicrosoft Windowsにおける一般的な表示画面の例を示す模式図である。
デスクトップ画面21上には、オペレーティングシステム上で動作している各アプリケーションが表示する複数のウィンドウ22が表示される。図2の例では、ウィンドウ1の上にウィンドウ2が重なった状態で表示されており、ウィンドウ1の一部はウィンドウ2により隠れた状態になっている。
【0011】
図3は、本発明をワードプロセッサ等の文書編集ソフトウェアの機能として組み込んだ場合のブロック図である。本発明は、ワードプロセッサ等から図の挿入メニュー等の選択により呼び出され、デスクトップのウィンドウイメージを取り込み、画像データを渡す。
図4は、本発明を独立したユーティリティソフトウェアとして作成し、ワードプロセッサ等の文書編集ソフトウェアと連携する場合のブロック図である。
本発明は、単独で動作し、デスクトップのウィンドウイメージを取り込んで、クリップボードに格納する。ワードプロセッサ等の文書編集ソフトと連携する際には、貼り付けメニュー等によりクリップボードからの張り付けを行う。
本発明は、図3、図4に示すように、ウィンドウ画像をワードプロセッサ等の文書編集ソフトウェアに渡すコンピュータプログラムとして提供することができる。
【0012】
図5は、本発明におけるウィンドウ画像の取り込み方法を設定する手順を表すフローチャートである。
本手順により、取り込み対象をアプリケーション単位にするかウィンドウ単位にするか、取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかを設定、変更することができる。
本手順は、本発明を組み込んだ文書編集ソフトウェアのメニュー等から、または独立したユーティリティソフトとして作成した本発明のメニュー等から起動される。あるいは、取り込み動作を行うごとに起動される方法でも良い。それぞれの設定値についてはデフォルト値を持つこととし、取り込みの時点でいずれかの値が決定していることとする。
以下、ステップごとに説明する。
まず、本手順が起動されると、取り込み方法を指定する設定画面を表示する(ステップS51)。ユーザは、表示された画面で取り込み対象の設定値および取り込み画像の構成の設定値を指定し、「設定」ボタンまたは「キャンセル」ボタンを押下する。
取り込み対象の設定値とは、取り込み対象をウィンドウ単位とするか、アプリケーション単位とするかを指定する設定値のことである。
取り込み画像の構成の設定値とは、取り込み対象画像を1画像単位とするか、ウィンドウ単位とするかを指定する設定値のことである。
次に、押下されたボタンの判定を行う(ステップS52)。「設定」ボタンが押下された場合は、取り込み対象の設定値を記憶し(ステップS53)、さらに取り込み画像の構成の設定値を記憶(ステップS54)した後、設定画面を消去する(ステップS55)。「キャンセル」ボタンを押下した場合は、設定値の記憶を行わずに設定画面を消去する(ステップS55)。
【0013】
図6〜図9は、本発明におけるマルチウィンドウシステムのウィンドウ画像取り込み方法の実施の形態を示すフローチャートである。
本手順により、マウス等により希望のウィンドウまたはアプリケーションを指定するだけで、複数ウィンドウからなる非矩形領域の画像、単一ウィンドウによる非矩形画像、他のウィンドウにより隠されている部分の画像を含めたウィンドウ画像を取り込み可能となる。
本手順が起動された場合、取り込み対象となるウィンドウを指定するためのマウス等の入力待ちを行い、クリックされた座標を取得する(ステップS61)。
次に、取り込み対象がアプリケーションか、ウィンドウかの判定を行う(ステップS62)。取り込み対象がアプリケーションの場合、ステップS63からステップS70までの処理を行う。
ステップS63では、ステップS61で取得したマウス座標から選択されたウィンドウを求め、さらにそのウィンドウが属するアプリケーションプロセスIDを取得する。
ステップS64では、画面上で一番下に表示されているウィンドウを求め、以降一番上のウィンドウに至るまで辿りながら取り込み対象を特定する。
ステップS65では、一番上のウィンドウまで辿り終わったかどうかの判定を行う。ステップS66では、当該ウィンドウのハンドルを取り込み対象外として構造体配列に退避する。
ステップS67では、ステップS63で求めたアプリケーションプロセスIDを使用し、当該ウィンドウが取り込み対象かどうかを判定する。取り込み対象の場合は、ステップS66で構造体配列に退避したウィンドウハンドルを取り込み対象に変更する。(ステップS68)。
取り込み対象以外の場合は、何も行わない。ステップS69では、当該ウィンドウを非表示化する。ステップS70で当該ウィンドウの1つ上のウィンドウを求め、ステップS65へ戻る。
【0014】
一方、ステップS62で取り込み対象がウィンドウと判定された場合は、ステップS71からステップS78までの処理を行う。
ステップS71では、ステップS61で取得したマウス座標から選択されたウィンドウのハンドルを求める。
ステップS72はステップS64と、ステップS73はステップS65と、ステップS74はステップS66と同じ処理である。
ステップS75では、ステップS71で求めたウィンドウハンドルを使用し、当該ウィンドウが取り込み対象かどうかを判定する。取り込み対象の場合は、ステップS74で構造体配列に退避したウィンドウハンドルを取り込み対象に変更する(ステップS76)。取り込み対象以外の場合は、何も行わない。ステップS77はステップS69と、ステップS78はステップS70と同じ処理である。
以上までの手順で、画面上のウィンドウは非表示となり、各ウィンドウのハンドルと取り込み対象か否かが構造体配列に退避される。
【0015】
次に、ステップS79で、取り込み結果の画像の構成をウィンドウごとにするか、1画像にするかを判定する。画像の構成がウィンドウごとの場合は、ステップS80からステップS86までの処理を行う。
ステップS80では、退避した取り込み対象の先頭、つまり対象のうちで一番下のウィンドウを参照する。
ステップS81では、取り込み対象を辿り終ったかどうかを判定する。
ステップS82では、当該対象ウィンドウを表示する。他のウィンドウを非表示にし、下から順に取り込み対象ウィンドウを表示していることで、ウィンドウの全体が隠れることなく表示される。
ステップS83では、当該ウィンドウをクリップする領域を求める。領域が存在しない場合は、ウィンドウの矩形領域全体が対象となる。
ステップS84では、取り込み結果の画像全体をクリアする。この領域は、当該ウィンドウ全体の矩形領域と同じである。取り込み結果の画像全体とは、取り込み結果を保持してワープロソフトウェアなどの他のアプリケーションに渡す出力領域の画像のことである。ステップS84は出力領域をクリアすることを意味する。
ステップS85では、画面上のウィンドウ全体の矩形領域のうち、ステップS83で求めた領域部分の画像イメージを取得する。ステップS84で背景がクリアされていることで、非矩形に見えているウィンドウの場合でも、余分な背景部分は取り込まれない。ステップS86では退避した取り込み対象の次のウィンドウを参照し、ステップS81に戻る。
【0016】
一方、ステップS79で取り込み結果の画像の構成が1画像と判定された場合は、ステップS87からステップS94までの処理を行う。
ステップS87では、退避した取り込み対象ウィンドウ全体の最大包含矩形領域を求めて取り込み結果の画像とし、ステップS88でその領域をクリアする。
ステップS89からステップS92は、ステップS80からステップS83と同じ処理である。ステップS93では、ステップS87、S88で作成、クリアした画像上に、ウィンドウ画像を取り込む。ステップS94は、ステップS86と同じ処理である。
取り込み対象の処理が全て終わったら、ステップS95で非表示になっているウィンドウを表示する。最後に、ステップS96で取り込んだ画像を出力データとして設定する。
【0017】
図10〜図13は、デスクトップの表示イメージの具体的な例に対して、取り込み対象の指定方法と取り込み結果の画像の構成による動作例を表す動作説明図である。
図中の「ステップ」は図6〜図9で説明したステップに対応しており、ウィンドウ情報はステップS63またはS71で取得する取り込み対象を示す値、および、S66、S68、S74、S76でウィンドウのハンドルと取り込み対象か否かを退避する構造体配列である。
以下の例では、デスクトップ上のウィンドウ表示の初期状態は、ウィンドウ0、1、2の順に重なって表示されていることとする。また、ウィンドウ1が属するアプリケーションプロセスはウィンドウ1の上にウィンドウ2を表示していることとする。
図10は、本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する。ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、さらにアプリケーションのプロセスIDを取得する(図10の1001の状態)。
ステップS64〜S70では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図10の1002の状態)。
ステップS79、S80〜S86では、先に退避した配列情報を参照し、取り込み対象の一番下のウィンドウを表示する(図10の1003の状態)。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を画像として取り込む。同様に上方向の取り込み対象ウィンドウを表示し(図10の1004の状態)、画像の取り込みを繰り返す。ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図10の1005の状態)、取り込まれた画像データを出力とする。
【0018】
図11は、本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成を1画像とした場合の動作説明図である。
図6のステップS61で、マウスによりウィンドウ1が指定されたと仮定する(図11の1101の状態)。ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、さらにアプリケーションのプロセスIDを取得する。ステップS64〜S70では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図11の1102の状態)。
ステップS79、S87〜S94では、先に退避した配列情報を参照し、取り込み対象のウィンドウ全てを含む最大包含矩形を求め、その大きさの画像を作成して背景をクリアする。次に取り込み対象の一番下のウィンドウを表示する。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を先に作成した画像上に取り込む。同様に上方向の取り込み対象ウィンドウを表示し、画像の取り込みを繰り返す(図11の1103,1104の状態)。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図11の1105の状態)、取り込まれた画像データを出力とする。
【0019】
図12は、本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する。ステップS62、S71でクリックされた際のマウスの座標からウィンドウ1を特定し、そのウィンドウハンドルを取得する(図12の1201の状態)。
ステップS72〜S78では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図12の1202の状態)。
ステップS79〜S86では、先に退避した配列情報を参照し、取り込み対象のウィンドウを表示する(図12の1203の状態)。当該ウィンドウは他のウィンドウに隠されることなく表示され、その矩形全体を画像として取り込む。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図12の1204の状態)、取り込まれた画像データを出力とする。
【0020】
図13は、本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成を1画像とした場合で、取り込み対象のウィンドウが非矩形の場合の動作概要図である。
ステップS61で、マウスによりウィンドウ1が指定されたと仮定する(図13の1301の状態)。
ステップS62〜S63でクリックされた際のマウスの座標からウィンドウ1を特定し、そのウィンドウハンドルを取得する。ステップS64〜S69では、ウィンドウを下から順に辿り、構造体配列にウィンドウのハンドルと対象か否かを退避するとともに、ウィンドウを非表示化する(図13の1302の状態)。
ステップS79、S87〜S94では、先に退避した配列情報を参照し、取り込み対象のウィンドウを含む最大包含矩形を求め、その大きさの画像を作成して背景をクリアする。次に取り込み対象のウィンドウを表示する。当該ウィンドウは他のウィンドウに隠されることなく表示され(図13の1303の状態)、その矩形全体を先に作成した画像上に取り込む。このとき、当該ウィンドウをクリップする領域を求め、その部分の画像のみに限定して取り込みを行う。
ステップS95〜S96では、非表示とした取り込み対象外のウィンドウを表示し(図13の1304の状態)、取り込まれた画像データを出力とする。
【図面の簡単な説明】
【0021】
【図1】本発明を適用して動作するコンピュータの外観構成図である。
【図2】本発明が動作するマルチウィンドウタイプのオペレーティングシステムにおける一般的な表示画面の模式図である。
【図3】本発明をワードプロセッサ等の文書編集ソフトウェアの機能として組み込んで構成する場合の機能ブロック図である。
【図4】本発明を独立したユーティリティソフトウェアとして作成し、ワードプロセッサ等の文書編集ソフトウェアと連携するように構成する場合の機能ブロック図である。
【図5】本発明におけるウィンドウ画像の取り込み方法を設定する手順を表すフローチャートである。
【図6】本発明におけるマルチウィンドウシステムのウィンドウ画像取り込み方法の実施の形態を示すフローチャートである。
【図7】図6の続きを示すフローチャートである。
【図8】図6及び図7の続きを示すフローチャートである。
【図9】図8の続きを示すフローチャートである。
【図10】本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成をウィンドウ毎とした場合の動作説明図である。
【図11】本発明において、取り込み対象をアプリケーション、取り込み結果の画像の構成を1画像とした場合の動作説明図である。
【図12】本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成をウィンドウごととした場合の動作説明図である。
【図13】本発明において、取り込み対象をウィンドウ、取り込み結果の画像の構成を1画像とした場合で、取り込み対象のウィンドウが非矩形の場合の動作説明図である。
【符号の説明】
【0022】
10…コンピュータ、11…本体、12…ディスプレイ、13…キーボード、14…マウス、21…デスクトップ画面、22…ウィンドウ。
【特許請求の範囲】
【請求項1】
マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込み方法であって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、
指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、
前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、
前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、
取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、
前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、
前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とするウィンドウ画像取り込み方法。
【請求項2】
前記第1のステップは、画像の取り込み対象をウィンドウ単位にするかアプリケーション単位にするかの指定、および取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかの指定を受付けるステップを備えることを特徴とする請求項1に記載のウィンドウ画像の取り込み方法。
【請求項3】
マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込みプログラムであって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、
指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、
前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、
前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、
取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、
前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、
前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とするウィンドウ画像の取り込みプログラム。
【請求項1】
マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込み方法であって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、
指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、
前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、
前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、
取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、
前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、
前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とするウィンドウ画像取り込み方法。
【請求項2】
前記第1のステップは、画像の取り込み対象をウィンドウ単位にするかアプリケーション単位にするかの指定、および取り込み画像をウィンドウ単位の画像とするか全体で1つの画像とするかの指定を受付けるステップを備えることを特徴とする請求項1に記載のウィンドウ画像の取り込み方法。
【請求項3】
マルチウィンドウ機能を有するコンピュータにおいてウィンドウ画面に表示された画像を取り込んで出力するウィンドウ画像の取り込みプログラムであって、
表示装置の複数のウィンドウ画面のうち画像の取り込み対象とするウィンドウまたはアプリケーションの指定操作を受付ける第1のステップと、
指定されたウィンドウまたはアプリケーションによるウィンドウの重なり順を取得する第2のステップと、
前記表示装置に表示されている全てのウィンドウを一時的に非表示にする第3のステップと、
前記第1のステップで指定された取り込み対象の画像が存在する最大包含矩形を求める第4のステップと、
取り込み結果となる画像を保持する出力領域をクリアする第5のステップと、
前記第4のステップで求めた最大包含矩形内に存在する取り込み対象の画像を前記出力領域に取り込む第6のステップと、
前記第3のステップで一時的に非表示にしたウィンドウの表示を回復する第7のステップとを備えることを特徴とするウィンドウ画像の取り込みプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−53864(P2006−53864A)
【公開日】平成18年2月23日(2006.2.23)
【国際特許分類】
【出願番号】特願2004−236602(P2004−236602)
【出願日】平成16年8月16日(2004.8.16)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
【公開日】平成18年2月23日(2006.2.23)
【国際特許分類】
【出願日】平成16年8月16日(2004.8.16)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
[ Back to top ]