説明

図形描画プログラム、図形描画装置

【課題】情報処理装置における図形描画において、描画対象図形を構成する要素のサイズ及び配置位置を自動計算して配置することで、ユーザの作業負担を軽減する。
【解決手段】入力受付部11が、描画対象図形を構成する要素としてユーザが選択した選択要素に関する要素情報、要素を配置する配置領域に関する指定及び要素の配置方式(縦配置又は横配置)に関する指定を受け付ける。配置領域決定部13は、ユーザによる指定等に基づいて配置領域を特定する。配置方式決定部14は、ユーザによる指定に基づいて、配置方式を特定する。そして、要素属性計算部15は、要素情報に基づき、配置領域や配置方式に応じて、選択要素のサイズを計算するとともに、計算したサイズで各選択要素を配置した場合における各選択要素の配置位置の座標を計算する。配置部16は、各選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置における図形描画処理の技術に関する。
【背景技術】
【0002】
情報処理装置を用いた図形描画を実現する技術が提供されている。かかる情報処理装置を用いた図形描画手順は、例えば次のような内容である。すなわち、ユーザが、描画対象とする図形を構成する要素を選択する。そして、ユーザは、選択した要素のサイズ及び配置位置を調整して、意図する図形を描画する。
【0003】
なお、情報処理装置における図形描画等に関連する技術としては、次のようなものがある。例えば、グラフィカルユーザインタフェース(GUI:Graphical User Interface)の作成ツールにおいて、配置対象とするコントロール全体の属性を示す一覧表を表示し、ユーザが、一覧表を用いて、コントロールの配置位置等の入力又は調整等を行うことができるようにした技術が提案されている。さらに、GUIを用いてアプリケーションを開発するツールにおいて、アプリケーションの構成情報がツールに入力されると、入力された情報に関連する部品を抽出して画面上に配置する技術が提案されている。また、画面上にアプリケーションのGUIを表示する技術として、アプリケーションにおける表示設定に関わらず、特定の部品を画面上に仮配置し、他の部品を残余の部分に配置して、使い易いGUIを提供する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−76459号公報
【特許文献2】特開2001−350628号公報
【特許文献3】特開平11−353074号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、前述した図形描画手順において、要素のサイズ及び配置位置を調整する作業は、ユーザにとって特に時間と手間を要する作業である。
【0006】
そこで、本技術は1つの側面において、情報処理装置における図形描画において、要素のサイズ及び配置位置の調整作業負担を軽減することを目的とする。
【課題を解決するための手段】
【0007】
本技術は、1つの側面において、描画対象図形を構成する要素として選択された1以上の選択要素に関する要素情報、及び要素を配置する配置領域に関する領域情報を取得する。また、領域情報に基づいて配置領域を特定する。そして、特定した配置領域に応じて、要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算する。そして、選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する。
【発明の効果】
【0008】
本技術の1つの側面によれば、情報処理装置を用いた図形描画において、要素のサイズ及び配置位置の調整作業負担が軽減される。
【図面の簡単な説明】
【0009】
【図1】一実施例に係る図形描画装置を含んだ情報処理装置の機能ブロック図である。
【図2】一実施例に係る選択要素テーブルの説明図である。
【図3】一実施例に係る領域設定テーブルの説明図である。
【図4】一実施例に係る配置領域データの説明図である。
【図5】一実施例に係る配置方式データの説明図である。
【図6】一実施例に係るサイズ初期値テーブルの説明図である。
【図7】一実施例に係る要素属性テーブルの説明図である。
【図8】一実施例に係る図形描画画面の説明図である。
【図9】一実施例に係る選択要素一覧の表示例の説明図である。
【図10】一実施例に係る図形描画処理を示すフローチャートである。
【図11】一実施例に係る図形描画処理における要素属性計算処理を示すフローチャートである。
【図12】一実施例に係る図形描画画面において配置領域を指定する方法の説明図である。
【図13】一実施例に係る図形描画画面において配置領域を指定する方法の説明図である。
【図14】一実施例に係る図形描画画面において選択要素が配置された状態を示す説明図である。
【図15】一実施例に係る図形描画装置を含んだ情報処理装置のハードウェア図である。
【発明を実施するための形態】
【0010】
本明細書では、情報処理装置を用いた図形描画を実現する技術において、特に、描画対象図形を構成する要素を配置する配置領域に基づき、要素のサイズ及び配置位置の座標を自動計算して図形描画領域に配置する技術について説明する。
【0011】
本明細書において、図形描画とは、矩形や円等の単純な要素から構成される図の描画や、GUIコントロールを構成要素とする画面デザインの作成等、多種多様なものを含む。ここで、例えば、画面デザイン(例えば、ウェブ画面等)を作成する場合において、複数の要素を画面上に配置するときには、一列又は一行に要素を並べて配置する場合が多い。その場合、従来の一般的な手法を用いて画面を構成する要素を選択(指定)すると、要素のサイズや配置位置が初期状態として設定された状態で表示されるため、ユーザは、要素の各々につき、サイズや配置位置を調整しなければならない。このとき、ユーザは、要素を配置する配置領域に応じて、各要素のサイズ計算及び整列作業を行い、全体のバランスを調整する必要がある。この作業は、一部の要素の位置やサイズを修正すると、修正された要素との間で影響が生じる(重なったり又は離れすぎたりする)要素についてさらに修正を行う、という作業の繰り返しとなり、ユーザの作業負担が大きい。このような点につき、本明細書で説明する図形描画処理によれば、要素のサイズ及び配置位置が自動計算され、整列された状態で要素が配置されるため、調整作業を大幅に軽減することができる。
【0012】
図1は、本実施形態に係る図形描画装置を含んだ情報処理装置の機能ブロック図の一例である。本情報処理装置は、図形描画プログラムが情報処理装置のメモリにロードされてCPU(Central Processing Unit)において実行されることにより実現される制御部1に含まれる、入力受付部11、要素記録部12、配置領域特定部13、配置方式特定部14、要素属性計算部15、配置部16及び表示部17を有する。また、本情報処理装置が備える記憶手段である記憶部2には、選択要素テーブル21、領域設定テーブル22、配置領域データ23、配置方式データ24、サイズ初期値テーブル25及び要素属性テーブル26が格納される。なお、本明細書において記憶手段とは、揮発性記憶装置及び不揮発性記憶装置のいずれか一方又は両方を示す。さらに、本情報処理装置は、入力装置31及び表示装置32を有する。
【0013】
入力受付部11は、ユーザにより、表示装置32に表示されたユーザインタフェースである図形描画画面を用いつつ入力装置31を介して入力された、様々な情報を受け付ける。
【0014】
要素記録部12は、入力受付部11により受け付けられた、ユーザにより描画対象の図形の全体又は一部分を構成する要素として選択された要素(以下、選択要素という)に関する情報(要素情報)を取得し、選択要素テーブル21に格納する。
【0015】
配置領域特定部13は、入力受付部11により受け付けられた、配置領域に関するユーザの指定や、領域設定テーブル22に格納された領域情報を取得し、これらの情報に基づいて、要素の配置領域を特定する。そして、配置領域特定部13は、特定した配置領域を示す情報を、配置領域データ23として記憶手段に格納する。なお、本実施例では、配置領域が矩形であるものとして以下説明する。
【0016】
配置方式特定部14は、入力受付部11により受け付けられた、要素の配置方式に関してユーザが指定した配置方式情報を取得し、当該配置方式情報に基づき、選択要素の配置方式を特定する。要素の配置方式とは、複数の要素をどのように並べて配置するかを示し、本実施例においては、縦配置又は横配置のいずれかであるものとする。そして、配置方式特定部14は、特定した配置方式を、配置方式データ24として記憶手段に格納する。なお、選択要素が単数である場合には、配置方式の特定は不要である。
【0017】
要素属性計算部15は、選択要素テーブル21に格納された選択要素に関する要素情報、サイズ初期値テーブル25に格納された要素のサイズの初期値、及び配置領域データ23に基づいて、各選択要素のサイズを計算する。さらに、要素属性計算部15は、当該計算したサイズで選択要素を図形描画領域に配置した場合の配置位置の座標を計算する。なお、本明細書では、要素のサイズ及び配置位置のことをまとめて要素の属性と表記するものとする。また、要素のサイズには、要素の幅(width)及び高さ(height)が含まれる。本明細書において、単に要素のサイズと記載する場合には、要素の幅及び高さの少なくともいずれか一方を含んだ概念とする。要素属性計算部15は、各選択要素について計算した属性を、要素属性テーブル26に記録する。
【0018】
配置部16は、選択要素を、要素属性テーブル26に格納された属性に基づいて、図形描画領域(作業ウィンドウ)上に配置する。
【0019】
表示部17は、ユーザが図形描画作業を行うインタフェースである図形描画画面を表示装置32に表示する。この図形描画画面については後述する。
【0020】
入力装置31は、情報処理装置に対する指示操作を受け付ける装置であり、例えば、マウスやキーボード、タッチパネル等である。なお、例えば入力装置31がタッチパネル等の場合には、入力装置31と表示装置32が同一装置となる。
【0021】
表示装置32は、情報処理装置における処理結果等を表示する装置であり、本実施例では、図形描画画面を表示する。表示装置32は、例えば、ディスプレイ等である。
【0022】
図2〜図7は、情報処理装置の記憶手段に格納された、選択要素テーブル21、領域設定テーブル22、配置領域データ23、配置方式データ24、サイズ初期値テーブル25及び要素属性テーブル26の構成及びデータ例を示す。
【0023】
選択要素テーブル21は、入力受付部11により受け付けられた、選択要素に関する要素情報が格納されるテーブルである。選択要素テーブル21は、図2に示すように、選択要素がユーザにより選択された順序が格納される「選択順序」カラム、選択要素の要素種別が格納される「要素種別」カラム、選択要素の幅の大きさをどのように設定するかを示す情報が格納される「幅設定方法」カラム、選択要素の高さをどのように設定するかを示す情報が格納される「高さ設定方法」カラム、及び、選択要素と当該選択要素の後に続く他の要素(例えば、要素の配置方式が横配置である場合には右の要素、縦配置である場合には下の要素が該当する)と間の間隔が格納される「間隔値」カラムを有する。なお、幅設定方法及び高さ設定方法の具体的内容については後述する。
【0024】
領域設定テーブル22は、要素の配置領域となり得る図形描画領域を特定する情報が予め格納されるテーブルである。ここで、図形描画領域は、複数の領域に分割されている場合もある。この場合、分割された領域ごとに、領域を特定する情報が格納される。領域設定テーブル22は、図3に示すように、各領域の識別子が格納される「領域区分」カラム、領域の左端のX座標が格納される「Xmin」カラム、領域の右端のX座標が格納される「Xmax」カラム、領域の上端のY座標が格納される「Ymin」カラム、及び、領域の下端のY座標が格納される「Ymax」を有する。なお、本実施例では、座標をpx(ピクセル)値で表している。かかる座標について換言すれば、「Xmin」カラムの値は、図形の描画領域全体における左端から領域の左端までの距離を示し、「Xmax」カラムの値は、図形の描画領域全体における左端から領域の右端までの距離を示すこととなる。さらに、「Ymin」カラムの値は、図形の描画領域全体における上端から領域の上端までの距離を示し、「Ymax」カラムの値は、図形の描画領域全体における上端から領域の下端までの距離を示すこととなる。
【0025】
配置領域データ23は、選択要素を配置する配置領域を示すデータである。配置領域データ23は、図4に示すように、配置領域の左端のX座標である「Xmin」、配置領域の右端のX座標である「Xmax」、配置領域の上端のY座標である「Ymin」、及び、配置領域の下端のY座標である「Ymax」の値を有する。
【0026】
配置方式データ24は、選択要素の配置方式を示すデータである。配置方式データ24は、図5に示すように、配置方式を示すデータ(縦配置又は横配置)を有する。
【0027】
サイズ初期値テーブル25は、要素のサイズの初期値が要素種別ごとに予め格納されるテーブルである。サイズ初期値テーブル25は、図6に示すように、「要素種別」カラム、要素の幅の初期値が格納される「幅初期値」カラム、及び要素の高さの初期値が格納される「高さ初期値」カラムを有する。
【0028】
要素属性テーブル26は、要素属性計算部15によって計算された、各選択要素の属性が格納されるテーブルである。要素属性テーブル26は、図7に示すように、「選択順序」カラム、「要素種別」カラムを有するとともに、選択要素の配置位置として、図形描画領域全体における左端からの距離を示す「left」カラム及び図形の描画領域全体における上端からの距離を示す「top」カラムを有する。換言すれば、「left」カラムの値は、選択要素の左端のX座標であり、「top」カラムの値は、選択要素の上端のY座標である。さらに、要素属性テーブル26は、選択要素のサイズとして、選択要素の幅を示す「width」カラム及び選択要素の高さを示す「height」カラムを有する。
【0029】
図8は、表示装置32に表示される図形描画画面の一例を示す。図形描画画面31は、作業ウィンドウ32、要素バー33及び選択要素一覧34を含む。作業ウィンドウ32は、図形描画領域を表示する部分であり、選択要素を配置した状態の画面が表示(プレビュー)される。要素バー33は、要素種別が表示される部分である。ユーザは、選択要素を選択する際に、要素バー33に表示された要素種別を選択する。なお、要素種別はいかなる手順で選択してもよく、例えば、要素バー33に表示された要素種別にカーソルが位置している状態でマウスを右クリックして選択する等の方法でもよい。選択要素一覧34は、選択要素が、選択された順に表示される部分である。ユーザは、要素を選択した後、この選択要素一覧34を用いて、選択要素に関する要素情報を修正することができる。図9は、選択要素一覧34で表示される内容の一例を示している。選択要素一覧34は、上述した選択要素テーブル21と同様の構造を有し、「選択順序」カラム、「要素種別」カラム、「幅設定方法」カラム、「高さ設定方法」カラム、及び「間隔値」カラムを有する。選択要素一覧34において設定された情報は、選択要素テーブル21に格納される。なお、ユーザは、例えば、選択要素一覧34の選択要素の選択順序の修正、選択要素の削除等を行うこともできる。
【0030】
ここで、選択要素一覧34において「幅設定方法」カラム及び「高さ設定方法」カラムに設定されるデータ(すなわち、選択要素テーブル21の「幅設定方法」カラム及び「高さ設定方法」カラムに格納されるデータ)の内容について説明する。「幅設定方法」カラム及び「高さ設定方法」カラムには、図9に示す選択要素一覧34の1レコード目の幅設定方法においてリストボックスで例示されているように、「デフォルト」、「自動」及び「ユーザ指定」の3種類の設定を行うことができる。「デフォルト」は、サイズ初期値テーブル25に設定されたサイズを要素のサイズとする設定方法である。「自動」は、配置領域のサイズ(幅設定方法の場合は幅、高さ設定方法の場合は高さ)のうち、選択要素間の間隔となる部分を除いた残りの長さを均等に分けることによって要素のサイズを決定する方法である。ここで、設定方法が「自動」以外の要素(すなわち、「デフォルト」又は「ユーザ指定」の要素であり、換言すれば、固定値の要素)が存在する場合には、設定方法が「自動」以外の要素が占める領域をさらに除いた残りの領域の長さを均等に分けることによって選択要素のサイズが決定される。なお、具体的なサイズの計算方法については後述する。「ユーザ指定」は、ユーザが直接入力した数値を要素のサイズとする設定方法である。ユーザは、「ユーザ指定」の設定方法を選択した場合には、選択要素一覧34において、具体的な要素のサイズのピクセル値の入力を行う。
【0031】
また、選択要素一覧34の「間隔値」カラムには、所定の値が初期値として表示される。この間隔値は、ユーザが任意に変更することができる。さらに、初期値の設定自体も、ユーザが任意に変更することができる。なお、「間隔値」カラムの値は、前述したように、要素と、当該要素の後に続く他の要素との間の長さであるため、選択要素に続く要素が存在しない場合は無効になる。
【0032】
かかる図形描画装置で行われる図形描画処理の一例につき、図10及び図11に示すフローチャートを参照しつつ説明する。図10は、図形描画処理の全体の流れを示すフローチャートであり、図11は、図形描画処理のうち、特に、要素属性計算部15が行う処理について詳細に示すフローチャートである。
【0033】
図10のステップ1(図ではS1と表記されている。以下同様)では、入力受付部11が、ユーザが描写対象の図形の全体又は一部分として選択した選択要素に関する要素情報を、入力装置31を介して受け付ける。このとき、ユーザは、図8に示す図形描画画面上における要素バー33を用いて要素種別を特定しつつ要素を選択し、図9に示す選択要素一覧34を用いて、選択要素に関する要素情報を設定する。
【0034】
ステップ2では、要素記録部12が、入力受付部11により受け付けられた、選択要素に関する要素情報を、選択要素テーブル21に格納する。
【0035】
ステップ3〜4及びステップ5〜7は、配置領域を特定する処理を示す。ここで、ステップ3〜4は、ユーザにより配置領域の起点及び終点の両方が指定される場合の処理を示す。なお、配置領域の起点及び終点を指定する方法としては、例えば、ユーザがマウス操作で起点から終点までの矩形範囲を画する方法がある。
【0036】
ステップ3では、入力受付部11が、配置領域の起点の位置(Xmin,Ymin)及び終点の位置(Xmax,Ymax)に関するユーザの指定を受け付ける。なお、図12は、ユーザにより配置領域の起点及び終点が指定された場合における配置領域の特定の例を示している。
【0037】
ステップ4では、配置領域特定部13が、入力受付部11により受け付けられた起点の位置及び終点の位置の座標を、配置領域データ23として記憶手段に格納する。
【0038】
例えば、入力受付部11により受け付けられた起点の位置の座標が(0px,40px)であり、終点の位置の座標が(165px,50px)である場合、配置領域データ23は、図4に示すようになる。
【0039】
一方、ステップ5〜7は、ユーザにより配置領域の起点のみが指定される場合の処理を示す。この場合、配置領域の起点を指定する方法としては、例えば、ユーザが、起点とする位置にカーソルがある状態でマウスを右クリックすることにより起点を指定する等の方法がある。
【0040】
ステップ5では、入力受付部11が、配置領域の起点の位置(Xmin,Ymin)に関するユーザの指定を受け付ける。
【0041】
ステップ6では、配置領域特定部13が、入力受付部11により受け付けられた起点の位置及び領域設定テーブル22に格納された領域情報に基づいて、配置領域の終点の位置を特定する。具体的には、まず、配置領域特定部13は、領域設定テーブル22に格納された、各領域区分が占める領域を示す座標を参照し、入力受付部11により受け付けられた起点の位置が、どの領域区分に属しているかを特定する。そして、配置領域特定部13は、特定した領域区分の右下端(Xmax,Ymax)の座標を、配置領域の終点の位置の座標として特定する。
【0042】
例えば、入力受付部11により受け付けられた起点の位置の座標が(0px,40px)である場合、図3に示す領域設定テーブル22に格納されたレコードを参照すると、この起点の位置の座標は、「領域1」の領域区分に属していることが特定できる。このため、配置領域特定部13は、領域設定テーブル22に格納された、領域1の右下端(165px,50px)の座標を、配置領域の終点の座標として特定する。なお、図13は、このようにユーザにより配置領域の起点のみが指定された場合における配置領域の特定の例を示している。
【0043】
ステップ7では、配置領域特定部13は、入力受付部11により受け付けられた起点の位置の座標及び特定した終点の位置の座標を、配置領域データ23として記憶手段に格納する。
【0044】
例えば、ステップ6の説明で示したように、入力受付部11により受け付けられた起点の位置の座標が(0px,40px)であり、特定した終点の位置の座標が(165px,50px)である場合、配置領域データ23は、図4に示すようになる。
【0045】
ステップ8では、入力受付部11が、選択要素の配置方式に関するユーザの指定を受け付ける。なお、選択要素の配置方式を指定する方法としては、例えば、ユーザが、作業画面上にカーソルがある状態でマウスを右クリックして表示されるメニューから横配置又は縦配置を選択する等の方法がある。また、作業画面上に、配置方式を選択するためのユーザインタフェースを設けることにより、ユーザがユーザインタフェースを用いて配置方式を選択できるようにしてもよい。
【0046】
ステップ9では、要素属性計算部15が、選択要素テーブル21に格納された選択要素に関するデータ及び配置領域データ23に基づいて、要素の属性を計算し、計算結果を要素属性テーブル26に格納する。この計算処理については後で詳述する。
【0047】
ステップ10では、配置部16が、要素属性テーブル26に格納されたデータに基づいて、作業ウィンドウ上に選択要素を仮配置する。そして、表示部17が、選択要素が仮配置されて描画された作業ウィンドウを、表示装置32に表示(プレビュー)する。なお、図14は、選択要素が仮配置されて描画された作業ウィンドウの一例を示す。
【0048】
ステップ11では、配置部16が、プレビューを見たユーザによって、選択要素に関する要素情報の修正がなされたか否かを判定する。換言すれば、配置部16は、入力受付部11により選択要素に関する要素情報の修正が受け付けられたか否かを判定する。なお、ユーザは、要素情報の修正を、選択要素一覧34を用いて行うことができる。要素情報の修正がなされた場合にはステップ9に戻り、要素属性計算部15が、要素の属性を再計算する。一方、要素情報の修正がなされず、ユーザにより選択要素の配置の確定操作がなされた場合にはステップ12に進む。
【0049】
ステップ12では、配置部16が、選択要素の配置を確定させる。
【0050】
次に、図11のフローを参照しつつ、要素属性計算部15による計算処理について説明する。
【0051】
ステップ21では、要素属性計算部15が、選択要素テーブル21を参照し、選択要素に関する要素情報を取得する。
【0052】
ステップ22では、要素属性計算部15が、配置領域データ23を参照し、配置領域の情報を取得する。
【0053】
ステップ23では、要素属性計算部15が、配置方式データ24を参照し、配置方式の情報を取得する。
【0054】
ステップ24では、要素属性計算部15が、幅設定方法又は高さ設定方法が「自動」に設定された選択要素があるか否かを判定する。幅設定方法又は高さ設定方法が「自動」に設定された選択要素がある場合には、ステップ25に進み(Yes)、幅設定方法又は高さ設定方法が「自動」に設定された選択要素がない場合には、ステップ29に進む(No)。
【0055】
ステップ25では、要素属性計算部15が、各選択要素の幅及び高さを示す具体的な数値を取得する。具体的には、選択要素テーブル21に格納された選択要素に関する要素情報において、幅設定方法又は高さ設定方法が「デフォルト」の場合には、サイズ初期値テーブル25を参照し、その選択要素の要素種別の幅初期値又は高さ初期値を取得する。また、幅設定方法又は高さ設定方法が「ユーザ設定」である場合、すなわち、具体的な数値が選択要素テーブル21に格納されている場合には、その数値を取得する。
【0056】
ステップ26では、要素属性計算部15が、配置方式が横配置又は縦配置のいずれであるかを判定する。配置方式が横配置の場合にはステップ27に進み(Yes)、配置方式が縦配置の場合にはステップ28に進む(No)。
【0057】
ステップ27では、要素属性計算部15が、幅設定方法が「自動」に設定された選択要素につき、幅の大きさを計算する。この場合の計算式は、例えば次のようになる。
[横配置の場合の幅算出計算式の例]
幅(width)=[(Xmax-Xmin)-Sum(幅設定方法が「デフォルト」の選択要素の幅初期値)-Sum(幅設定方法が「ユーザ指定」の選択要素の幅)-Sum(全ての選択要素の間隔値)]/幅設定方法が「デフォルト」の選択要素の数n
なお、当該計算式のうち、(Xmax-Xmin) は、配置領域の幅を表す。
【0058】
また、要素属性計算部15は、高さ設定方法が「自動」に設定された選択要素につき、高さの大きさを計算する。この場合の計算式は、例えば次のようになる。
[横配置の場合の高さ算出計算式の例]
高さ(height)=Ymax-Ymin
ステップ28では、要素属性計算部15が、幅設定方法が「自動」に設定された選択要素につき、幅の大きさを計算する。この場合の計算式は、例えば次のようになる。
[縦配置の場合の幅算出計算式の例]
幅(width)=Xmax-Xmin
また、要素属性計算部15は、高さ設定方法が「自動」に設定された選択要素につき、高さを計算する。この場合の計算式は、例えば次のようになる。
[縦配置の場合の高さ算出計算式の例]
高さ(height)=[Ymax-Ymin-Sum(デフォルトの要素の高さ)-Sum(ユーザ選択要素の高さ)-Sum(すべての要素の間隔)]/自動選択要素の数n
なお、幅設定方法が「デフォルト」の選択要素の幅初期値及び高さ設定方法が「デフォルト」の選択要素の高さ初期値は、サイズ初期値テーブル25から取得することができる。
【0059】
ステップ29では、要素属性計算部15が、計算結果が有効であるか否かを判定する。計算結果が有効である場合とは、計算結果の幅及び高さが0より大きい場合である。計算結果の幅及び高さの少なくともいずれか一方が0以下である場合には、計算結果は無効となる。計算結果が有効である場合には、ステップ30に進み、計算結果が無効である場合には、図形描画処理を終了させる。このとき、表示部17が、エラーメッセージを表示装置32に表示させてもよい。図形描画処理が終了すると、ユーザは、作業画面において再度要素を選択し、選択要素一覧34において、選択要素に関する要素情報を設定することとなる。
【0060】
ステップ30では、各選択要素の位置の座標(各選択要素の左端(left)及び上端(top))を計算する。
【0061】
この選択要素の位置の座標の計算は、例えば、次のように行う。配置方式が横配置の場合には、領域区分内において選択順序が早いものから順に左から配置するように、各選択要素の幅の大きさ及び間隔値を用いてleftを計算する。例えば、左から2番目に配置する選択要素のleftは、配置領域の左端のX座標の値と、左から1番目の選択要素の幅と、1番目の選択要素と2番目の選択要素との間の間隔値と、を合算した値となる。この場合、例えばtopは、領域区分の上端のY座標(Ymin)と同一にしてもよいし、領域区分の上端のY座標から所定の間隔だけ離れた座標としてもよい。一方、配置方式が縦配置の場合には、領域区分内において選択順序が早いものから順に上から配置するように、各選択要素の高さ及び間隔値を用いてtopを計算する。この場合、例えばleftは、領域区分の左端のX座標(Xmin)と同一にしてもよいし、領域区分の左端の座標から所定の間隔だけ離れた座標としてもよい。
【0062】
ステップ31では、計算又は取得した選択要素の属性を、要素属性テーブル26に格納する。
【0063】
なお、ユーザが選択要素一覧34を用いて設定した選択要素に関する要素情報が図2に示す選択要素テーブル21のデータであって、ユーザが指定した配置方式が図5の配置方式データ24に示すように横配置であり、配置領域データ23が図4に示す内容である場合、要素属性計算部15によって計算又は取得された結果の各選択要素の属性は、図7に示す要素属性テーブル26のデータ例のようになる。
【0064】
具体的に説明すると、図2に示した選択要素に関する要素情報のうち、選択順序が1及び3の選択要素は、幅設定方法が「デフォルト」である。そして、選択順序が1及び3の選択要素は、いずれも要素種別が「a」であるため、これらの選択要素の幅は、図3に示すサイズ初期値テーブル25のレコードのうち、要素種別が「a」のレコードに設定された幅初期値の「30px」となる。さらに、選択順序が5の選択要素は、幅設定方法に数値「30px」が直接格納されており、これはすなわち幅設定方法が「ユーザ設定」であるということである。このため、選択順序が5の選択要素の幅は、この選択要素テーブル21に設定された「30px」となる。一方、選択順序が2、4及び6の選択要素は、幅設定方法が「自動」である。このため、これらの選択要素の幅は、前述した[横配置の場合の幅算出計算式の例]の計算式に基づいて計算される。すなわち、
[(165-0)-(30+30)-30)-(3+3+3+3+3)]/3 = 20
となり、選択順序が2、4及び6の選択要素の幅は「20px」となる。
【0065】
一方、高さについては、全選択要素の高さ設定方法が「自動」であるため、全選択要素の高さが、前述した[横配置の場合の高さ算出計算式の例]の計算式に基づいて計算される。すなわち、50-40 = 10 となり、全選択要素の高さは10となる。
【0066】
そして、これらの選択要素を、配置領域の左端から順に、間隔値の分だけ間隔をあけて配置すると、各選択要素のleft及びtopの座標は、それぞれ、図7の要素属性テーブル26に示す値のようになる。
【0067】
なお、かかる計算結果である図7の要素属性テーブル26の値に基づいて、選択要素を作業ウィンドウ上に配置した状態を示すのが図14である。なお、図14では、全ての選択要素の要素種別が矩形であるものとして表示している。このように、ユーザが選択要素一覧34において選択要素の情報について設定を行えば、配置領域内において、各選択要素が適切なサイズで整列されて配置される。
【0068】
前述した図形描画装置及び図形描画処理によれば、選択要素の幅設定方法又は高さ設定方法が「自動」に設定されている場合に、配置領域及び配置方式に基づいて、選択要素の幅又は高さが計算される。そして、計算された幅又は高さに基づいて、選択要素が配置される位置の座標が自動で決定される。このため、ユーザは、選択要素について自ら幅や高さの大きさを設定したり、選択要素の配置位置を調整したりする必要がなくなり、図形描画作業の負担が軽減される。
【0069】
ここで、上記実施例では、選択要素が複数である場合を例に挙げて説明をしたが、選択要素が単数であっても前述した図形描画処理を適用することは可能である。例えば、選択要素が単数の場合、幅設定方法及び高さ設定方法を「自動」にしておけば、選択要素の幅及び高さはそれぞれ配置領域の幅及び高さとなり、選択要素の属性を調整する手間を省くことができる。しかし、本図形描画処理によれば、上記実施例のように、複数の選択要素を整列させて配置するときに、特に、図形描画作業の負担の大幅な軽減を図ることができる。
【0070】
さらに、上記図形描画処理によれば、ユーザは、選択要素一覧34を用いて選択要素の一部の大きさの設定方法を「自動」と設定する一方で、他の選択要素の大きさの設定方法を「デフォルト」と設定することもできる。この場合、当該選択要素の大きさは、サイズ初期値テーブル25に設定された初期値の大きさとすることができる。また、ユーザは、選択要素一覧34を用いて選択要素の一部の大きさの設定方法を「自動」と設定する一方で、他の選択要素の大きさの設定方法を「ユーザ設定」とし、具体的な数値を設定することもできる。この場合、当該選択要素の大きさは、ユーザが設定した具体的な数値の大きさとなる。
【0071】
そして、このように選択要素の一部の大きさにつき固定値が設定されたとしても、上記図形描画処理によれば、これらの固定値の大きさの選択要素の存在を考慮した上で、設定方法が「自動」の選択要素の大きさが計算され、全ての要素が整列されて配置される。このため、ユーザにとっては、大きさを固定的に設定したい要素と一律で大きさを計算させたい要素とを混在させても、全ての選択要素が自動調整された状態で配置されるため、柔軟に図形描画を行うことができる。しかし、かかる計算方法に限らず、例えば、サイズ設定方法の指定を特に受け付けず、サイズ設定方法が全て「自動」であるものとして計算を行ってもよい。
【0072】
また、上記図形描画処理によれば、領域区分を領域設定テーブル22に設定しておき、図13で示したように特定の領域を配置領域として指定すれば、図形描画領域のうち特定の領域区分の範囲内で配置領域が特定される。そして、その配置領域の範囲内において、選択要素の大きさ及び位置が計算され、配置される。このため、例えば、ウェブ画面を作成する場合等において、図形描画領域をヘッダー部分やボディ部分、フッター部分等に分けて領域区分を設定しておけば、各々の領域区分ごとに選択要素を整列させて配置することができ、見栄えのよい画面を容易に作成することができる。また、その一方で、ユーザは、領域区分の設定に関係なく、図12で示したように、任意に配置領域を指定することもできるため、作業の簡易性と図形描画の柔軟性との両方が実現されている。
【0073】
なお、上記実施形態では、要素のサイズの計算において、要素間の間隔値を考慮した計算を行っているが、例えば、要素間の間隔がないものとして、単純に配置領域を各要素で均等に分割してもよい。
【0074】
また、上記実施形態では、ユーザによる配置領域の指定を受け付け、かかる指定に基づいて配置領域を特定して配置領域データ23を記憶手段2に格納しているが、配置領域データ23を予め記憶手段2に格納しておいてもよい。配置方式についても同様に、配置方式データ24を予め記憶手段2に格納しておいてもよい。
【0075】
さらに、上記実施形態では、要素のサイズや位置の座標をピクセル値の単位で示したが、これに限定されるものではない(例えばドットなど、他の単位でもよい)。また、サイズ計算式や選択要素の座標決定の方法次第では、配置領域が矩形以外の形状(例えば円形や楕円形等)であっても対応することが可能である。
【0076】
[ハードウェア構成]
図15は、上述した一実施形態に係る図形描画装置を含んだ情報処理装置のハードウェア構成の一例を示す。本情報処理装置は、CPU101、メモリ102、ストレージ103、可搬記憶媒体駆動装置104、入出力装置105及び通信インタフェース106を備える。
【0077】
CPU101は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読された図形描画プログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。かかるCPU101は、制御に用いる各種情報が格納される制御レジスタ、既にアクセスしたメモリ102等の内容を一時的に格納可能なキャッシュ等を備える。なお、CPU101は、CPUコアが複数設けられている構成でもよい。
【0078】
メモリ102は、例えばRAM(Random Access Memory)等の記憶手段であり、CPU101で実行される図形描画プログラムがロードされるとともに、CPU101の処理に用いるデータが格納されるメインメモリである。また、ストレージ103は、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の記憶手段であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置104は、可搬記憶媒体107に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体107は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。なお、CPU101は、メモリ102やストレージ103と協働しつつ、ストレージ103又は可搬記憶媒体107に格納された図形描画プログラムを実行する。なお、図形描画プログラムや、アクセス対象となるデータは、当該情報処理装置と通信可能な他の装置に格納されていてもよい。
【0079】
入出力装置105は例えばキーボード等やディスプレイ等であり、ユーザ操作等による動作命令を受け付ける一方、情報処理装置による処理結果を出力する。なお、図1における入力装置31や表示装置32は、図15の入出力装置105に対応している。通信インタフェース106は例えばLAN(Local Area Network)カード等であり、外部とのデータ通信を可能にする。上述した情報処理装置の各構成要素は、バス108で接続されている。
【0080】
上述した情報処理装置の機能的構成及び物理的構成は、上述の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
【0081】
以上の実施形態に関し、更に以下の付記を開示する。
【0082】
(付記1)描画対象図形を構成する要素として選択された1以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得し、
前記領域情報に基づいて配置領域を特定し、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算し、
前記選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する
処理を情報処理装置に実行させる図形描画プログラム。
【0083】
(付記2)前記取得する処理は、前記選択要素をどのように並べて配置するかを示す配置方式情報を取得し、
前記計算する処理は、前記配置方式情報が示す配置方式に基づいて、前記配置領域の幅及び高さの少なくともいずれか一方の全部又は一部を選択要素間で均等に分けることにより、各要素のサイズを計算する付記1記載の図形描画プログラム。
【0084】
(付記3)前記要素情報は、選択要素のサイズの決定方法が自動計算又は固定値のいずれであるかの指定内容を要素ごとに有し、
前記計算する処理は、サイズの決定方法が自動計算である選択要素のみを対象として、選択要素のサイズの計算を行う付記1又は2に記載の図形描画プログラム。
【0085】
(付記4)前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくともサイズの決定方法が自動計算以外の選択要素が占める領域の幅及び高さを除いた長さを、サイズの決定方法が自動計算の選択要素間で均等に分けることによって各要素のサイズを計算する付記3記載の図形描画プログラム。
【0086】
(付記5)前記要素情報は、選択要素間の間隔を示す値を含み、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも各選択要素間の間隔を除いた長さを前記選択要素間で均等に分けることによって各選択要素のサイズを計算する付記2〜4のいずれか1つに記載の図形描画プログラム。
【0087】
(付記6)前記要素情報を一覧形式で入力するユーザインタフェースを表示し、
前記取得する処理は、前記一覧形式のユーザインタフェースによって入力された前記要素情報を取得する付記1〜5のいずれか1つに記載の図形描画プログラム。
【0088】
(付記7)前記配置領域を特定する処理は、前記領域情報が配置領域の起点のみを特定する情報である場合に、所定の座標を配置領域の終点として前記配置領域を特定する付記1〜6のいずれか1つに記載の図形描画プログラム。
【0089】
(付記8)描画対象図形を構成する要素として選択された1以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得する手段と、
前記領域情報に基づいて配置領域を特定する手段と、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算する手段と、
前記選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する手段と、
を備える図形描画装置。
【符号の説明】
【0090】
1…制御部、11…入力受付部、12…要素記録部、13…配置領域特定部、14…配置方式特定部、15…要素属性計算部、16…配置部、17…表示部、2…記憶手段、21…選択要素テーブル、22…領域設定テーブル、23…配置領域データ、24…配置方式データ、25…サイズ初期値テーブル、26…要素属性テーブル、31…入力装置、32…表示装置

