<第1実施例>
図1は、この発明の一実施例である情報処理装置の電気的な構成の一例を示すブロック図である。
図1を参照して、この発明の第1実施例である情報処理装置10はCPU12を含む。CPU12には、バス30を介してRAM14、タッチパネル制御回路16および描画制御回路18が接続される。また、タッチパネル制御回路16にはタッチパネル20が接続され、描画制御回路18にはディスプレイ22が接続される。
この第1実施例では、情報処理装置10は、電子黒板、タブレット端末、スマートフォン、PCなどの各種の情報機器ないし電子機器に適用される。
また、この第1実施例では、入力手段の一例として、タッチパネル20が用いられる場合について説明するが、タッチパネル20以外の入力手段として、たとえばコンピュータマウス、タッチパッド、ペンタブレットなどのポインティングデバイスを用いてもよい。また、情報処理装置10には、他の入力手段として、操作パネルのようなハードウェアキーが設けられたり、ハードウェアのキーボードが接続されたりすることがある。
図1に戻って、CPU12は、情報処理装置10の全体的な制御を司る。RAM14は、CPU12のワーク領域およびバッファ領域として用いられる。
タッチパネル制御回路16は、タッチパネル20に必要な電圧などを付与するとともに、タッチパネル20のタッチ有効範囲内でのタッチ操作(タッチ入力)を検出して、そのタッチ入力の位置を示すタッチ座標データをCPU12に出力する。
タッチパネル20は、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。この第1実施例では、タッチパネル20としては、静電容量方式のタッチパネルがディスプレイ22の表示面上に設けられる。
描画制御回路18は、GPUおよびVRAMなどを含んでおり、CPU12の指示の下、GPUは、RAM14に記憶された手書き入力データ332、画像生成データ334および静止画像データ336(図7参照)などを用いてディスプレイ22に画面(後述するタッチ画面100)を表示するための画像データをVRAMに生成し、生成した画面をディスプレイ22に表示する。ディスプレイ22としては、たとえばLCDやEL(Electro-Luminescence)ディスプレイなどを用いることができる。
このような構成の情報処理装置10では、手書き入力モードにおいて、ユーザがタッチパネル20を利用して文字、図形、記号など(以下、「文字等」ということがある。)を手書き入力(タッチ入力)すると、タッチパネル制御回路16は、そのタッチ入力を検出してタッチ位置に対応するタッチ座標データをCPU12に出力する。CPU12は、タッチパネル制御回路16から出力されたタッチ座標データに基づいてディスプレイ22に手書きの文字等を描画(表示)する。つまり、CPU12の指示の下、描画制御回路18において手書きの文字等がVRAM上に描画され、VRAM上に描画された手書きの文字等を含む画像に対応する画像データがディスプレイ22に出力される。したがって、ユーザが手書きした文字等を含む画像がディスプレイ22に表示される。以下、この明細書においては、ユーザが文字を手書きすることを前提とし、手書き文字を含む画像を「手書き画像」と呼ぶことにする。
図2(A)は、手書きが開始される前のタッチ画面100(初期画面)の一例を示す図解図である。つまり、図2(A)は、描画アプリケーションを実行し、手書き入力モードを開始した当初のタッチ画面100を示す。また、図2(B)はタッチ画面100の他の例を示す図解図である。
たとえば、手書き入力モードでは、図2(A)および(B)に示すように、タッチ画面100がディスプレイ22に表示される。なお、上述したように、ディスプレイ22の表示面上にはタッチパネル20が設けられる(図4および図5についても同じ)。以下、タッチ画面100が表示される場合について同様である。タッチ画面100の左端部には、それぞれ所定の機能を発揮するボタン(機能ボタン)や描画の属性を設定するためのボタン(属性ボタン)の画像が表示される。この第1実施例では、ペンボタン102、消しゴムボタン104および色選択ボタン106が表示される。ペンボタン102は、文字等を手書きする機能を実行する(モードを設定する)ためのボタンである。消しゴムボタン104は、手書きの線を消す機能を実行する(モードを設定する)ためのボタンである。色選択ボタン106は、線色を選択する機能を実行する(モードを設定する)ためのボタンである。
図示は省略するが、タッチ画面100には、線種、線幅(太さ)を選択するための属性ボタンや上記以外の機能(新規ページを開く、画像を開く(挿入する)、保存、元に戻すなど)を選択するためのボタンなども表示される。
たとえば、ユーザは、タッチペン(スタイラスペン)110でタッチパネル20を操作する。ただし、ユーザは、手指で操作することもできる。タッチパネル20を用いた操作(入力)としては、タップ(短押し)、スライド(ドラッグ)、フリック、ロングタッチ(長押し)などがあり、この第1実施例では、これらを「タッチ入力」または単に「入力」のように総称する。また、タッチパネル20をタッチしていない状態からタッチしている状態に変化することをタッチオン(ペンダウン)と言い、タッチパネル20をタッチしている状態からタッチしていない状態に変化することをタッチオフ(ペンアップ)と言う。継続的なタッチ入力つまりスライドやフリックによる入力に対しては、タッチパネル20は、現在のタッチ位置に対応するタッチ座標データを所定周期よりも短い周期で出力する。たとえば、所定周期は、1〜数フレームであり、1フレームは1/30秒または1/60秒である。
情報処理装置10の一例である一般的な電子黒板では、ユーザが文字等を手書きすると、手書きされた文字等がタッチ画面100に表示(描画)される。つまり、手書きの文字等を含む手書き画像がディスプレイ22(タッチ画面100)に表示される。このとき、手書き画像は、設定された属性情報(線種、線色、線幅)に従って描画(表示)される。また、ユーザの操作に従って、予め記憶された画像(静止画像)をディスプレイ22(タッチ画面100)に表示する(貼り付ける)こともできる。図2(B)には、所定の色が付された円120および静止画像130が表示されたタッチ画面100の例が示される。
ただし、図2(B)(図4および図5も同様)では、所定の色が付されていることを、斜線を付すことにより表現してある。
通常、このような情報処理装置10では、色選択ボタン106がタッチされると、図3に示すような色選択画面200がタッチ画面100の前面に表示される。色選択画面200は、カラーパレットが表示される領域202およびカラースペクトルが表示される領域204を含む。領域202には、予め色が設定された複数のボタン212が表示されるとともに、ユーザが色を設定可能なボタン214が表示される。領域204には、異なる色が付された複数の縦長の帯が横方向に並んで配列される。各帯では、縦方向において、色の濃淡が変化される。
ただし、図面の都合上、図3においては、カラーパレットの各ボタン212に付された色を文字で表現してある。また、カラースペクトルを、濃淡の異なるモノクロで示してある。
たとえば、ユーザは、所望の色が付されたボタン212をタッチしたり、所望の色が表示されたカラースペクトル上の位置をタッチしたりして、ボタン212に設定された色やカラースペクトル上でタッチした位置の色を線色として選択(設定)することができる。また、ボタン214がタッチされた場合には、その後に、カラースペクトル等を用いて設定された色が当該ボタン214に設定される。ボタン214に色が設定される(割り当てられる)と、これ以降では、ボタン214は、ボタン212と同様に機能する。
なお、色を選択せずに、色選択画面200を閉じた場合には、色の選択(線色の設定)がキャンセルされ、通常の手書き入力モードに戻る。
このような色選択画面200において、所望の色がカラーパレットに設けられている場合には、所望の色が付されたボタン212をタッチするだけなので、所望の色を簡単に設定することができる。しかし、所望の色がカラーパレットに設けられていない場合には、カラースペクトルから所望の色を選択する必要があり、困難である。たとえば、静止画像130に使われている色を線色として設定したい場合に、カラーパレットのスペクトルから色を指定(選択)するのは困難である。
このため、色を測定するセンサを備えるタッチペンを使用し、測定した色をタッチペンまたは情報処理装置10に設定することも考えられるが、センサ等を備えるため、高価である。
そこで、この第1実施例では、色を測定するセンサを備える高価なタッチペンを用いずに、ユーザが指定した所望の色を線色として情報処理装置10に簡単に設定するようにしてある。
簡単に説明すると、ユーザが、タッチ画面100に表示された円120や静止画像130などの画像(表示画像)において、所望の色で表示されている位置ないし部分をタッチ(指示)すると、指示された位置(タッチ位置)に対応する表示位置(表示画像)の色を線色として設定(指定)することができる。
ただし、表示画像をタッチして線色を設定する場合には、当該表示画像上に文字等を描画しないようにするため、文字等を手書きするモードなどの他のモードとは区別する必要がある。このため、図4(A)(図4(B)および図5(A)も同様)に示すように、タッチ画面100には、表示画像をタッチして任意の色を線色として指定(設定)するモード(色指定モード)を設定するためのボタン(色指定ボタン)108が表示される(設けられる)。
図4(A)に示すように、ユーザがボタン108をタッチすると、色指定モードが設定される。次に、ユーザが静止画像130をタッチすると、タッチ位置に応じた表示位置(静止画像130の位置)の色が取得される。静止画像130のような画像のデータでは、画素毎の色が決定されており、決定されている色で各画素が表示される。したがって、ユーザがタッチした位置に応じた静止画像130の色(色情報)をディスプレイ22の出力すなわちVRAMに描画した画像データから取得することができる。
すると、図5(A)に示すような色指定画面250がタッチ画面100の前面に表示される。この色指定画面250は、指定された色を表示するための長方形の表示領域252が設けられ、この表示領域252の下方に、色情報(RGB値)を表示および変更するための領域260、領域262、領域264が横に並んで表示される。領域260は、R(赤)の値を表示および変更するための領域である。領域262は、G(緑)の値を表示および変更するための領域である。そして、領域264は、B(青)の値を表示および変更するための領域である。また、色指定画面250には、領域260〜264の下方に、ボタン270およびボタン272が設けられる。ボタン270は、指定された色を線色に設定することを決定するためのボタンである。ボタン272は、指定された色を線色に設定することを中止(キャンセル)するためのボタンである。
色指定画面250が表示された当初では、表示領域252は、タッチ画面100においてユーザがタッチしたタッチ位置に対応する表示位置(たとえば、静止画像130の位置)の色で表示される(塗り潰される)。また、領域260〜264に表示された値を変化させることにより、表示領域252の色が変化される。領域260〜264に表示されたRGB値の各々は、領域260、262、264内に設けられた上昇ボタンまたは下降ボタンをタッチすることにより、変化される。したがって、タッチにより指定した色が所望の色と異なる場合には、RGB値を変更することにより、所望の色に変更することができる。
そして、ボタン270がタッチされると、領域260〜264に表示された値で決定される色が線色として設定される。一方、ボタン272がタッチされると、指定された色を用いて線色を設定すること(色指定モード)がキャンセルされる。
たとえば、図5(A)に示す色指定画面250において指定された色が線色として設定されると、図5(B)に示すように、手書きされた文字等が、設定(指定)された線色でタッチ画面100(ディスプレイ22)に描画される。
上述したように、色指定画面250が表示される場合には、タッチ画面100でタッチされた位置に対応する静止画像130の色(表示色)が取得され、表示領域252は取得された色で塗り潰される。
ただし、タッチパネル20の検出単位(ブロック)と、ディスプレイ22の画素の大きさ(範囲)が異なるため、この第1実施例では、取得する色を、検出単位に相当する範囲に含まれる複数の画素の色(色情報)から所定のルールに従って決定するようにしてある。ただし、検出単位は、タッチパネル20から出力される一つのタッチ座標(タッチ位置)に対応するタッチパネル20の検出面における範囲である。この第1実施例では、検出単位の範囲に相当するディスプレイ22の表示面の範囲に含まれる複数の画素のうち、同じ色(色情報)を有する画素の数が最大となる色が取得する色として決定される。
図6(A)は、タッチパネル20の検出領域の一部を示す図解図であり、図6(B)は、この検出領域の一部に対応するディスプレイ22の表示領域の一部を示す図解図である。ただし、図6(A)に示す検出領域の大きさと、図6(B)に示す表示領域の大きさは同じである。
図6(A)および図6(B)に示すように、検出領域の一部が3×3個のブロック(検出単位)K1〜K9を含むのに対して、表示領域の一部は9×9個の画素を含む。したがって、図6(B)から良く分かるように、一つのブロックに相当する大きさ(範囲)には、3×3個の画素が含まれる。図6(A)および図6(B)に示す例では、ブロックK1に対応して、画素E1〜E9が設けられる。
したがって、静止画像130のタッチ位置(タッチ座標)がブロックK1を指示するとき、対応する複数の画素E1〜E9から、最も多い色が取得される。ただし、この第1実施例では、各画素E1〜E9の色情報(RGB値)が検出され、最も多い色情報で決定される色が取得される。そして、取得された色が、色指定画面250を表示するときに、表示領域252に付される色に使用される。
情報処理装置10の上記のような動作は、CPU12がRAM14に記憶された情報処理プログラムを実行することにより実現される。この第1実施例では、情報処理プログラムの一例として、手書きされた文字等を描画したり保存したりする描画アプリケーションについてのプログラム(描画プログラム)が実行される。具体的な処理については、後でフロー図を用いて説明する。
図7は図1に示したRAM14のメモリマップ300の一例を示す。図7に示すように、RAM14は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、描画プログラムが記憶される。描画プログラムは、入力検出プログラム310、画像生成プログラム312、表示プログラム314および色指定プログラム316を含む。
入力検出プログラム310は、タッチパネル制御回路16から出力されたタッチパネル20におけるタッチ入力のタッチ位置を示すタッチ座標データを取得し、データ記憶領域304に記憶するためのプログラムである。ただし、入力検出プログラム310は、情報処理装置10に接続されたハードウェアのキーボードや情報処理装置10に設けられたハードウェアの操作パネルないし操作ボタンからの入力を検出するためのプログラムでもある。
画像生成プログラム312は、後述する画像生成データ334を使用したり、後述する手書き入力データ332を使用したり、後述する静止画像データ336を使用したりして、タッチ画面100に対応する画像データを生成するためのプログラムである。具体的には、画像生成プログラム312が実行されると、CPU12の指示の下、描画制御回路18において、GPUがタッチ画面100に対応する画像データをVRAMに描画する。表示プログラム314は、画像生成プログラム312に従って生成された画像データをディスプレイ22に出力するためのプログラムである。したがって、タッチ画面100がディスプレイ22に表示される。
色指定プログラム316は、タッチ画面100に表示された静止画像130などの画像において、入力検出プログラム310に従って検出されたタッチ座標データ330が示すタッチ位置に対応する表示位置の色を所定のルールに従って取得し、ユーザの操作に従って、取得した色または当該色を変更した色を、線色として設定(変更)するためのプログラムである。
なお、図示は省略するが、描画プログラムには、各種の機能を選択および実行するためのプログラムやカラーパレットやカラースペクトルを用いて線色を設定(変更)するためのプログラムなども記憶される。
データ記憶領域304には、タッチ座標データ330、手書き入力データ332、画像生成データ334、静止画像データ336、指定色データ338および属性情報データ340などが記憶される。
タッチ座標データ330は、入力検出プログラム310に従って検出(取得)された現在の(現フレームにおける)タッチ座標データである。タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタン(102〜108など)の表示領域に含まれる場合には、当該ボタンに割り当てられた機能を実行したり、線色などの属性を設定したりする。また、タッチ座標データ330が示すタッチ座標がタッチ画面100に表示されたボタン(102〜108など)の表示領域に含まれていない場合には、手書き画像に含まれるタッチ座標であると判断されて、手書き入力データ332として記憶する。
手書き入力データ332は、手書き画像についてのデータであり、具体的には、タッチオンからタッチオフまでのタッチ入力の軌跡に対応する線のデータ(座標データ群)を、線毎に記憶するデータである。ただし、線は、タッチオンとタッチオフの2点間を結ぶ直線のみならず、曲線(閉曲線)、折れ線、波線も含む。また、閉曲線は、端部のない(始点および終点が同じ位置にある)閉じた線であり、典型的には、円や四角形などの多角形である。ただし、手書きするため、始点と終点が一致するとは限らない。
画像生成データ334は、タッチ画面100のような各種の画面に対応する画像データを生成するためのポリゴンデータやテクスチャデータなどのデータである。また、画像生成データ334には、タッチ画面100に表示される各種のボタンについての画像データも含まれる。
静止画像データ336は、イラストや写真などの静止画像についてのデータであり、ユーザの操作によって、他のコンピュータから読み込まれたり(ダウンロードされたり)、情報処理装置10に着脱可能な外部記憶媒体から読み込まれたりする。静止画像は、一枚に限定される必要はなく、二枚以上であってもよい。ただし、静止画像データ336は、情報処理装置10に設けられる不揮発性のメモリに予め記憶されて、この不揮発性のメモリから読み込まれてもよい。不揮発性のメモリとしては、HDDやフラッシュメモリを用いることができる。ただし、図1では、不揮発性のメモリは省略してある。
指定色データ338は、色指定モードが設定されたときに取得および変更される指定色の色情報についてのデータである。具体的には、RGB値についての数値データである。
属性情報データ340は、情報処理装置10またはタッチペン110に設定された描画についての属性情報(線種、線色および線幅)についてのデータである。
なお、データ記憶領域304には、描画プログラムの実行に必要な他のデータが記憶されたり、描画プログラムの実行に必要なタイマ(カウンタ)やレジスタが設けられたりする。
図8および図9は図1に示したCPU12の描画制御処理を示すフロー図である。たとえば、描画プログラムが実行され、ユーザの指示によって、またはデフォルトの設定によって、手書き入力モードが選択される。すると、図8に示すように、CPU12は、描画制御処理を開始し、ステップS1で、初期処理を実行する。このステップS1の初期処理では、CPU12は、データ記憶領域304のタッチ座標データ330を消去したり、画像生成データ334および静止画像データ336などを不揮発性のメモリから読み出したりした上で、初期のタッチ画面100をディスプレイ22に表示する。つまり、CPU12の指示の下、描画制御回路18によって、図2(A)に示したような初期のタッチ画面100の画像データが生成(描画)され、ディスプレイ22に出力される。
ただし、静止画像データ336は、描画制御処理の実行中に、後述するステップS11において、ユーザの操作に従って、通信可能に接続された他のコンピュータや情報処理装置10に着脱可能な外部記憶媒体(メモリカードなど)から読み出される場合もある。
次のステップS3では、タッチオンかどうかを判断する。このステップS3では、CPU12は、データ記憶領域304を参照して、タッチ座標データ330が記憶されていない状態からタッチ座標データ330が記憶されている状態に変化したかどうかを判断する。以下、タッチオンかどうかを判断する場合において同じ。
ただし、図示は省略するが、CPU12は、タッチパネル制御回路16から出力されたタッチパネル20におけるタッチ入力のタッチ位置を示すタッチ座標データを取得して、データ記憶領域304に記憶する処理(タッチ入力検出処理)を描画制御処理と並行して実行する。
ステップS3で“NO”であれば、つまり、タッチオンでなければ、同じステップS3に戻り、タッチオンになるのを待機する。一方、ステップS3で“YES”であれば、つまり、タッチオンであれば、ステップS5で、終了かどうかを判断する。ここでは、CPU12は、ユーザから描画プログラムの終了が指示されたかどうかを判断する。ステップS5で“YES”であれば、つまり終了であれば、描画制御処理を終了する。
一方、ステップS5で“NO”であれば、つまり終了でなければ、ステップS7で、色指定ボタンがタッチされたかどうかを判断する。つまり、CPU12は、ボタン108がタッチされたかどうかを判断する。ただし、CPU12は、取得したタッチ座標データ330が示すタッチ位置がボタン108の表示領域を指示するかどうかを判断する。以下、ボタンがタッチされたかどうかを判断する場合について同様である。
ステップS7で“YES”であれば、つまり色指定ボタンがタッチされれば、図9に示すステップS19に進む。一方、ステップS7で“NO”であれば、つまり色指定ボタンがタッチされていなければ、ステップS9で、他のボタンがタッチされたかどうかを判断する。
ステップS9で“YES”であれば、つまり他のボタンがタッチされれば、ステップS11で、他のボタンに応じた処理を実行して、ステップS3に戻る。ステップS11では、CPU12は、たとえば、消しゴム機能を実行したり、手書き画像をコピーしたり、静止画像(130など)を表示したり(貼り付けたり)、手書き画像を保存したり、属性情報を設定(変更)したりする。
一方、ステップS9で“NO”であれば、つまり他のボタンがタッチされていなければ、ステップS13で、タッチ座標を手書き入力として記憶する。続いて、ステップS15では、タッチ入力に従って手書きされた文字等をディスプレイ22に表示する。つまり、ステップS15では、上述したように、CPU12の指示の下、描画制御回路18のGPUが手書き入力データ332などを用いて手書き画像を含むタッチ画面100の画像データをVRAMに描画し、ディスプレイ22に出力する。したがって、手書き入力中では、タッチ入力に従う複数の点によって線が描画され、一本または複数本の線によって文字等の手書き画像が描画される。
そして、ステップS17では、タッチオフであるかどうかを判断する。ここでは、CPU12は、データ記憶領域304を参照して、タッチ座標データ330が記憶されていないかどうかを判断する。ステップS17で“NO”であれば、つまり、タッチオンの状態が継続していれば、ステップS13に戻る。したがって、タッチ入力に従って手書き入力データ332のうち、描画中の線についてのデータが更新されるとともに、タッチ入力に従って線が表示(描画)される。一方、ステップS17で“YES”であれば、つまり、タッチオフであれば、ステップS3に戻る。
上述したように、ステップS7で“YES”であれば、図9に示すステップS19で、色指定モードを設定する。そして、ステップS21で、タッチオンかどうかを判断する。
ステップS21で“NO”であれば、つまりタッチオンでなければ、同じステップS21に戻る。一方、ステップS21で“YES”であれば、つまりタッチオンであれば、ステップS23で、タッチ位置(タッチ座標)に対応する表示位置に含まれる全画素の色を取得する。次のステップS25では、取得した全画素の色から、最も多い色を指定色として決定し、これを取得する。そして、ステップS27で、取得した指定色を用いて、図5(A)に示したような色指定画面250をタッチ画面100の前面に表示する。
続いて、ステップS29では、指定色を決定したかどうかを判断する。ここでは、CPU12は、ボタン270がタッチされたかどうかを判断する。ステップS29で“NO”であれば、つまり指定色を決定していなければ、ステップS31で、色が変更されたかどうかを判断する。ここでは、CPU12は、RGB値のうち、少なくとも一つの値が変更されたかどうかを判断する。
上述したように、ユーザは、上昇ボタンまたは下降ボタンをタッチして、Rの値、Gの値、Bの値を変更する。つまり、指定色データ338が更新される。これによって、表示領域252の色が変更される。また、このとき、領域260、領域262、領域264の表示も変更される。
ステップS31で“NO”であれば、つまり色が変更されていなければ、そのままステップS29に戻る。一方、ステップS31で“YES”であれば、つまり色が変更されれば、ステップS33で、指定色を変更して、ステップS29に戻る。ステップS33では、CPU12の指示の下、GPUが、表示領域252に付された色を変更する。
なお、ステップS31で“NO”であれば、そのままステップS29に戻るようにしてあるが、ボタン272がタッチされた場合には、指定色による線色の設定(色指定モード)をキャンセルして、図8に示したステップS3に戻る。このとき、色指定画面250は非表示される(閉じられる)。
また、ステップS29で“YES”であれば、つまり指定色を決定すれば、ステップS35で、線色を指定色に設定(変更)して、ステップS3に戻る。ステップS35では、CPU12は、指定色データ338で属性情報データ340に含まれる線色のデータを更新(上書き)する。
この第1実施例によれば、タッチ画面に表示された画像をタッチすると、タッチ位置に対応する画像の色を線色として設定できるので、色を測定するようなセンサを有する高価なタッチペンを用いずに、所望の色を線色として簡単に設定することができる。
なお、この第1実施例では、静止画像130のような画像がタッチ画面100に表示されていることを前提に説明したが、これに限定される必要はない。たとえば、色指定モードが設定された場合に、タッチ画面100に何ら画像が表示されていない場合には、画像を表示するべきことをメッセージまたは音(音声)或いはそれらの両方で報知するようにしてもよい。ただし、スピーカ等の音を出力するためのコンポーネントは図1では省略してある。
または、タッチ画面100に何ら画像が表示されていない場合には、色指定モードを設定するボタン108をタッチできないようにしてもよい。たとえば、ボタン108を非表示したり、ボタン108をグレーアウト表示したりして、ボタン108をタッチできないようにすることができる。
また、第1実施例では、複数の画素の色のうち、最も多い色を指定色として取得するようにしたが、これに限定される必要はない。たとえば、各画素の色の成分(RGB値)に着目し、RGB値の各成分について最も多い値を抽出して、抽出したRGB値で決定される色を指定色として取得するようにしてもよい。
さらに、第1実施例では、一つのタッチ位置に対応する表示位置に九つ(3×3)の画素が含まれる場合について説明したが、これは一例であり、限定されるべきでない。使用するタッチパネル20およびディスプレイ22に応じて適宜変更される。たとえば、一つのタッチ位置に対応する表示位置に、四つ(2×2)の画素が含まれる場合や十六(4×4)の画素が含まれる場合もある。
<第2実施例>
第2実施例の情報処理装置10は、タッチされた位置に応じた指定色を決定する方法が異なる以外は、第1実施例と同じであるため、重複した説明は省略することにする。
第2実施例では、タッチ位置に対応する表示位置に含まれる表示画像の全画素の色を平均して指定色を決定し、決定した指定色を取得する。つまり、タッチ位置に対応する表示位置に含まれる全画素のRGB値の各成分について平均値が算出される。
この第2実施例の描画制御処理は、第1実施例で示した描画制御処理と一部の処理が異なる以外は同じである。具体的には、図10に示すように、図8および図9に示した描画制御処理のうち、ステップS25に代えて、ステップS25aの処理が実行される。上述したように、ステップS25aでは、タッチ位置に対応する位置に含まれる表示画像の全画素の色情報を平均して指定色を決定し、決定した指定色を取得する。
この第2実施例においても、第1実施例と同様に、所望の色を線色として簡単に設定することができる。
<第3実施例>
第3実施例の情報処理装置10は、タッチされた位置に応じた指定色を決定する方法が異なる以外は、第1実施例と同じであるため、重複した説明は省略することにする。
第3実施例では、タッチ位置に対応する表示位置に含まれる全画素のうち、代表の画素の色を指定色として決定し、決定した指定色を取得する。たとえば、代表の画素は、全画素のうちの中心の画素である。ただし、中心の画素に限定される必要はなく、代表の画素はユーザによって設定されてもよい。
この第3実施例の描画制御処理は、第1実施例で示した描画制御処理と一部の処理が異なる以外は同じである。具体的には、図11に示すように、図8および図9に示した描画制御処理のうち、ステップS23に代えて、ステップS23aの処理が実行されるとともに、ステップS25に代えて、ステップS25bの処理が実行される。上述したように、ステップS23aでは、タッチ位置に対応する表示位置に含まれる全画素のうち、代表の画素(たとえば、中心の画素E5)の色を取得する。そして、ステップS25bでは、取得した代表の画素の色を指定色として決定し、決定した指定色を取得する。
この第3実施例においても、第1実施例と同様に、所望の色を線色として簡単に設定することができる。
<第4実施例>
第4実施例の情報処理装置10は、タッチされた位置に応じた指定色を決定する方法が異なる以外は、第1実施例と同じであるため、重複した説明は省略することにする。
第4実施例では、タッチ位置に対応する表示位置に含まれる全画素の色(RGB値)に重み付けをして合成(加算)した色を指定色として決定し、決定した指定色を取得する。
たとえば、九つの画素のうち、中心の画素の重みw1を0.2に設定し、他の画素の重みを0.1に設定する(w1+8×w2=1)。また、図7に示したように、タッチ位置に対応する九つの画素Enの色情報を、それぞれ、(Rn、Gn、Bn)とすると(n=1、2、…、9)、たとえば、数1に従ってRの値は決定(算出)される。
[数1]
R = w1 × R5 + w2×(R1 + R2 + R3 + R4 + R6 + R7 + R8 + R9)
なお、数式は省略するが、Gの値およびBの値についても同様に算出される。ただし、重みw1およびw2の値は一例であり、限定されるべきではない。中心の画素E5の色情報をさらに重視する場合には、たとえば、重みw1を0.4に設定し、重みw2を0.075に設定してもよい。
この第4実施例の描画制御処理は、第1実施例で示した描画制御処理と一部の処理が異なる以外は同じである。具体的には、図12に示すように、図8および図9に示した描画制御処理のうち、ステップS25に代えて、ステップS25cの処理が実行される。上述したように、ステップS25cでは、タッチ位置に対応する表示位置に含まれる全画素の色(RGB値)に重み付けをして加算した色を指定色として決定し、決定した指定色を取得する。
この第4実施例においても、第1実施例と同様に、所望の色を線色として簡単に設定することができる。
<第5実施例>
第5実施例の情報処理装置10は、タッチされた位置に応じた指定色を決定する方法が異なる以外は、第1実施例と同じであるため、重複した説明は省略することにする。
第5実施例では、静止画像130などの画像をタッチすることにより指定した色が線色として設定された場合に、この線色をカラーパレットのその他の色を設定するボタン214に登録するようにしてある。
この第5実施例の描画制御処理は、第1実施例で示した描画制御処理と一部の処理が異なる以外は同じである。具体的には、図13に示すように、図8および図9に示した描画制御処理において、ステップS35の後に、ステップS37の処理が追加される。上述したように、ステップS37では、線色として設定した指定色を、カラーパレットが表示された領域202に設けられたボタン214に設定する(割り当てる)。
この第5実施例においても、第1実施例と同様に、所望の色を線色として簡単に設定することができる。また、指定色をカラーパレットに登録できるので、それ以降の描画制御処理において、指定色をカラーパレットから選択することができる。
なお、第5実施例は、第2ないし第4実施例にも適用可能である。
上述の実施例で挙げた数値および画面構成等は一例であり、実際の製品に応じて適宜変更することが可能である。