JP2009175857A - 画像処理方法、画像処理装置及びプログラム - Google Patents

画像処理方法、画像処理装置及びプログラム Download PDF

Info

Publication number
JP2009175857A
JP2009175857A JP2008011616A JP2008011616A JP2009175857A JP 2009175857 A JP2009175857 A JP 2009175857A JP 2008011616 A JP2008011616 A JP 2008011616A JP 2008011616 A JP2008011616 A JP 2008011616A JP 2009175857 A JP2009175857 A JP 2009175857A
Authority
JP
Japan
Prior art keywords
gui component
union
size
clip
gui
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008011616A
Other languages
English (en)
Inventor
Shuichi Okamura
秀一 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008011616A priority Critical patent/JP2009175857A/ja
Publication of JP2009175857A publication Critical patent/JP2009175857A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】GUI部品を高速で描画することができるようにすることを目的とする。
【解決手段】本発明は、GUI部品を描画する画像処理方法であって、GUI部品のサイズを取得するサイズ取得ステップと、GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算されたクリップエリアの和集合に含まれるかどうかを判定する判定ステップと、前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、GUI部品自体の描画処理を行うGUI部品描画ステップと、を有することを特徴とする。
【選択図】図8

Description

本発明はGUI部品を高速で描画する画像処理方法、画像処理装置及びプログラムに関するものである。
従来、Window Systemや、Window System及びToolkitで用意されるGUI部品の描画は、まずGUI部品に設定されている背景色でGUI部品の領域を塗った後、GUI部品の描画を行う処理をしていた。
ここで、GUI部品としてボタンを例にして、Button1とButton2とが重なっている場合について図1を参照して説明する。図1には、Button1の上にButton2が存在する状態を示す図である。まず、Button1に設定されている背景色は濃い灰色として、Button1の描画が終了した時点を図2に示す。ここに、Button2を描画する場合、Button2に設定されている背景色を薄い灰色とすると、図3に示すように、まず背景色でGUI部品の領域を塗る処理をWindow System又はWindow System及びToolkitが行う。次に、図4のようにボタンに固有の描画である枠とラベル文字(ここでは”Button2”)を描画することで、Button2の描画が完了する。
次に、Window System又は、Window System及びToolkit(以下、Window System等という)が、GUI部品の背景色を塗らない場合を、図5に示す。図5では、Button2の領域は、本来Button2しか見えないはずが、Button1の一部の領域等、Button2の領域の下にある部品と背景とが透けたようになってしまう。これを防止するには、GUI部品の固有の描画処理の中で自分の領域を背景色で塗る処理を行わないといけない。
また、Window Systemによっては、はじめから指定することでGUI部品の下地を塗らないものも存在する。しかし、この場合は、GUI部品自体の描画処理が自分の領域を背景色で塗る処理を行わないといけない。
開発者がGUIを用いたアプリケーションを開発する際に、見栄えをよくするために、Window System等が、提供するGUI部品そのものを利用するのではなく、そのGUI部品を拡張して利用することがある。例えば、ボタン部品を拡張して、部品全体を覆うImageを貼り付けることで、見栄えのあるボタンを作成することがある。例えば、図6にImageで部品全体が覆われている拡張ボタンを示す。図6に示すButton2は、グラジュエーションがかかったImageで部品全体が覆われている拡張ボタンである。
特許文献1では、マルチウィンドウシステムにおける図形の描画を高速化する手法が示されている。複数ウィンドウそれぞれに記憶領域をもっていて、ウィンドウの重なりの順序と、各ウィンドウの視認可能な領域を管理している。最終的には、各ウィンドウの視認可能領域のみを、クリッピング図形を考慮せずにVRAMに転送することで高速化を図っている。
特開平05−250123号公報
しかしながら、GUI部品自体の描画において必ず自分の領域すべてを描画する場合には、Window System等が、下地をGUI部品に設定された背景色で塗ることは無駄な処理になってしまうという問題があった。特に、組込み機器に見られるように、グラフィックスアクセラレータが載っていない場合で、かつ、VRAMへのアクセスが遅い場合には、下地を矩形で塗りつぶす処理により、GUI部品の描画速度が遅くなるという問題があった。本発明は上述した問題点に鑑みてなされたものであり、GUI部品の描画速度を速くすることを目的とする。
本発明は、GUI部品を描画する画像処理方法であって、GUI部品のサイズを取得するサイズ取得ステップと、GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算されたクリップエリアの和集合に含まれるかどうかを判定する判定ステップと、前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、GUI部品自体の描画処理を行うGUI部品描画ステップと、を有することを特徴とする。
また、本発明は、GUI部品を描画する画像処理方法であって、GUI部品のサイズを取得するサイズ取得ステップと、GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算された矩形に含まれるかどうかを判定する判定ステップと、前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品からクリップエリアの和集合を引いた集合を得る差分取得ステップと、前記差分取得ステップにおいて得られた差分の集合の領域にのみ、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、GUI部品自体の描画処理を行うGUI部品描画ステップと、を有することを特徴とする。
本発明によれば、GUI部品の描画速度を速くすることができる。
また、例えば、実際に描画する前に、GUI部品自体の描画がGUI部品全体に及ぶのかどうかを検査し、GUI部品全体に及ぶ場合は、下地をGUI部品に設定された背景色で塗りつぶす処理を行わない。これにより、例えば、無駄な処理をなくし、GUI部品の描画速度を速くするGUI部品高速描画方法を提供することができる効果がある。また、GUI部品自体の描画ではGUI部品全体を描画しない場合は、GUI部品自体の描画で描画されない部分を割り出し、その部分のみをGUI部品に設定された背景色で塗りつぶす処理を行う。これにより、例えば、余計な描画が起こらず、GUI部品の描画速度を速くするGUI部品高速描画方法を提供することができる効果がある。
(第一の実施形態)
本実施形態の画像処理装置の構成について、図7のブロック図を参照して説明する。画像処理装置としてコンピュータ装置を例に挙げて説明する。図7において、101は、コンピュータ装置100全体を制御するCPU(Central Processing Unit)である。102は、変更を必要としないプログラムやパラメータを格納するROM(Read Only Memory)である。103は、外部記憶装置104等から供給されるプログラムやデータを一時記憶するRAM(Random Access Memory)である。
104は、コンピュータ装置100に固定して設置されたハードディスクやメモリカード、着脱可能なフレキシブルディスク(FD)、CD(Compact Disk)等の光ディスク、磁気や光カード、ICカード、メモリカード等を含む外部記憶装置である。105は、表示画像を記憶するためのVRAM(Video Random Access Memory)である。106は、VRAM105の内容を表示するためのモニタや液晶パネルとの出力インターフェイスである。107は、ユーザの操作を受け、データを入力するポインティングデバイスやキーボード、タッチパネル等の入力デバイスとの入力インターフェイスである。108は、各ユニットを通信可能に接続するシステムバスである。
次に、図7に示すコンピュータ装置100上のWindow System等が行う描画処理について説明する。図8は、本実施形態に係る処理を示すフローチャートである。なお、後述するクリップエリアとは、矩形でありその矩形より描画がはみ出ない領域を示す。また、描画命令とは、矩形塗りつぶし、線をひく、イメージを描画するなどのプリミティブなグラフィック関数のことをいう。また、図8に示すフローチャートの処理は、コンピュータ装置100のCPU101が行う。
まず、ステップS100において、GUI部品の描画命令毎のクリップエリアを取得する(クリップエリア取得手段)。この際、描画クリップエリアを求める対象の描画命令を次に示す。矩形(枠のみ)(よく使われる関数名としては、drawRect)、塗りつぶし矩形(fillRect)、透過処理を行わないイメージの描画(drawImage)、斜め線を含まない線(縦線、横線であり、点の描画を含む)(drawLine)である。上記以外の描画命令として、例えば、円の内側を塗りつぶす描画命令のクリップエリアを考えると、円が接する最大の矩形となる(円はクリップエリアに内接する)。このとき、通常、クリップエリア内であるが円の外側の領域に関しては、この描画命令では何も描画されない。そこで、Window System等が、その部分をGUI部品に設定された背景色で塗らなければならないため、本発明のクリップエリアを得る対象とはしない。
次に、ステップS101に処理を移し、クリップエリアの和集合を取得する(和集合計算手段)。
次に、ステップS102に処理を移し、GUI部品のサイズ取得を行う(サイズ取得手段)。
次に、ステップS103に処理を移し、クリップエリアの和集合計算を行い、これにGUI部品が含まれるか否かを判定し(判定手段)、含まれる場合、ステップS104に処理を移す。
ステップS104において、GUI部品自体の描画処理を行い(GUI部品描画手段)、VRAM105に描くことで処理を終了する。ここでは、このGUI部品を描くために指定されている全ての描画命令を実行する。
ステップS103において、クリップエリアの和集合にGUI部品が含まれない場合、ステップS105に処理を移し、GUI部品の下地をGUI部品に設定された背景色で塗る処理を行う。次に、ステップS104に処理を移し、GUI部品自体の描画処理を行い、処理を終了する。
次に、クリップエリアの和集合について詳しく説明する。
図9に示すように描画のクリップエリアが重なり合うように3つあった場合は、重なる部分を一つにまとめた、図10に示すような図形が和集合である。しかし、このような多角形の図形は表現が難しいため、図11に示すように、和集合を重なりのない(1)〜(3)の矩形の集合で表現してもよい。
次に、和集合にGUI部品が含まれている状態について説明する。例えば、図12に示すようなGUI部品200があったとする。GUI部品200が、描画のクリップエリアの和集合に対して、図13に示すような位置にあったとすると、和集合の中に完全に包含されているため、このような状態をGUI部品が含まれているという。
また、図14に示すような位置にGUI部品200があった場合は、濃い灰色で示した場所が和集合からはみでているため、和集合の中にGUI部品は含まれてはいない。図14では、2個所が和集合からはみでている。
次に、具体的に、差分取得を計算で求めてみる。縦方向は下に行くほどy座標値が大きくなるとして、横方向は右に行くほどx座標値が大きくなるとする。図15に示すように、上記例では、和集合には(1)〜(3)の矩形があり、まずおおまかに、GUI部品200が縦方向に入っているかどうかを調べる。GUI部品200の最小y座標値(この例ではby1)は、和集合の最小y座標値(この例ではy1)以上である。
そして、GUI部品200の最大y座標値(この例ではby2)は、和集合の最大y座標値(この例ではy4)以下である(条件式:y1≦by1 &&(かつ) by2≦y4)ため、縦方向ではGUI部品200は和集合に入っているといえる。
次に横方向であるが、先ず(1)の矩形の高さの間(y1〜y2の間)について調べる。
GUI部品200の左端の点であるbx1が(1)の矩形の左端のx1以上であり、かつ、GUI部品200の右端の点であるbx2が(1)の矩形の右端のx2以下であれば、(1)の矩形にGUI部品200は部分的に含まれているといえる。なお、図15に示す例では含まれている。条件式で表すと以下になる。
x1≦bx1 &&(かつ) bx2≦x2
次に、(2)の矩形の高さの間(y2〜y3の間)について調べる。
GUI部品200の左端の点であるbx1が(2)の矩形の左端のx3以上であり、かつ、GUI部品200の右端の点であるbx2が(2)の矩形の右端のx4以下であれば、(2)の矩形にGUI部品200は部分的に含まれているといえる。なお、図15に示す例では含まれている。条件式で表すと以下になる。
x3≦bx1 &&(かつ) bx2≦x4
最後に(3)の矩形の高さの間(y3〜y4の間)について調べる。
GUI部品200の左端の点であるbx1が(3)の矩形の左端のx5以上であり、かつ、GUI部品200の右端の点であるbx2が(3)の矩形の右端のx6以下であれば、(3)の矩形にGUI部品200は部分的に含まれているといえる。なお、図15に示す例では含まれている。条件式で表すと以下になる。
x5≦bx1 &&(かつ) bx2≦x6
以上のように、(1)〜(3)の高さの間をすべて横幅の面から見ても含まれているため、GUI部品200が和集合に含まれていることがいえる。
(第2の実施形態)
ある矩形の左上の座標のx座標値をXとして、y座標値をYとし、さらに、矩形の幅をWidthとし、高さをHeightとすると、矩形は、(X、Y)−(Width、Height)とあらわすとする。
図16に示すようなイメージが貼られたボタンの描画を考えてみる。第1の実施形態と同様に図8に示すフローチャートに従って処理を進めると、先ずステップS100で、GUI部品の描画命令毎のクリップエリアを得る。
図16に示すボタンのボタン自体の描画には、イメージの描画命令と文字の描画命令がある。ここで、第1の実施形態において、描画クリップエリアを求める対象の描画命令には、文字の描画命令は入ってないため、ここでは文字の描画命令は、考慮に入れない。
つまり、図17のように、文字のクリッピングエリアは、(fx、fy)−(fw、fh)であるが文字の黒い部分のみ描かれて、その他の部分は透過することになる。そのため、本当に描画する部分は文字の部分だけで、矩形では全て表せないため考慮に入れない。イメージの描画クリップエリアは、図18に示すように(0、0)−(w、h)である。
次に、図8に示すフローチャートのステップS101の処理に移り、クリップエリアの和集合を得るが、ここでは、イメージの描画一つしかないため、和集合は、(0、0)−(w、h)である。次に、ステップS102の処理に移り、GUI部品のサイズを取得すると、図19のように(Width、Height)=(w、h)である。GUI部品の左上を原点とし、矩形を表す形にすると、GUI部品の矩形は(0、0)−(w、h)となり、ステップS103に移り、クリップエリアの和集合とGUI部品の矩形とは同じなので、GUI部品がクリップエリアの和集合に含まれる。
そのため、GUI部品の下地をGUI部品に設定された背景色で塗る必要はなく、ステップS104の処理に移り、GUI部品自体の描画処理である、イメージと文字の描画命令とを行うだけでよい。
本発明を適用した場合において、描画結果は、図16に示す画像が得られる。なお、本発明を適用せず、従来どおりに処理を行うと、このボタン部品に背景色として灰色の設定がなされていた場合、先ず、図20に示すような灰色の矩形が下地として塗られる。その上に図18に示すようなイメージと図17に示すような”Button2”という文字が上書きされ図16に示す画像が得られる。得られるものは同じであるが、結局イメージが同じ領域を上書きしてしまうため、図20に示す灰色で下地を塗った処理がまったく無駄である。
組込み機器に見られるように、ハードウェアグラフィックスアクセラレータが搭載されていないシステムでは、矩形の塗りつぶしを行うために、VRAM105へCPU101が介在して塗りつぶし処理が行われる。この間、CPUパワーがとられてしまい、かつ、VRAM105のアクセスが遅い場合は描画全体のスピードにも影響が出るため、無駄なVRAMへの書き込みは行いたくはない。そこで、本発明によれば無駄な矩形描画が省かれるため、高速に描画を行うことができる。
(第3の実施形態)
図21は、本実施形態に係る処理を示すフローチャートである。なお、図21に示すフローチャートのうちステップS100〜ステップS104までは第1の実施形態と同様の処理を行う。また、図21に示すフローチャートの処理は、コンピュータ装置100のCPU101が行う。
ステップS103に処理を移し、クリップエリアの和集合にGUI部品が含まれるか否かを判定する。含まれる場合は、ステップS104に移るところまでは、第1の実施形態と同様である。ステップS103において、クリップエリアの和集合にGUI部品が含まれない場合、ステップS205に処理を移す。ステップS205において、GUI部品からクリップエリアの和集合を引いた集合を取得する(差分取得手段)。次に、ステップS206において、その集合のみ下地を、GUI部品の背景色で塗る処理を行う。次にステップS104に移り、GUI部品自体の描画処理を行い、処理を終了する。
ここで、ステップS205において、GUI部品からクリップエリアの和集合を引いた集合というのは、GUI部品を全体集合とすると、全体集合に属する元のうち、クリップエリアの和集合に属さない補集合のことになる。例えば、図22のようなGUI部品があったとする。このGUI部品の矩形は、(0、0)−(w、h)であり、描画されるものは図23に示すような矩形(x1、y1)−(w1、h1)のイメージである。このとき、描画はイメージのみであるため、クリップエリアの和集合は、イメージの矩形(x1、y1)−(w1、h1)と同じである。
このため、GUI部品からクリップエリアの和集合を引いた集合というのは、図24の外側の灰色の矩形4つで示したものになる。それだけ抜き出した画像を、図25に示す。なお、引いた集合は、図25の灰色の矩形4つのことで、真中の白い矩形はこの集合には入っていない。ここで、ステップS206の処理を行い、今このGUI部品に設定されている背景色を灰色とすると、図26になる。
次に、ステップS104のGUI部品の描画処理を行うと、それは図23のイメージ描画なので、図27に示すようなものとなり、図22と同じものが得られる。従来は、図28のようなGUI部品の矩形の大きさを、GUI部品に設定されている背景色である灰色で塗っていた。
しかし、本実施形態では、図26のように、この後のGUI部品自身の描画処理により描かれる部分の塗りつぶしを省く(図26の白い部分が省かれた部分)。そして、それ以外の必要な部分のみを塗りつぶすことにより(図26の灰色の部分)、VRAM105への余計な転送が行われず、全体として高速なGUI部品描画を行うことができる。
(第4の実施形態)
次に、第3の実施形態と同様に図21に示すフローチャートを用いて、複雑な描画を行うGUI部品について考えてみる。図29に示すボタン部品は、背景色として濃い灰色が指定されたボタン部品である。右上と左下が部品自体では描画されない部分であり、ここが背景となるため濃い灰色となっている。このボタンの部品のサイズは、幅wで、高さがhである。一番薄い灰色部分の矩形のサイズは、幅w1で、高さがh1である。
部品自体の描画だけを順番に行っていくと、まず、図30に示すように、黒色で枠(幅w1で、高さがh1)が描かれる。次に、図31に示すようにその枠の中身が薄い灰色の矩形(幅w1で、高さh1)で塗りつぶされる。次に、図32に示すように、右側の縦の影を示す少し濃い目の灰色で矩形が塗りつぶされる。次に、図33に示すように、下側の横の影を示す少し濃い目の灰色で矩形が塗りつぶされる。最後に”Button1”という文字が黒で書かれる。
ここで、第1の実施形態において、描画クリップエリアを求める対象の描画命令には、文字は入ってない。そのため、文字描画は考慮に入れずに、このボタン部品の描画命令毎のクリップエリアの和集合を図21に示すフローチャートのステップS101で求めたものは、図35に示すようなものになる。ステップS102のボタン部品のサイズ(幅wで、高さがh)を点線の矩形で図に示すと図36に示すようになる。次に、ステップS103において、クリップエリアの和集合はボタン部品に含まれるかを判定する。ここでは、欠けている部分があり、含まれていないと判定されるため、ステップS205に処理を移す。
ステップS205において、ボタン部品からクリップエリアの和集合を引くと、図37に示すように2つの矩形(右上と左下の小さい矩形)を取得する。
次に、ステップS206に移り、この矩形部分のみ設定された背景色の濃い灰色で塗ると図38に示すようになり、ステップS104に移り、ボタン部品自体の描画処理を行うと(図34に相当)、図39に示すようになり、最初の図29と同様の結果が得られる。
このように、本実施形態に示される方法を用いれば、従来技術のように、図40のようにボタン部品の領域全てをボタン部品に設定された背景色で塗らなくてもよい。また、部品の描画に際し、必要最低限の図38に示すような背景があらわれる領域のみを、ボタン部品に設定された背景色で塗ることで、従来技術と同様の部品描画結果が得られる。そのため、無駄な描画が発生せず、VRAMへのアクセスが遅い組み込み機器においては、GUI部品の描画の高速化を図ることができる。
(他の実施形態)
第1〜第4の実施形態において、GUI部品の例として、ボタン部品をあげているが、本発明は、ボタン部品に限ったものではない。例えば、リストやメニューやチェックボックスやチョイスやスクロールバーなどや、ウィンドウやパネルやダイアログなどのGUI部品全てに対して有効である。
本発明の目的は、上述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給することである。また、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が前記記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、以下を用いることができる。
例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどである。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。そしてその後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行う。そして、その処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
従来技術について説明するための図である。 従来技術について説明するための図である。 従来技術について説明するための図である。 従来技術について説明するための図である。 従来技術について説明するための図である。 従来技術について説明するための図である。 本発明に係る画像処理装置の構成を示す図である。 第1の実施形態に係る画像処理を示すフローチャートである。 クリップエリアの和集合について説明するための図である。 クリップエリアの和集合について説明するための図である。 クリップエリアの和集合について説明するための図である。 第1の実施形態に係るクリップエリアの和集合にGUI部品が含まれる状態について説明するための図である。 第1の実施形態に係るクリップエリアの和集合にGUI部品が含まれる状態について説明するための図である。 第1の実施形態に係るクリップエリアの和集合にGUI部品が含まれる状態について説明するための図である。 第1の実施形態に係るクリップエリアの和集合にGUI部品が含まれる状態について説明するための図である。 第2の実施形態に係るGUI部品描画の流れを説明するための図である。 第2の実施形態に係るGUI部品描画の流れを説明するための図である。 第2の実施形態に係るGUI部品描画の流れを説明するための図である。 第2の実施形態に係るGUI部品描画の流れを説明するための図である。 第2の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係る画像処理を示すフローチャートである。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第3の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。 第4の実施形態に係るGUI部品描画の流れを説明するための図である。
符号の説明
100 コンピュータ装置
101 CPU
102 ROM
103 RAM
104 外部記憶装置
105 VRAM
106 出力インターフェイス
107 入力インターフェイス
108 システムバス

