IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通クライアントコンピューティング株式会社の特許一覧

特許7553861キャプチャプログラムおよび情報処理装置
<>
  • 特許-キャプチャプログラムおよび情報処理装置 図1
  • 特許-キャプチャプログラムおよび情報処理装置 図2
  • 特許-キャプチャプログラムおよび情報処理装置 図3
  • 特許-キャプチャプログラムおよび情報処理装置 図4
  • 特許-キャプチャプログラムおよび情報処理装置 図5
  • 特許-キャプチャプログラムおよび情報処理装置 図6
  • 特許-キャプチャプログラムおよび情報処理装置 図7
  • 特許-キャプチャプログラムおよび情報処理装置 図8
  • 特許-キャプチャプログラムおよび情報処理装置 図9
  • 特許-キャプチャプログラムおよび情報処理装置 図10
  • 特許-キャプチャプログラムおよび情報処理装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】キャプチャプログラムおよび情報処理装置
(51)【国際特許分類】
   G06F 3/04845 20220101AFI20240911BHJP
【FI】
G06F3/04845
【請求項の数】 4
(21)【出願番号】P 2023151841
(22)【出願日】2023-09-20
【審査請求日】2023-09-27
【早期審査対象出願】
(73)【特許権者】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】鈴木 貴善
(72)【発明者】
【氏名】下川 創
【審査官】木村 慎太郎
(56)【参考文献】
【文献】特表2020-504855(JP,A)
【文献】特開2020-086339(JP,A)
【文献】特開2001-166756(JP,A)
【文献】特表2023-524605(JP,A)
【文献】特開2016-042381(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04845
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
対象ウィンドウを表示した画面におけるキャプチャ領域の指定を受け付け、
前記画面から前記キャプチャ領域を抽出したキャプチャ画像を生成する処理を所定の時間間隔で繰り返し、
前記対象ウィンドウの基準点が移動した場合、前記基準点の移動量に基づいて、前記キャプチャ領域を移動させる、
処理を実行させ、
前記キャプチャ領域の移動では、前記対象ウィンドウのサイズが変動した場合、前記キャプチャ領域において前記基準点と対応する対応点の、移動前の前記基準点に対する相対位置と、前記対象ウィンドウのサイズの変動前後の比率とに基づいて、前記対応点の移動位置を算出し、前記対応点が前記移動位置に移動するように、前記対象ウィンドウのサイズの変動前後の比率に基づいてサイズを変動させた前記キャプチャ領域を移動させる、
キャプチャプログラム。
【請求項2】
前記キャプチャ画像を生成する処理では、前記キャプチャ画像が、前回生成した前記キャプチャ画像と差異がある場合、前記キャプチャ画像を保存する、
請求項1記載のキャプチャプログラム。
【請求項3】
前記コンピュータに、さらに、
指定を受け付けた前記キャプチャ領域を含むウィンドウのうち、最前面のウィンドウを前記対象ウィンドウに設定させる、
請求項記載のキャプチャプログラム。
【請求項4】
対象ウィンドウを表示した画面におけるキャプチャ領域の指定を受け付け、前記画面から前記キャプチャ領域を抽出したキャプチャ画像を生成する処理を所定の時間間隔で繰り返し、前記対象ウィンドウの基準点が移動し前記対象ウィンドウのサイズが変動した場合、前記キャプチャ領域において前記基準点と対応する対応点の、移動前の前記基準点に対する相対位置と、前記対象ウィンドウのサイズの変動前後の比率とに基づいて、前記対応点の移動位置を算出し、前記対応点が前記移動位置に移動するように、前記対象ウィンドウのサイズの変動前後の比率に基づいてサイズを変動させた前記キャプチャ領域を移動させる処理部、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キャプチャプログラムおよび情報処理装置に関する。
【背景技術】
【0002】
コンピュータが表示した画面の一部を抽出した画像を生成するキャプチャ機能がある。キャプチャ機能では、例えば、ユーザが指定した画面上の範囲を抽出した画像が生成される。
【0003】
キャプチャ機能に関する技術としては、例えば、キャプチャされたスクリーンショットに画像データを提供しているアプリケーションのセッション状態を定義するアプリケーション固有メタデータへのキャプチャされたスクリーンショットの関連付けが提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2020-504855号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
オンライン授業やオンライン会議では、会議アプリケーションの画面共有で資料が表示されることがある。オンライン授業やオンライン会議の資料を保存するため、資料が表示された範囲を指定して、定期的にキャプチャ機能を用いることが考えられる。しかし、会議アプリケーションのウィンドウが移動すると、資料が指定した範囲から移動するため、資料の画像を生成できなくなってしまう。
【0006】
1つの側面では、本件は、キャプチャ機能による画像生成を適切に行うことを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、以下の処理をコンピュータに実行させるキャプチャプログラムが提供される。
コンピュータは、対象ウィンドウを表示した画面におけるキャプチャ領域の指定を受け付け、画面からキャプチャ領域を抽出したキャプチャ画像を生成する処理を所定の時間間隔で繰り返し、対象ウィンドウの基準点が移動した場合、基準点の移動量に基づいて、キャプチャ領域を移動させる。
【発明の効果】
【0008】
1態様によれば、キャプチャ機能による画像生成を適切に行うことができる。
【図面の簡単な説明】
【0009】
図1】第1の実施の形態に係る情報処理装置の一例を示す図である。
図2】PCのハードウェアの一構成例を示す図である。
図3】キャプチャ機能の一例を示す図である。
図4】PCの機能例を示すブロック図である。
図5】キャプチャ情報の一例を示す図である。
図6】ウィンドウが移動した場合のキャプチャ領域の移動処理の一例を示す図である。
図7】ウィンドウが拡大された場合のキャプチャ領域の移動処理の一例を示す図(その1)である。
図8】ウィンドウが拡大された場合のキャプチャ領域の移動処理の一例を示す図(その2)である。
図9】キャプチャ処理の対象のウィンドウの決定処理の一例を示す図である。
図10】キャプチャ処理の手順の一例を示すフローチャート(その1)である。
図11】キャプチャ処理の手順の一例を示すフローチャート(その2)である。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、第1の実施の形態について説明する。第1の実施の形態は、コンピュータがキャプチャ機能によって定期的に画像生成するものである。
【0011】
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。情報処理装置10は、キャプチャ機能によって定期的に画像生成するコンピュータである。情報処理装置10は、例えば、ユーザが操作するPC(Personal Computer)である。情報処理装置10は、処理部11を有する。処理部11は、情報処理装置10を制御し、所要の処理を実行可能である。処理部11は、例えば、情報処理装置10が有するプロセッサまたは演算回路である。
【0012】
まず、処理部11は、画面1におけるキャプチャ領域3の指定を受け付ける。画面1は、情報処理装置10の表示装置に表示される画面である。例えば、処理部11は、画面1内でユーザによって指定された矩形の領域を、キャプチャ領域3に設定する。画面1には、対象ウィンドウ2が表示されている。対象ウィンドウ2は、キャプチャ機能による画像生成の対象として設定されたウィンドウである。例えば、処理部11は、指定を受け付けたキャプチャ領域3を含むウィンドウのうち、最前面のウィンドウを対象ウィンドウ2に設定する。
【0013】
次に、処理部11は、キャプチャ画像生成処理を所定の時間間隔で繰り返す。キャプチャ画像生成処理では、処理部11は、画面1からキャプチャ領域3を抽出したキャプチャ画像4を生成する。処理部11は、キャプチャ画像4が、前回生成したキャプチャ画像と差異がある場合、キャプチャ画像4を保存する。
【0014】
ここで、処理部11は、対象ウィンドウ2の基準点2aが移動した場合、基準点2aの移動量に基づいて、キャプチャ領域3を移動させる。基準点2aは、例えば、対象ウィンドウ2の左上の頂点である。処理部11は、移動前後の基準点2aの画面1における座標に基づいて、移動前後の基準点2aのx方向の座標の差分と、y方向の座標の差分とを算出する。処理部11は、算出したx方向およびy方向の座標の差分だけキャプチャ領域3を移動させる。そして、処理部11は、移動後のキャプチャ領域3に対して、キャプチャ画像生成処理を所定の時間間隔で繰り返す。なお、対象ウィンドウ2に、複数の基準点が設けられていてもよく、処理部11は、複数の基準点のいずれかが移動した場合、キャプチャ領域3を移動させてもよい。
【0015】
第1の実施の形態によれば、情報処理装置10の処理部11は、対象ウィンドウ2を表示した画面1におけるキャプチャ領域3の指定を受け付ける。処理部11は、画面1からキャプチャ領域3を抽出したキャプチャ画像4を生成する処理を所定の時間間隔で繰り返し、対象ウィンドウ2の基準点2aが移動した場合、基準点2aの移動量に基づいて、キャプチャ領域3を移動させる。
【0016】
これにより、情報処理装置10は、画面1の表示内容が変動する部分の画像を、当該部分を含むウィンドウが移動した場合でも定期的に生成することができる。よって、情報処理装置10は、キャプチャ機能による画像生成を適切に行うことができる。
【0017】
また、処理部11は、キャプチャ画像4が、前回生成したキャプチャ画像と差異がある場合、キャプチャ画像4を保存する。これにより、情報処理装置10は、不要な画像を保存しないようにすることができる。
【0018】
また、処理部11は、指定を受け付けたキャプチャ領域3を含むウィンドウのうち、最前面のウィンドウを対象ウィンドウ2に設定する。これにより、情報処理装置10は、ユーザがキャプチャ画像4を生成しようとしている部分を含むウィンドウを、適切に特定することができる。
【0019】
なお、処理部11は、対象ウィンドウ2のサイズが変動した場合、キャプチャ領域3において基準点2aと対応する対応点の、移動前の基準点2aに対する相対位置と、対象ウィンドウ2のサイズの変動前後の比率とに基づいて、対応点の移動位置を算出してもよい。そして、処理部11は、対応点が移動位置に移動するように、対象ウィンドウ2のサイズの変動前後の比率に基づいてサイズを変動させたキャプチャ領域3を移動させてもよい。これにより、情報処理装置10は、対象ウィンドウ2が拡大または縮小された場合でも、適切にキャプチャ画像4を生成することができる。
【0020】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、ユーザが操作するPCが画面上のキャプチャ領域を抽出した(キャプチャした)キャプチャ画像を所定の時間間隔で生成するものである。
【0021】
図2は、PCのハードウェアの一構成例を示す図である。PC100は、ユーザが操作するPCである。PC100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。
【0022】
メモリ102は、PC100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えば、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。
【0023】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0024】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0025】
GPU104には、モニタ31が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置等がある。
【0026】
入力インタフェース105には、キーボード32とマウス33とが接続されている。入力インタフェース105は、キーボード32やマウス33から送られてくる信号をプロセッサ101に送信する。なお、マウス33は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0027】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク34に記録されたデータの読み取りを行う。光ディスク34は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク34には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等がある。
【0028】
機器接続インタフェース107は、PC100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置35やメモリリーダライタ36を接続することができる。メモリ装置35は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ36は、メモリカード37へのデータの書き込み、またはメモリカード37からのデータの読み出しを行う装置である。メモリカード37は、カード型の記録媒体である。
【0029】
ネットワークインタフェース108は、ネットワーク30に接続されている。ネットワークインタフェース108は、ネットワーク30を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0030】
PC100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図2に示したPC100と同様のハードウェアにより実現することができる。また、プロセッサ101は、第1の実施の形態に示した処理部11の一例である。
【0031】
PC100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。PC100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、PC100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またPC100に実行させるプログラムを、光ディスク34、メモリ装置35、メモリカード37等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。次に、PC100のキャプチャ機能について説明する。
【0032】
図3は、キャプチャ機能の一例を示す図である。PC100は、画面40をモニタ31に表示させ、ユーザによって画面40から指定されたキャプチャ領域42を抽出したキャプチャ画像43を生成する。
【0033】
画面40は、PC100がモニタ31に表示する画面である。画面40は、ウィンドウ41を含む。ウィンドウ41は、会議アプリケーションによる表示内容を表示したウィンドウである。ウィンドウ41は、会議の設定等をするためのボタンを含む。また、ウィンドウ41は、会議の参加者を示すアイコンを含む。また、ウィンドウ41は、会議アプリケーションの画面共有によって取得された資料を含む。
【0034】
PC100は、ユーザによるキャプチャ領域42の指定を受け付ける。キャプチャ領域42は、画面40内の矩形の領域である。ここでは、ウィンドウ41に含まれる資料を表示した部分がキャプチャ領域42として指定される。PC100は、画面40からキャプチャ領域42を抽出したキャプチャ画像43を所定の時間間隔で生成する。これにより、PC100は、ユーザが画像として保存しておきたい部分を抽出したキャプチャ画像43を生成することができる。なお、ウィンドウ41に表示される資料は、共有される画面の内容が切り替えられることで変化することがある。PC100は、キャプチャ画像43を所定の時間間隔で生成することで、ユーザが画像として保存しておきたい部分が時間によって変化する場合でも、複数の時点での当該部分の画像をキャプチャ画像43として生成できる。
【0035】
ここで、ウィンドウ41は、ユーザの操作によって画面40上を移動することがある。また、ウィンドウ41は、ユーザの操作によってサイズが変動(拡大縮小)することがある。ウィンドウ41が移動または拡大縮小すると、ユーザが画像として保存しておきたい部分がキャプチャ領域42から移動してしまい、PC100は、適切なキャプチャ画像43を生成できなくなってしまう。そこで、PC100は、ウィンドウ41の移動または拡大縮小を検出すると、キャプチャ領域42をウィンドウ41の移動または拡大縮小に応じて移動させ、移動後のキャプチャ領域42の範囲をキャプチャする。次に、PC100の機能について詳細に説明する。
【0036】
図4は、PCの機能例を示すブロック図である。PC100は、記憶部120、設定部130、移動算出部140および画像生成部150を有する。記憶部120は、メモリ102またはストレージ装置103の記憶領域を用いて実現される。設定部130、移動算出部140および画像生成部150は、メモリ102に記憶されたプログラムをプロセッサ101が実行することで実現される。
【0037】
記憶部120は、キャプチャ情報121およびキャプチャ画像122-1,122-2,・・・を記憶する。キャプチャ情報121は、キャプチャ画像43を生成するキャプチャ処理に関する設定を示す情報である。キャプチャ画像122-1,122-2,・・・は、生成したキャプチャ画像43を保存したものである。
【0038】
設定部130は、キャプチャ領域42の指定を受け付け、キャプチャ処理の対象のウィンドウを決定する。例えば、設定部130は、キャプチャ領域42の指定の受け付けでは、画面40上の矩形の範囲の描画を受け付け、描画された範囲をキャプチャ領域42の範囲として指定を受け付ける。設定部130は、キャプチャ領域42の4つの頂点の座標をキャプチャ情報121に登録する。設定部130は、キャプチャ処理の対象のウィンドウの決定では、画面40に表示されているアプリケーションのウィンドウのうちの最前面のウィンドウをキャプチャ処理の対象に決定する。設定部130は、キャプチャ処理の対象に決定したウィンドウ(例えば、ウィンドウ41)の4つの頂点の座標をキャプチャ情報121に登録する。なお、ウィンドウ41は、第1の実施の形態に示した対象ウィンドウ2の一例である。
【0039】
移動算出部140は、所定時間間隔でウィンドウ41の位置を取得し、ウィンドウ41の移動または拡大縮小が検出された場合、キャプチャ領域42を移動させる。移動算出部140は、ウィンドウ41の4つの頂点の画面40における位置座標を取得する。そして、移動算出部140は、ウィンドウ41の4つの頂点に移動があり、ウィンドウ41の4つの頂点の移動量が同じである場合、ウィンドウ41の移動を検出する。また、移動算出部140は、ウィンドウ41の4つの頂点に移動があり、ウィンドウ41の4つの頂点の移動量が異なる場合、ウィンドウ41の拡大縮小を検出する。なお、ウィンドウ41の頂点は、第1の実施の形態に示した基準点2aの一例である。
【0040】
移動算出部140は、ウィンドウ41の移動があり拡大縮小がない場合、ウィンドウ41と同じ移動量でキャプチャ領域42を移動させる。移動算出部140は、移動後のキャプチャ領域42の4つの頂点の座標をキャプチャ情報121に登録する。
【0041】
移動算出部140は、ウィンドウ41の拡大縮小がある場合、ウィンドウ41の拡大縮小前後の比率に応じて拡大縮小させたキャプチャ領域42を、移動前のウィンドウ41の相対位置と、ウィンドウ41の移動先とに応じて移動させる。移動算出部140は、移動前のウィンドウ41とキャプチャ領域42との左上の頂点同士の相対位置および移動前後のウィンドウ41の辺の比率を算出する。なお、キャプチャ領域42の左上の頂点は、第1の実施の形態に示した対応点の一例である。
【0042】
移動算出部140は、移動前後のキャプチャ領域42の辺の比率が、移動前後のウィンドウ41の辺の比率と同じになるようにキャプチャ領域42を拡大縮小する。移動算出部140は、算出した相対位置と、算出した辺の比率とから、キャプチャ領域42の左上の頂点の移動位置を算出する。例えば、移動算出部140は、移動後のウィンドウ41とキャプチャ領域42との左上の頂点同士の相対位置が、算出した相対位置に算出した辺の比率を掛けた位置関係となる、キャプチャ領域42の左上の頂点の移動位置を算出する。移動算出部140は、算出した移動位置に左上の頂点が配置されるように、拡大縮小したキャプチャ領域42を移動させる。移動算出部140は、移動後のキャプチャ領域42の4つの頂点の座標をキャプチャ情報121に登録する。
【0043】
画像生成部150は、所定時間間隔で画面40からキャプチャ領域42を抽出したキャプチャ画像43を生成する。なお、画像生成部150は、移動算出部140がウィンドウ41の移動または拡大縮小を検出した場合、移動算出部140がキャプチャ領域42を移動させてからキャプチャ画像43を生成する。
【0044】
画像生成部150は、キャプチャ画像43を生成すると、生成したキャプチャ画像43が前回のキャプチャ画像と差異があるか否かを判定する。画像生成部150は、キャプチャ画像43が前回のキャプチャ画像と差異がないと判定した場合、キャプチャ画像43をキャプチャ画像122-1,122-2,・・・として記憶部120に保存する。
【0045】
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、記憶部120に記憶されたキャプチャ情報121について詳細に説明する。
【0046】
図5は、キャプチャ情報の一例を示す図である。キャプチャ情報121は、キャプチャ処理に関する設定を示す情報である。キャプチャ情報121には、アプリケーション、ウィンドウ位置、キャプチャ領域およびキャプチャ画像が登録される。キャプチャ情報121のアプリケーションとしては、キャプチャ処理の対象であるウィンドウ41を表示するアプリケーションが登録される。キャプチャ情報121のウィンドウ位置としては、ウィンドウ41の4つの頂点の画面40における位置座標が登録される。キャプチャ情報121のキャプチャ領域としては、キャプチャ領域42の4つの頂点の画面40における位置座標が登録される。キャプチャ情報121のキャプチャ画像としては、前回生成したキャプチャ画像43が登録される。次に、ウィンドウ41が移動した場合のキャプチャ領域42の移動処理について説明する。
【0047】
図6は、ウィンドウが移動した場合のキャプチャ領域の移動処理の一例を示す図である。移動算出部140は、キャプチャ処理の対象であるウィンドウ41の移動を検出すると、キャプチャ領域42をウィンドウ41の移動量だけ移動させる。
【0048】
図6の上側の画面40は、画面40に含まれるウィンドウ41が移動した場合を示す。なお、図6の上側の画面40に含まれる破線部分は、ウィンドウ41の移動前の位置を示す。また、図6の上側の画面40に含まれる矢印は、ウィンドウ41の左上の頂点の移動前の位置から移動後の位置を指し示す。
【0049】
移動算出部140は、前回のキャプチャ処理におけるウィンドウ41の4つの頂点の位置と、現在のウィンドウ41の4つの頂点の位置とを比較してウィンドウ41の移動を検出する。移動算出部140は、ウィンドウ41の移動を検出すると、ウィンドウ41の左上の頂点の移動前後のx座標およびy座標の差分を算出する。移動算出部140は、キャプチャ領域42の4つの頂点それぞれについて、x座標に算出したx座標の差分を加算し、y座標に算出したy座標の差分を加算する。移動算出部140は、差分を加算した4つの頂点で示される位置にキャプチャ領域42を移動させる。
【0050】
図6の下側の画面40は、キャプチャ領域42を移動させた場合を示す。なお、図6の下側の画面40に含まれる破線部分は、キャプチャ領域42の移動前の位置を示す。また、図6の下側の画面40に含まれる矢印は、キャプチャ領域42の左上の頂点の移動前の位置から移動後の位置を指し示す。画像生成部150は、画面40から移動後のキャプチャ領域42を抽出したキャプチャ画像43を生成する。
【0051】
このように、移動算出部140は、ウィンドウ41の移動を検出すると、キャプチャ領域42をウィンドウ41の移動量だけ移動させる。これにより、画像生成部150は、ユーザが画像として保存しておきたい部分が移動した場合でも、適切にキャプチャ画像43を生成することができる。次に、ウィンドウ41が拡大された場合のキャプチャ領域42の移動処理について説明する。
【0052】
図7は、ウィンドウが拡大された場合のキャプチャ領域の移動処理の一例を示す図(その1)である。移動算出部140は、ウィンドウ41の拡大または縮小を検出すると、ウィンドウ41の拡大縮小前後の比率に応じて拡大縮小させたキャプチャ領域42を、移動前のウィンドウ41の相対位置と、ウィンドウ41の移動先とに応じて移動させる。図7では、キャプチャ領域42の左上の頂点の移動先の算出について説明する。
【0053】
図7の上側の画面40は、画面40に含まれるウィンドウ41が拡大および移動した場合を示す。なお、図7の上側の画面40に含まれる破線部分は、ウィンドウ41の移動前の位置を示す。移動算出部140は、前回のキャプチャ処理におけるウィンドウ41の4つの頂点の位置と、現在のウィンドウ41の4つの頂点の位置とを比較してウィンドウ41の移動および拡大縮小を検出する。移動算出部140は、ウィンドウ41の4つの頂点のいずれかが移動し、各頂点の移動量が全て同じではない場合、ウィンドウ41が拡大または縮小したことを検出する。
【0054】
移動算出部140は、ウィンドウ41の拡大を検出すると、移動前のウィンドウ41の左上の頂点A(Ax,Ay)と、キャプチャ領域42の左上の頂点a(ax,ay)との相対位置を算出する。移動算出部140は、頂点A(Ax,Ay)と頂点a(ax,ay)とのx方向の差分dxをdx=ax-Axと算出する。また、移動算出部140は、頂点A(Ax,Ay)と頂点a(ax,ay)とのy方向の差分dyをdy=ay-Ayと算出する。移動算出部140は、算出した相対位置およびウィンドウ41の拡大前後の比率に基づいて、拡大したキャプチャ領域42を移動させる。
【0055】
図7の下側の画面40は、キャプチャ領域42を拡大および移動させた場合を示す。なお、図7の下側の画面40に含まれる破線部分は、ウィンドウ41の移動前の位置を示す。移動算出部140は、ウィンドウ41の拡大前後それぞれの辺の長さを算出し、算出した辺の長さに基づいてウィンドウ41の拡大前後の比率を算出する。移動算出部140は、拡大前のウィンドウ41の左上の頂点と右上の頂点のx座標の差をウィンドウ41の拡大前のx方向の辺の長さXとして算出する。また、移動算出部140は、拡大前のウィンドウ41の左上の頂点と左下の頂点のy座標の差をウィンドウ41の拡大前のy方向の辺の長さYとして算出する。
【0056】
また、移動算出部140は、拡大後のウィンドウ41の左上の頂点と右上の頂点のx座標の差をウィンドウ41の拡大後のx方向の辺の長さX*として算出する。また、移動算出部140は、拡大後のウィンドウ41の左上の頂点と左下の頂点のy座標の差をウィンドウ41の拡大後のy方向の辺の長さY*として算出する。そして、移動算出部140は、ウィンドウ41の拡大前後のx方向の比率MxをMx=X*/Xと算出する。また、移動算出部140は、ウィンドウ41の拡大前後のy方向の比率MyをMy=Y*/Yと算出する。
【0057】
移動算出部140は、移動後のウィンドウ41の左上の頂点A*(Ax *,Ay *)、頂点A(Ax,Ay)と頂点a(ax,ay)との相対位置およびウィンドウ41の拡大前後の比率に基づいて、移動後のキャプチャ領域42の左上の頂点a*(ax *,ay *)の座標を算出する。移動算出部140は、頂点A*(Ax *,Ay *)と頂点a*(ax *,ay *)とのx方向の差分DxをDx=dx×Mxと算出する。また、移動算出部140は、頂点A*(Ax *,Ay *)と頂点a*(ax *,ay *)とのy方向の差分DyをDy=dy×Myと算出する。そして、移動算出部140は、頂点a*(ax *,ay *)のx座標ax *をax *=Ax *+Dxと算出する。また、移動算出部140は、頂点a*(ax *,ay *)のy座標ay *をay *=Ay *+Dyと算出する。
【0058】
図8は、ウィンドウが拡大された場合のキャプチャ領域の移動処理の一例を示す図(その2)である。移動算出部140は、移動後のキャプチャ領域42のサイズを算出し、移動後のキャプチャ領域42のサイズと、頂点a*(ax *,ay *)とに基づいて、移動後のキャプチャ領域42の範囲を算出する。なお、図8の画面40に含まれる破線部分は、キャプチャ領域42の移動前の位置を示す。
【0059】
移動算出部140は、移動前のキャプチャ領域42のサイズを算出し、移動前のキャプチャ領域42のサイズと、ウィンドウ41の拡大前後の比率とに基づいて、移動後のキャプチャ領域42のサイズを算出する。移動算出部140は、移動前のキャプチャ領域42の左上の頂点と右上の頂点のx座標の差をキャプチャ領域42の移動前のx方向の辺の長さxとして算出する。また、移動算出部140は、移動前のキャプチャ領域42の左上の頂点と左下の頂点のy座標の差をキャプチャ領域42の移動前のy方向の辺の長さyとして算出する。そして、移動算出部140は、キャプチャ領域42の移動後のx方向の辺の長さx*をx*=Mx×xと算出する。また、移動算出部140は、キャプチャ領域42の移動後のy方向の辺の長さy*をy*=My×yと算出する。
【0060】
移動算出部140は、移動後のキャプチャ領域42のサイズと、頂点a*(ax *,ay *)とに基づいて、移動後のキャプチャ領域42の右上の頂点b*(bx *,by *)、右下の頂点c*(cx *,cy *)、左下の頂点d*(dx *,dy *)の座標を算出する。移動算出部140は、頂点b*(bx *,by *)のx座標bx *をbx *=ax *+x*と算出する。また、移動算出部140は、頂点b*(bx *,by *)のy座標by *をby *=ay *と算出する。また、移動算出部140は、頂点c*(cx *,cy *)のx座標cx *をcx *=ax *+x*と算出する。また、移動算出部140は、頂点c*(cx *,cy *)のy座標cy *をcy *=ay *+y*と算出する。また、移動算出部140は、頂点d*(dx *,dy *)のx座標dx *をdx *=ax *と算出する。また、移動算出部140は、頂点d*(dx *,dy *)のy座標dy *をdy *=ay *+y*と算出する。
【0061】
そして、移動算出部140は、算出した頂点a*(ax *,ay *)、頂点b*(bx *,by *)、頂点c*(cx *,cy *)、頂点d*(dx *,dy *)で示される位置にキャプチャ領域42を拡大して移動させる。画像生成部150は、画面40から移動後のキャプチャ領域42を抽出したキャプチャ画像43を生成する。
【0062】
このように、移動算出部140は、ウィンドウ41の拡大または縮小を検出すると、ウィンドウ41の拡大縮小前後の比率に基づいてキャプチャ領域42を拡大縮小させる。そして、移動算出部140は、移動前のウィンドウ41とキャプチャ領域42との相対位置と、ウィンドウ41の移動先とに基づいてキャプチャ領域42を移動させる。ここで、ウィンドウ41が拡大縮小すると、ウィンドウ41に含まれる、ユーザが画像として保存しておきたい部分も拡大縮小および移動する。
【0063】
ウィンドウ41に含まれる部分の拡大縮小前後の比率は、ウィンドウ41の拡大縮小前後の比率と同じであることが多い。そこで、移動算出部140は、ウィンドウ41と同じ比率でキャプチャ領域42を拡大縮小させる。また、ウィンドウ41に含まれる各部分は、ウィンドウ41の拡大縮小前後の比率に応じて、ウィンドウ41の端までの長さが拡大縮小されることが多い。そこで、移動算出部140は、移動前のウィンドウ41とキャプチャ領域42との左上の頂点同士の座標の差分に、ウィンドウ41の拡大縮小前後の比率を掛けて、移動後のウィンドウ41の左上の頂点に足した位置にキャプチャ領域42の左上の頂点を移動させる。
【0064】
これにより、画像生成部150は、ウィンドウ41の拡大縮小によってユーザが画像として保存しておきたい部分が拡大縮小した場合でも、適切にキャプチャ画像43を生成することができる。次に、キャプチャ処理の対象のウィンドウの決定処理について説明する。
【0065】
図9は、キャプチャ処理の対象のウィンドウの決定処理の一例を示す図である。設定部130は、ユーザによって指定されたキャプチャ領域42を含むウィンドウのうち、最前面のウィンドウをキャプチャ処理の対象のウィンドウに決定する。
【0066】
図9の例では、画面40は、ウィンドウ41,51,52を含む。ウィンドウ41は、ウィンドウ51と一部が重なっている。なお、ウィンドウ41は、ウィンドウ51より前面に配置されている。また、ウィンドウ52は、ウィンドウ41,51と重なっている部分がない。ここで、設定部130は、ウィンドウ41とウィンドウ51とが重なっている部分に含まれる範囲をキャプチャ領域42とする指定を受け付けたものとする。すると、設定部130は、キャプチャ領域42を含むウィンドウのうち、最前面のウィンドウであるウィンドウ41をキャプチャ処理の対象のウィンドウに決定する。
【0067】
ここで、ユーザは、画像として保存しておきたい部分が画面40に表示された状態でキャプチャ領域42を指定する可能性が高い。設定部130は、キャプチャ領域42を含むウィンドウのうち、最前面のウィンドウをキャプチャ処理の対象のウィンドウに決定することで、ユーザが画像として保存しておきたい部分を含むウィンドウをキャプチャ処理の対象に決定することができる。次に、PC100が実行するキャプチャ処理の手順について詳細に説明する。
【0068】
図10は、キャプチャ処理の手順の一例を示すフローチャート(その1)である。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS11]設定部130は、キャプチャ領域42の範囲指定を受け付ける。例えば、設定部130は、画面40上の矩形の範囲の描画を受け付け、描画された範囲をキャプチャ領域42の範囲として指定を受け付ける。設定部130は、指定を受け付けたキャプチャ領域42の4つの頂点の画面40における位置座標をキャプチャ情報121に登録する。
【0069】
[ステップS12]設定部130は、画面40に表示されているアプリケーションのウィンドウの範囲を取得する。例えば、設定部130は、PC100で実行されているOSから、実行中のアプリケーションそれぞれについて、ウィンドウの画面40における範囲を取得する。
【0070】
[ステップS13]設定部130は、ステップS12でウィンドウの範囲を取得したアプリケーションのうち、ウィンドウの範囲内にステップS11で指定を受け付けたキャプチャ領域42を含むアプリケーションを抽出する。
【0071】
[ステップS14]設定部130は、ステップS13で抽出したアプリケーションのうちの最前面のアプリケーションをキャプチャ処理の対象に決定する。設定部130は、キャプチャ処理の対象に決定したアプリケーションをキャプチャ情報121に登録する。また、設定部130は、キャプチャ処理の対象に決定したアプリケーションのウィンドウ(例えば、ウィンドウ41)の4つの頂点の画面40における位置座標を、ウィンドウ位置としてキャプチャ情報121に登録する。
【0072】
[ステップS15]移動算出部140は、所定時間待機する。例えば、移動算出部140は、1秒間待機してから、処理をステップS16に進める。
[ステップS16]移動算出部140は、キャプチャ処理の対象のウィンドウ41の位置を取得する。例えば、移動算出部140は、PC100で実行されているOSから、キャプチャ情報121に登録されたアプリケーションのウィンドウ41の4つの頂点の画面40における位置座標を取得する。
【0073】
[ステップS17]移動算出部140は、ウィンドウ41の4つの頂点に移動があるか否かを判定する。例えば、移動算出部140は、ステップS16で取得したウィンドウ41の4つの頂点の位置座標と、キャプチャ情報121にウィンドウ位置として登録された4つの頂点の位置座標とが一致しない場合、ウィンドウ41の4つの頂点に移動があると判定する。移動算出部140は、ウィンドウ41の4つの頂点に移動があると判定した場合、処理をステップS18に進める。また、移動算出部140は、ウィンドウ41の4つの頂点に移動がないと判定した場合、処理をステップS27に進める。
【0074】
[ステップS18]移動算出部140は、ウィンドウ41の4つの頂点の移動量が同じであるか否かを判定する。例えば、移動算出部140は、ステップS16で取得したウィンドウ41の4つの頂点それぞれの位置座標と、キャプチャ情報121にウィンドウ位置として登録された4つの頂点の位置座標それぞれとの差分を算出する。移動算出部140は、算出した差分が全て一致する場合、4つの頂点の移動量が同じであると判定する。移動算出部140は、4つの頂点の移動量が同じであると判定した場合、処理をステップS19に進める。また、移動算出部140は、4つの頂点の移動量が同じではないと判定した場合、処理をステップS20に進める。
【0075】
[ステップS19]移動算出部140は、ウィンドウ41と同じ移動量でキャプチャ領域42を移動させる。例えば、移動算出部140は、ステップS16で取得したウィンドウ41の左上の頂点の座標と、キャプチャ情報121にウィンドウ位置として登録された左上の頂点の座標とのx座標およびy座標の差分を算出する。移動算出部140は、キャプチャ領域42の4つの頂点それぞれについて、x座標に算出したx座標の差分を加算し、y座標に算出したy座標の差分を加算する。移動算出部140は、差分を加算した4つの頂点で示される位置にキャプチャ領域42を移動させる。移動算出部140は、移動後のキャプチャ領域42の4つの頂点の座標をキャプチャ情報121に登録する。そして、処理がステップS26に進む。
【0076】
[ステップS20]移動算出部140は、移動前のウィンドウ41とキャプチャ領域42の頂点同士の相対位置を算出する。例えば、移動算出部140は、キャプチャ情報121にウィンドウ位置として登録された左上の頂点A(Ax,Ay)と、キャプチャ情報121に登録されたキャプチャ領域42の左上の頂点a(ax,ay)とのx方向およびy方向の差分を算出する。移動算出部140は、頂点A(Ax,Ay)と頂点a(ax,ay)とのx方向の差分dxをdx=ax-Axと算出する。また、移動算出部140は、頂点A(Ax,Ay)と頂点a(ax,ay)とのy方向の差分dyをdy=ay-Ayと算出する。
【0077】
[ステップS21]移動算出部140は、移動前のウィンドウ41と移動後のウィンドウ41との辺の比率を算出する。例えば、移動算出部140は、キャプチャ情報121にウィンドウ位置として登録された左上の頂点と右上の頂点のx座標の差を移動前のx方向の辺の長さXとして算出する。また、移動算出部140は、キャプチャ情報121にウィンドウ位置として登録された左上の頂点と左下の頂点のy座標の差を移動前のy方向の辺の長さYとして算出する。
【0078】
また、移動算出部140は、ステップS16で取得したウィンドウ41の左上の頂点と右上の頂点のx座標の差を移動後のx方向の辺の長さX*として算出する。また、移動算出部140は、ステップS16で取得したウィンドウ41の左上の頂点と左下の頂点のy座標の差を移動後のy方向の辺の長さY*として算出する。そして、移動算出部140は、移動前のウィンドウ41と移動後のウィンドウ41とのx方向の辺の比率MxをMx=X*/Xと算出する。また、移動算出部140は、移動前のウィンドウ41と移動後のウィンドウ41とのy方向の辺の比率MyをMy=Y*/Yと算出する。
【0079】
[ステップS22]移動算出部140は、ステップS20で算出した相対位置と、ステップS21で算出した辺の比率とから、キャプチャ領域42の左上の頂点の移動位置を算出する。例えば、移動算出部140は、ステップS16で取得したウィンドウ41の左上の頂点A*(Ax *,Ay *)と、キャプチャ領域42の左上の頂点の移動位置である頂点a*(ax *,ay *)とのx方向の差分DxをDx=dx×Mxと算出する。また、移動算出部140は、頂点A*(Ax *,Ay *)と頂点a*(ax *,ay *)とのy方向の差分DyをDy=dy×Myと算出する。そして、移動算出部140は、頂点a*(ax *,ay *)のx座標ax *をax *=Ax *+Dxと算出する。また、移動算出部140は、頂点a*(ax *,ay *)のy座標ay *をay *=Ay *+Dyと算出する。
【0080】
図11は、キャプチャ処理の手順の一例を示すフローチャート(その2)である。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS23]移動算出部140は、ステップS21で算出した辺の比率から、移動後のキャプチャ領域42の辺の長さを算出する。例えば、移動算出部140は、キャプチャ情報121に登録されたキャプチャ領域42の左上の頂点と右上の頂点のx座標の差をキャプチャ領域42の移動前のx方向の辺の長さxとして算出する。また、移動算出部140は、キャプチャ情報121に登録されたキャプチャ領域42の左上の頂点と左下の頂点のy座標の差をキャプチャ領域42の移動前のy方向の辺の長さyとして算出する。そして、移動算出部140は、移動後のキャプチャ領域42のx方向の辺の長さx*をx*=Mx×xと算出する。また、移動算出部140は、移動後のキャプチャ領域42のy方向の辺の長さy*をy*=My×yと算出する。
【0081】
[ステップS24]移動算出部140は、キャプチャ領域42の左上の頂点以外の頂点の移動位置を算出する。例えば、移動算出部140は、移動後のキャプチャ領域42の右上の頂点b*(bx *,by *)のx座標bx *をbx *=ax *+x*と算出する。また、移動算出部140は、頂点b*(bx *,by *)のy座標by *をby *=ay *と算出する。また、移動算出部140は、移動後のキャプチャ領域42の右下の頂点c*(cx *,cy *)のx座標cx *をcx *=ax *+x*と算出する。また、移動算出部140は、頂点c*(cx *,cy *)のy座標cy *をcy *=ay *+y*と算出する。また、移動算出部140は、移動後のキャプチャ領域42の左下の頂点d*(dx *,dy *)のx座標dx *をdx *=ax *と算出する。また、移動算出部140は、頂点d*(dx *,dy *)のy座標dy *をdy *=ay *+y*と算出する。
【0082】
[ステップS25]移動算出部140は、キャプチャ領域42を算出した移動位置に移動させる。例えば、移動算出部140は、算出した頂点a*(ax *,ay *)、頂点b*(bx *,by *)、頂点c*(cx *,cy *)、頂点d*(dx *,dy *)で示される位置にキャプチャ領域42を移動させる。移動算出部140は、移動後のキャプチャ領域42の4つの頂点の座標をキャプチャ情報121に登録する。
【0083】
[ステップS26]移動算出部140は、移動後のウィンドウ41の位置をキャプチャ情報121に登録する。例えば、移動算出部140は、ステップS16で取得したウィンドウ41の4つの頂点の位置座標を、ウィンドウ位置としてキャプチャ情報121に登録する。
【0084】
[ステップS27]画像生成部150は、画面40からキャプチャ領域42の部分を抽出したキャプチャ画像43を生成する。例えば、画像生成部150は、キャプチャ情報121に登録されたキャプチャ領域42の4つの頂点の座標で囲まれた画面40の部分を抽出したキャプチャ画像43を生成する。なお、画像生成部150は、ウィンドウ41が背面にある場合、ウィンドウ41からキャプチャ領域42の部分を抽出したキャプチャ画像43を生成する。
【0085】
[ステップS28]画像生成部150は、ステップS27で生成したキャプチャ画像43が前回のキャプチャ画像と差異があるか否かを判定する。例えば、画像生成部150は、ステップS27で生成したキャプチャ画像43と、キャプチャ情報121に登録されたキャプチャ画像とを画素ごとに比較し、異なる画素の数が閾値以上の場合、キャプチャ画像43が前回のキャプチャ画像と差異があると判定する。画像生成部150は、キャプチャ画像43が前回のキャプチャ画像と差異があると判定した場合、処理をステップS29に進める。また、画像生成部150は、キャプチャ画像43が前回のキャプチャ画像と差異がないと判定した場合、処理をステップS30に進める。
【0086】
[ステップS29]画像生成部150は、ステップS27で生成したキャプチャ画像43をキャプチャ画像122-1,122-2,・・・として記憶部120に保存する。また、画像生成部150は、ステップS27で生成したキャプチャ画像43をキャプチャ情報121に登録する。
【0087】
[ステップS30]移動算出部140は、キャプチャ処理を終了するか否かを判定する。例えば、移動算出部140は、キャプチャ処理を終了する選択を受け付けた場合またはキャプチャ情報121に登録されたアプリケーションが終了した場合、キャプチャ処理を終了すると判定する。移動算出部140は、キャプチャ処理を終了すると判定した場合、処理を終了する。また、移動算出部140は、キャプチャ処理を終了しないと判定した場合、処理をステップS15に進める。
【0088】
このようにして、画像生成部150は、所定時間間隔で画面40からキャプチャ領域42を抽出したキャプチャ画像43を生成する。これにより、画像生成部150は、会議アプリケーションで共有される資料等の時間によって変化する部分について、複数の時点での画像を生成できる。なお、画像生成部150は、キャプチャ画像43が前回生成したキャプチャ画像と差異がある場合、キャプチャ画像43をキャプチャ画像122-1,122-2,・・・として記憶部120に保存する。これにより、画像生成部150は、不要な画像を保存しないようにすることができる。
【0089】
移動算出部140は、ウィンドウ41の頂点が移動した場合、ウィンドウ41の移動または拡大縮小を検出し、画像生成部150がキャプチャ画像43を生成する前にキャプチャ領域42を移動させる。移動算出部140は、ウィンドウ41の4つの頂点が移動し、各頂点の移動量が同じである場合、ウィンドウ41が拡大縮小せずに移動したことを検出し、ウィンドウ41の各頂点と同じ移動量だけキャプチャ領域42を移動させる。これにより、画像生成部150は、ウィンドウ41に含まれる、ユーザが画像として保存しておきたい部分が移動した場合でも、適切にキャプチャ画像43を生成することができる。
【0090】
また、移動算出部140は、ウィンドウ41の4つの頂点が移動し、各頂点の移動量が同じではない場合、ウィンドウ41の拡大縮小を検出し、拡大縮小したキャプチャ領域42を移動させる。移動算出部140は、ウィンドウ41と同じ比率でキャプチャ領域42を拡大縮小させる。そして、移動算出部140は、移動前のウィンドウ41とキャプチャ領域42との左上の頂点同士の座標の差分に、ウィンドウ41の拡大縮小前後の比率を掛けて、移動後のウィンドウ41の左上の頂点に足した位置にキャプチャ領域42の左上の頂点を移動させる。
【0091】
これにより、移動算出部140は、ウィンドウ41の拡大縮小によって拡大縮小した、ユーザが画像として保存しておきたい部分に、キャプチャ領域42を移動させることができる。よって、画像生成部150は、ウィンドウ41が拡大縮小した場合でも、適切にキャプチャ画像43を生成することができる。
【0092】
なお、設定部130は、このようなキャプチャ処理の対象のウィンドウ41として、処理開始時に指定されたキャプチャ領域42を含むウィンドウのうち、最前面のウィンドウを設定する。これにより、設定部130は、ユーザが画像として保存しておきたい部分を含むウィンドウをキャプチャ処理の対象に決定することができる。
【0093】
第2の実施の形態によれば、PC100は、ウィンドウ41を表示した画面40におけるキャプチャ領域42の指定を受け付ける。PC100は、画面40からキャプチャ領域42を抽出したキャプチャ画像43を生成する処理を所定の時間間隔で繰り返し、ウィンドウ41の頂点が移動した場合、ウィンドウ41の頂点の移動量に基づいて、キャプチャ領域42を移動させる。これにより、PC100は、キャプチャ機能による画像生成を適切に行うことができる。
【0094】
また、PC100は、キャプチャ画像43が、前回生成したキャプチャ画像と差異がある場合、キャプチャ画像43を保存する。これにより、PC100は、不要な画像を保存しないようにすることができる。
【0095】
また、PC100は、ウィンドウ41のサイズが変動した場合、キャプチャ領域42の左上の頂点の移動前のウィンドウ41の左上の頂点に対する相対位置と、ウィンドウ41のサイズの変動前後の比率とに基づいて、キャプチャ領域42の左上の頂点の移動位置を算出する。そして、PC100は、キャプチャ領域42の左上の頂点が移動位置に移動するように、ウィンドウ41のサイズの変動前後の比率に基づいてサイズを変動させたキャプチャ領域42を移動させる。これにより、PC100は、ウィンドウ41が拡大または縮小された場合でも、適切にキャプチャ画像43を生成することができる。
【0096】
また、PC100は、指定を受け付けたキャプチャ領域42を含むウィンドウのうち、最前面のウィンドウをキャプチャ処理の対象のウィンドウ41に設定する。これにより、PC100は、ユーザがキャプチャ画像43を生成しようとしている部分を含むウィンドウを、適切に特定することができる。
【0097】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0098】
1 画面
2 対象ウィンドウ
2a 基準点
3 キャプチャ領域
4 キャプチャ画像
10 情報処理装置
11 処理部
【要約】
【課題】キャプチャ機能による画像生成を適切に行うことができる。
【解決手段】情報処理装置10は、対象ウィンドウ2を表示した画面1におけるキャプチャ領域3の指定を受け付ける。情報処理装置10は、画面1からキャプチャ領域3を抽出したキャプチャ画像4を生成する処理を所定の時間間隔で繰り返す。情報処理装置10は、対象ウィンドウ2の基準点2aが移動した場合、基準点2aの移動量に基づいて、キャプチャ領域3を移動させる。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11