【特許請求の範囲】
【請求項1】
描画対象図形を構成する要素として選択された1以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得し、
前記領域情報に基づいて配置領域を特定し、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで選択要素を配置した場合における選択要素の配置位置の座標を計算し、
前記選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する
処理を情報処理装置に実行させる図形描画プログラム。
【請求項2】
前記取得する処理は、選択要素をどのように並べて配置するかを示す配置方式情報を取得し、
前記計算する処理は、前記配置方式情報が示す配置方式に基づいて、前記配置領域の幅及び高さの少なくともいずれか一方の全部又は一部を前記選択要素間で均等に分けることにより、各要素のサイズを計算する請求項1記載の図形描画プログラム。
【請求項3】
前記要素情報は、選択要素のサイズの決定方法が自動計算又は固定値のいずれであるかの指定内容を要素ごとに有し、
前記計算する処理は、サイズの決定方法が自動計算である選択要素のみを対象として、選択要素のサイズの計算を行う請求項1又は2に記載の図形描画プログラム。
【請求項4】
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくともサイズの決定方法が自動計算以外の選択要素が占める領域の幅及び高さを除いた長さを、サイズの決定方法が自動計算の選択要素間で均等に分けることによって各要素のサイズを計算する請求項3記載の図形描画プログラム。
【請求項5】
前記要素情報は、選択要素間の間隔を示す値を含み、
前記計算する処理は、前記配置領域の幅及び高さの少なくともいずれか一方のうち、少なくとも各選択要素間の間隔を除いた長さを前記選択要素間で均等に分けることによって各選択要素のサイズを計算する請求項2〜4のいずれか1つに記載の図形描画プログラム。
【請求項6】
前記要素情報を一覧形式で入力するユーザインタフェースを表示し、
前記取得する処理は、前記一覧形式のユーザインタフェースによって入力された前記要素情報を取得する請求項1〜5のいずれか1つに記載の図形描画プログラム。
【請求項7】
前記配置領域を特定する処理は、前記領域情報が配置領域の起点のみを特定する情報である場合に、所定の座標を配置領域の終点として前記配置領域を特定する請求項1〜6のいずれか1つに記載の図形描画プログラム。
【請求項8】
描画対象図形を構成する要素として選択された1以上の選択要素に関する要素情報、及び前記要素を配置する配置領域に関する領域情報を取得する手段と、
前記領域情報に基づいて配置領域を特定する手段と、
特定した前記配置領域に応じて、前記要素情報の選択要素のサイズを計算するとともに、計算したサイズで各選択要素を配置した場合における選択要素の配置位置の座標を計算する手段と、
前記各選択要素を、計算した配置位置の座標に基づいて、図形描画領域に配置する手段と
を備える図形描画装置。

【図10】
image rotate

【図11】
image rotate

【図13】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−198670(P2012−198670A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−61533(P2011−61533)
【出願日】平成23年3月18日(2011.3.18)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】