Claims (6)

  1. GUI部品を描画する画像処理方法であって、
    GUI部品のサイズを取得するサイズ取得ステップと、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、
    前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、
    前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算されたクリップエリアの和集合に含まれるかどうかを判定する判定ステップと、
    前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、
    GUI部品自体の描画処理を行うGUI部品描画ステップと、を有することを特徴とする画像処理方法。
  2. GUI部品を描画する画像処理方法であって、
    GUI部品のサイズを取得するサイズ取得ステップと、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、
    前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、
    前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算された矩形に含まれるかどうかを判定する判定ステップと、
    前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品からクリップエリアの和集合を引いた集合を得る差分取得ステップと、
    前記差分取得ステップにおいて得られた差分の集合の領域にのみ、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、
    GUI部品自体の描画処理を行うGUI部品描画ステップと、を有することを特徴とする画像処理方法。
  3. GUI部品を描画する画像処理装置であって、
    GUI部品のサイズを取得するサイズ取得手段と、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得手段と、
    前記クリップエリア取得手段において取得されたクリップエリアの和集合を計算する和集合計算手段と、
    前記サイズ取得手段において取得されたサイズが、前記和集合計算手段により計算されたクリップエリアの和集合に含まれるかどうかを判定する判定手段と、
    前記判定手段においてサイズが和集合に含まれないと判定された場合、GUI部品の下地をGUI部品に設定された背景色で塗る手段と、
    GUI部品自体の描画処理を行うGUI部品描画手段と、を有することを特徴とする画像処理装置。
  4. GUI部品を描画する画像処理装置であって、
    GUI部品のサイズを取得するサイズ取得手段と、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得手段と、
    前記クリップエリア取得手段において取得されたクリップエリアの和集合を計算する和集合計算手段と、
    前記サイズ取得手段において取得されたサイズが、前記和集合計算手段により計算された矩形に含まれるかどうかを判定する判定手段と、
    前記判定手段においてサイズが和集合に含まれないと判定された場合、GUI部品からクリップエリアの和集合を引いた集合を得る差分取得手段と、
    前記差分取得手段において得られた差分の集合の領域にのみ、GUI部品の下地をGUI部品に設定された背景色で塗る手段と、
    GUI部品自体の描画処理を行うGUI部品描画手段と、を有することを特徴とする画像処理装置。
  5. GUI部品を描画するコンピュータに、
    GUI部品のサイズを取得するサイズ取得ステップと、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、
    前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、
    前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算されたクリップエリアの和集合に含まれるかどうかを判定する判定ステップと、
    前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、
    GUI部品自体の描画処理を行うGUI部品描画ステップと、を実行させるためのプログラム。
  6. GUI部品を描画するコンピュータに、
    GUI部品のサイズを取得するサイズ取得ステップと、
    GUI部品を描画する描画命令毎のクリップエリアを取得するクリップエリア取得ステップと、
    前記クリップエリア取得ステップにおいて取得されたクリップエリアの和集合を計算する和集合計算ステップと、
    前記サイズ取得ステップにおいて取得されたサイズが、前記和集合計算ステップにより計算された矩形に含まれるかどうかを判定する判定ステップと、
    前記判定ステップにおいてサイズが和集合に含まれないと判定された場合、GUI部品からクリップエリアの和集合を引いた集合を得る差分取得ステップと、
    前記差分取得ステップにおいて得られた差分の集合の領域にのみ、GUI部品の下地をGUI部品に設定された背景色で塗るステップと、
    GUI部品自体の描画処理を行うGUI部品描画ステップと、を実行させるためのプログラム。
JP2008011616A 2008-01-22 2008-01-22 画像処理方法、画像処理装置及びプログラム Pending JP2009175857A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008011616A JP2009175857A (ja) 2008-01-22 2008-01-22 画像処理方法、画像処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008011616A JP2009175857A (ja) 2008-01-22 2008-01-22 画像処理方法、画像処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2009175857A true JP2009175857A (ja) 2009-08-06

Family

ID=41030905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008011616A Pending JP2009175857A (ja) 2008-01-22 2008-01-22 画像処理方法、画像処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP2009175857A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050459A1 (ja) 2008-10-29 2010-05-06 パナソニック電工株式会社 視標呈示装置、画像表示システムおよび車載用表示装置
CN111562955A (zh) * 2020-02-27 2020-08-21 华为技术有限公司 终端设备主题色彩的配置方法、装置和终端设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050459A1 (ja) 2008-10-29 2010-05-06 パナソニック電工株式会社 視標呈示装置、画像表示システムおよび車載用表示装置
CN111562955A (zh) * 2020-02-27 2020-08-21 华为技术有限公司 终端设备主题色彩的配置方法、装置和终端设备
WO2021169991A1 (zh) * 2020-02-27 2021-09-02 华为技术有限公司 终端设备主题色彩的配置方法、装置和终端设备
CN111562955B (zh) * 2020-02-27 2022-02-08 华为技术有限公司 终端设备主题色彩的配置方法、装置和终端设备

Similar Documents

Publication Publication Date Title
US7053905B2 (en) Screen display processing apparatus, screen display processing method and computer program
US6069633A (en) Sprite engine
EP3111318B1 (en) Cross-platform rendering engine
CA2645746C (en) Method and graphical interface for embedding animated content into a computer application
CN105069834B (zh) 一种游戏图像渲染方法及系统
US20160292812A1 (en) Hybrid 2d/3d graphics rendering
US11069020B2 (en) Graphics processing using multiple primitives
AU2012216432A1 (en) Method, system and apparatus for rendering a graphical object
US9153193B2 (en) Primitive rendering using a single primitive type
JP2009175857A (ja) 画像処理方法、画像処理装置及びプログラム
Haase et al. Filthy rich clients: Developing animated and graphical effects for desktop java applications
JP2008017065A (ja) 電子黒板装置および電子黒板装置における画像処理方法並びにそのプログラム
JPH11272846A (ja) 図形表示装置
US8223123B1 (en) Hardware accelerated caret rendering
CN112233206B (zh) 字符图像生成方法、装置、设备及存储介质
CN110147260B (zh) 实现场景过渡动画的方法、介质、装置和计算设备
JP4715435B2 (ja) グラフィカルユーザインタフェース表示情報作成システムおよびプログラム
JP3553249B2 (ja) 画像生成装置及び画像生成方法
JP3238188B2 (ja) フレームメモリ制御装置及びフレームメモリ制御方法
JP3776416B2 (ja) 画像生成装置及び画像生成方法
KR101360592B1 (ko) 애니메이션 생성방법 및 장치
JP2937910B2 (ja) パワーマネジメントシステムおよび方法
JP2005148995A (ja) 画像表示装置ならびにその表示方法、表示プログラム
JP3895806B2 (ja) 線画演算処理方法および処理装置
JP4563070B2 (ja) ゲーム装置及びゲームプログラム