(57)【要約】【課題】  オブジェクト間のビジュアルを、手間をかけることなく容易に整えることができる描画装置等を提供する。【解決手段】  描画装置は、表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する座標値取得手段と、前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する代入手段とを備える。【選択図】      図８
2018101181.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する座標値取得手段と、
前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する代入手段と
を備えた描画装置。
【請求項２】
前記代入手段は、前記代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトの大きさおよび形状の少なくともいずれかを変更する
請求項１記載の描画装置。
【請求項３】
前記代入手段は、前記代入による前記第１の矩形の大きさの変化率に比例するように、前記第１のオブジェクトの大きさおよび形状の少なくともいずれかを変更する
請求項１または２記載の描画装置。
【請求項４】
前記第１のオブジェクトと前記第２のオブジェクトの選択を受け付ける受付手段をさらに備え、
前記座標値取得手段は、前記受付手段により受け付けられた前記第１のオブジェクトと前記第２のオブジェクトをそれぞれ取り囲む前記第１の矩形と前記第２の矩形の前記座標値を取得する
請求項１乃至請求項３のいずれか１項記載の描画装置。
【請求項５】
前記受付手段は、前記表示画面に表示された、少なくとも一のオブジェクトの選択を受け付け、
前記座標値取得手段は、前記受付手段により受け付けられていない、前記第１のオブジェクトと前記第２のオブジェクトをそれぞれ取り囲む前記第１の矩形と前記第２の矩形の前記座標値を取得する
請求項４記載の描画装置。
【請求項６】
前記受付手段は、基準オブジェクトである前記第２のオブジェクトの選択を受け付ける、
請求項４または請求項５記載の描画装置。
【請求項７】
前記代入手段は、前記代入した前記第１の矩形の大きさに合わせて変更した前記第１のオブジェクトにおいて、座標値を変更した箇所を、前記表示画面に識別可能に表示する
請求項１乃至請求項６のいずれか１項記載の描画装置。
【請求項８】
表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得し、
前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する
描画方法。
【請求項９】
表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する処理と、
前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する処理と
を、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトを描画する描画装置、描画方法およびプログラムに関する。
【背景技術】
【０００２】
コンピュータ等の情報処理装置において、表示画面にオブジェクトを描画するソフトウェアが広く普及している。このようなソフトウェアを利用して図形を描画する際に、画面内にオブジェクトを複数配置することがある。この場合、一般に、複数のオブジェクトの端がそろっている方がオブジェクト間のビジュアルは整うので、ユーザは、複数のオブジェクトの端を合わせたり、位置を移動したりする作業をすることがある。ここで、「オブジェクト間のビジュアルが整う」とは、オブジェクト間の端の位置がそろっていることを意味する。一般に、オブジェクト間の端の位置がそろっていると、見やすい状態である。
【０００３】
しかしながら、オブジェクト間のビジュアルを整えるには、複数のオブジェクトの位置について、例えば１ドットなどの微小な違いを視認しなくてはならず、非常に手間がかかる。その上、そのような微小な違いを１つ１つ整えるように位置を変更することも、非常に手間がかかる。
【０００４】
また、このようにビジュアルを整えるために、ユーザが手動でオブジェクトの位置を整えることを支援する機能も提案されているが、ユーザがオブジェクトの位置を手動で整えること自体、非常に手間がかかるという問題がある。
【０００５】
一方で、ユーザがオブジェクトを描画する時に、オブジェクトの位置を自動で整える技術が提案されている。
【０００６】
例えば、特許文献１には、ユーザが文字や図形等を手書き入力によって行う際のオブジェクトの補正方法が開示されている。具体的には、特許文献１では、入力された表示データを描画するための描画領域と、既に表示装置に表示されている表示データの描画領域とが重ならないようにするために、新たに入力される表示データの描画領域を決定したり、既に表示されている表示データの描画領域の位置をずらしたりしている。
【０００７】
特許文献２には、ペン入力機能を備えた文書作成装置において、作成文書中の文字の行桁方向及び位置に正確に対応した直線あるいは罫線を、ペン筆記動作により描画することが可能な図形処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−０７９６２３
【特許文献２】特開平７−２８７７６８
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述したように、特許文献１には、既に表示されたオブジェクトに新たに配置するオブジェクトが重ならないように描画領域を決定することが開示され、特許文献２には、オブジェクトを描画する時に、そのオブジェクトの形を整えることが開示されている。
【００１０】
しかしながら、特許文献１、２には、複数のオブジェクトが描画された後に、それらの相互のビジュアルを整えることは開示されていない。よって、ユーザは、複数のオブジェクトを描画した際に、オブジェクト間のビジュアルを整える作業をしなければならないため手間がかかるという課題がある。
【００１１】
本発明は、上記課題に鑑みてなされたものであり、オブジェクト間のビジュアルを、手間をかけることなく容易に整えることができる描画装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様にかかる描画装置は、表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する座標値取得手段と、
前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する代入手段とを備える。
【００１３】
本発明の一態様にかかる描画方法は、表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得し、前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する。
【００１４】
本発明の一態様にかかるプログラムは、表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する処理と、前記第１の矩形と前記第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、前記第１の矩形の前記辺と直交する座標軸上の座標値に、前記第２の矩形の前記辺と直交する座標軸上の座標値を代入すると共に、該代入された前記第１の矩形の大きさに合わせて前記第１のオブジェクトを変更する処理とを、コンピュータに実行させるプログラム。
【発明の効果】
【００１５】
本発明によれば、オブジェクト間のビジュアルを、手間をかけることなく容易に整えることができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係るオブジェクト描画装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るオブジェクト描画装置により描かれるオブジェクトの一例を示す図である。
【図３】本発明の第１の実施形態に係るオブジェクト描画装置の補正実行部の構成を示すブロック図である。
【図４】本発明の第１の実施形態に係るオブジェクト描画装置の処理を示すフローチャートである。
【図５】本発明の第１の実施形態に係るオブジェクト描画装置の補正実行部の処理を示すフローチャートである。
【図６】本発明の第１の実施形態に係るオブジェクト描画装置による補正前のオブジェクトの配置を示す図（ａ）と、補正後のオブジェクトの配置を示す図（ｂ）である。
【図７】本発明の第１の実施形態に係る選択オブジェクト記憶部が記憶する識別情報の一例を示す図である。
【図８】本発明の第２の実施形態に係る描画装置７００の構成を示すブロック図である。
【図９】本発明の各実施形態に係る装置の構成を実現するハードウエア構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
第１の実施形態
図１は、本発明の第１の実施形態に係るオブジェクト描画装置１００の構成を示すブロック図である。オブジェクト描画装置１００は、ユーザの操作に応じてオブジェクト（図形）を描画及び補正する装置である。ここで、補正とは、複数のオブジェクトの端の位置（詳細は後述する）をそろえることにより、オブジェクト間の見た目（ビジュアル）を整えることを意味する。
【００１８】
図１に示すように、オブジェクト描画装置１００は、制御部１１０、入力受付部１２０、選択オブジェクト記憶部１３０、補正実行部１４０、設定記憶部１５０、表示部１６０及び描画部１７０を備える。
【００１９】
各構成要素は、概略以下の機能を有する。制御部１１０は、オブジェクト描画装置１００の各構成要素を制御する。入力受付部１２０は、ユーザからの入力を受け付ける。入力受付部１２０は、受付手段の一例として実現可能である。
【００２０】
選択オブジェクト記憶部１３０は、入力受付部１２０を介してユーザが選択したオブジェクトの識別情報を格納する。補正実行部１４０は、入力受付部１２０を介してユーザから補正処理の実行指示を受け付けたことに応じて、選択オブジェクト記憶部１３０に識別情報が格納されたオブジェクトに対する補正処理を実行する。設定記憶部１５０は、補正実行部１４０が補正処理を実施するために必要な閾値等を含む設定を記憶する。表示部１６０は、オブジェクトを表示する表示画面等の領域である。描画部１７０は、入力受付部１２０を介したユーザによる操作に基づいて、オブジェクトを描画する。
【００２１】
図２（ａ）は、本発明の第１の実施形態に係るオブジェクト描画装置１００の描画部１７０によって描画され、表示部１６０に表示されたオブジェクトの一例を示す図である。図２（ａ）に示すように、オブジェクトは、表示部１６０における平行方向をｘ軸、垂直方向をｙ軸とする直交座標（ｘｙ座標）系に描かれるとする。
【００２２】
図２（ｂ）、（ｃ）は、それぞれ本実施形態に係るオブジェクト描画装置１００により描画されたオブジェクトの他の例を示す図である。本発明の第１の実施形態におけるオブジェクトは、図２（ａ）に示すような長方形１１であってもよいし、図２（ｂ）に示すような楕円形１２であってもよいし、図２（ｃ）に示すような多角形１３であってもよい。描画されるオブジェクトはこれらに限定されず、任意の図形であってよい。
【００２３】
本実施形態に係るオブジェクト描画装置１００は、表示部１６０に表示された複数のオブジェクト間のビジュアルを整える補正を、補正実行部１４０により行う。
【００２４】
図３は、オブジェクト描画装置１００の補正実行部１４０の構成を示すブロック図である。図３に示すように、補正実行部１４０は、エントリ検索部１４１、座標値取得部１４２、算出部１４３、比較部１４４及び代入部１４５を備える。なお、代入部１４５は、表示制御手段を実現する手段の一例である。
【００２５】
各構成要素は、概略以下の機能を有する。すなわち、エントリ検索部１４１は、図１に示した選択オブジェクト記憶部１３０に格納されたエントリを検索し、未選択のオブジェクトの識別情報を抽出して座標値取得部１４２に通知する。
【００２６】
座標値取得部１４２は、エントリ検索部１４１から通知された識別情報に基づいて、オブジェクトの位置を示す座標値を取得する。算出部１４３は、座標値取得部１４２が取得した座標値に基づいて、比較対象オブジェクトと補正対象オブジェクトの位置のずれを算出する。ここで、比較対象オブジェクトとは、オブジェクトを補正する際に位置の基準とするオブジェクトであり、補正対象オブジェクトとは、比較対象オブジェクトに合わせて大きさまたは形状を変更するオブジェクトである。
【００２７】
比較部１４４は、算出部１４３が算出したずれと、図１に示した設定記憶部１５０に予め格納されている閾値とを比較する。代入部１４５は、比較部１４４による比較の結果に基づいて、補正対象オブジェクトの位置を示す座標値に、比較対象オブジェクトの位置を示す座標値を代入すると共に、代入した位置に合わせて補正対象オブジェクトの大きさまたは形状を変更する。
【００２８】
ここで、本実施形態及び以下の実施形態では、表示部１６０に描画されたオブジェクトの位置または大きさは、そのオブジェクトを取り囲む、直交座標系に少なくとも１辺が平行に配置された矩形の座標値によって示されるとする。
【００２９】
図２（ａ）では矩形１１ａの、図２（ｂ）では矩形１２ａの、図２（ｃ）では矩形１３ａの、四辺の各座標値により、それぞれ長方形１１、楕円形１２、多角形１３の位置または大きさが示される。
【００３０】
ここで、矩形を構成する四辺を、図２（ａ）に示すように左辺、右辺、上辺、下辺とそれぞれ定義する。この場合、矩形の座標値は、左辺と直交する座標軸（ｘ軸）上のｘ座標値、右辺と直交する座標軸（ｘ軸）上のｘ座標値、上辺と直交する座標軸（ｙ軸）上のｙ座標値、下辺と直交する座標軸（ｙ軸）上のｙ座標値から求められる。
【００３１】
なお、ｘ軸と直交する二辺のうちｘ座標値が大きい方の辺を右辺、小さい方の辺を左辺と称し、ｙ軸と直交する二辺のうちｙ座標値が大きい方の辺を上辺、小さい方の辺を下辺と称している。
【００３２】
以降、「矩形の左辺と直交する座標軸上のｘ座標値、右辺と直交する座標軸上のｘ座標値、上辺と直交する座標軸上のｙ座標値、下辺と直交する座標軸上のｙ座標値」を、「左辺、右辺、上辺、下辺の座標値」、または「四辺の座標値」とも称する。また、「辺と直交する座標軸上の座標値」を、「辺の座標値」とも称する。
【００３３】
オブジェクト間の位置のずれとは、複数のオブジェクトをそれぞれ取り囲む各矩形において互いに対応する辺、すなわち、左辺の組、右辺の組、上辺の組、下辺の組がそれぞれ直交する座標軸上の座標値の差異を示す値である。
【００３４】
次に、オブジェクト描画装置１００がオブジェクトを補正する全体の流れを説明する。図４は、本発明の第１の実施形態に係るオブジェクト描画装置１００の動作を示すフローチャートである。ここで、図１に示した表示部１６０には、同じく図１に示した描画部１７０によって描画された複数のオブジェクトが表示されているとする。
【００３５】
ユーザは、表示部１６０に表示されているオブジェクト間のビジュアルを整えたい、すなわち、端の位置をそろえたい複数のオブジェクトを、入力受付部１２０を介して選択する。ユーザは、例えばマウスを用いて複数のオブジェクトを選択する。
【００３６】
入力受付部１２０は、ユーザによるオブジェクトの選択操作を受け付ける（ステップＳ４０１）。入力受付部１２０は、選択されたオブジェクトの識別情報を、図１に示した選択オブジェクト記憶部１３０に記憶する（ステップＳ４０２）。入力受付部１２０は、例えば、ユーザによりオブジェクトが描画された際にそのオブジェクトの識別情報を保持しておくとともに、そのオブジェクトが選択されると、選択されたオブジェクトの識別情報を選択オブジェクト記憶部１３０に記憶すればよい。
【００３７】
続いて、入力受付部１２０は、ユーザから補正処理の実行指示を受け取ると（ステップＳ４０３においてＹＥＳ）、その旨を制御部１１０に通知する。例えば、オブジェクト描画装置１００は、表示部１６０に補正処理の実行ボタンを表示し、入力受付部１２０は、その実行ボタンが押下されたことを、補正処理の実行指示として受け取ってもよい。
【００３８】
制御部１１０は、上記通知に応じて、補正実行部１４０に対して、オブジェクトの補正処理を実行するよう指示する。
【００３９】
補正実行部１４０は、上記指示に応じて、ステップＳ４０２において識別情報が選択オブジェクト記憶部１３０に記憶されたオブジェクトの補正処理を実行する（ステップＳ４０４）。
【００４０】
次に、図３および図５を参照して、図４におけるステップＳ４０４に示した補正処理をより詳細に説明する。図５は、補正実行部１４０による補正処理を示すフローチャートである。なお、座標値を参照した具体例については、図６（ａ）、（ｂ）を参照して後述する。
【００４１】
選択オブジェクト記憶部１３０には、図４のステップＳ４０２においてユーザにより選択されたオブジェクトの識別情報が記憶されているとする。なお、以降の説明では、ユーザが描いたオブジェクトに限らず、オブジェクトを取り囲む矩形についても、「オブジェクト」と称する場合がある。
【００４２】
補正実行部１４０のエントリ検索部１４１は、選択オブジェクト記憶部１３０に格納されているエントリを検索し、補正対象オブジェクトとして選択されていないオブジェクトを１つ選択する（ステップＳ５０１）。ここで、上述したように、位置の基準とするオブジェクトを「比較対象オブジェクト」と称し、その比較対象オブジェクトに合わせて大きさまたは形状を変更するオブジェクトを「補正対象オブジェクト」と称する。
【００４３】
全オブジェクトが補正対象オブジェクトとして処理済みである場合（ステップＳ５０２でＹＥＳ）、補正実行部１４０は、処理を終了する。
【００４４】
全エントリが補正対象オブジェクトとして処理されていない場合（ステップＳ５０２でＮＯ）、エントリ検索部１４１は、ステップＳ５０１にて選択したオブジェクトの識別情報を、座標値取得部１４２に通知する。
【００４５】
座標値取得部１４２は、エントリ検索部１４１から受け取った識別情報により示される補正対象オブジェクトの座標値を取得する（ステップＳ５０３）。
【００４６】
続いて、エントリ検索部１４１は、選択オブジェクト記憶部１３０に格納されているエントリを検索し、比較対象オブジェクトとして選択されていないオブジェクトを１つ選択する（ステップＳ５０４）。ここでは、ステップＳ５０１において選択された補正対象オブジェクトに対する比較対象オブジェクトとして未選択のオブジェクトが選択される。全オブジェクトが比較対象オブジェクトとして処理済みである場合（ステップＳ５０５でＹＥＳ）、エントリ検索部１４１は、処理をＳ５０１に戻す。
【００４７】
全エントリが比較対象オブジェクトとして処理されていない場合（ステップＳ５０５でＮＯ）、エントリ検索部１４１は、ステップＳ５０４にて選択したオブジェクトの識別情報を、座標値取得部１４２に通知する。
【００４８】
座標値取得部１４２は、エントリ検索部１４１から受け取った識別情報により示される比較対象オブジェクトの座標値を取得する（ステップＳ５０６）。
【００４９】
算出部１４３は、ステップＳ５０３とステップＳ５０６で取得された補正対象オブジェクトと比較対象オブジェクトをそれぞれ取り囲む各矩形の、対応する辺の組の座標値のずれをそれぞれ算出する（ステップＳ５０７）。比較部１４４は、ステップＳ５０７において算出された座標値の各ずれと、図１に示した設定記憶部１５０に記憶されている閾値とをそれぞれ比較し、ずれが閾値以下であるか否かをそれぞれ判別する（ステップＳ５０８）。
【００５０】
判別の結果、座標値の各ずれのうち少なくとも一辺の座標値のずれが閾値以下である場合（ステップＳ５０８でＹＥＳ）、代入部１４５は、座標値の代入を行う（ステップＳ５０９）。すなわち、代入部１４５は、座標値のずれが閾値以下である辺の組について、補正対象オブジェクトの辺のｘ座標値またはｙ座標値に、比較対象オブジェクトにおける上記辺と対応する辺のｘ座標値またはｙ座標値を、代入する。
【００５１】
そして、代入部１４５は、座標値を代入することにより大きさが変更された矩形に合わせて、補正対象オブジェクトの大きさまたは形状を変更する。そして、代入部１４５は、処理をステップＳ５０４に戻す。
【００５２】
一方、算出部１４３により算出された座標値のずれがすべて閾値より大きい場合（ステップＳ５０８でＮＯ）、比較部１４４は、処理をステップＳ５０４に戻す。そして、未選択の比較対象オブジェクトが選択され、その比較対象オブジェクトと当該補正対象オブジェクトについて、ステップＳ５０６乃至ステップＳ５０９が行われる。
【００５３】
すべてのオブジェクトが比較対象オブジェクトとして処理されると（ステップＳ５０５においてＹＥＳ）、選択されていないオブジェクトが補正対象オブジェクトとして選択されると共に、その補正対象オブジェクトに対して、上記と同様の処理が行われる。
【００５４】
すべてのオブジェクトが補正対象オブジェクトとして選択され、上記処理が終了すると、補正実行部１４０は、補正処理を終了する。
【００５５】
次に、図６（ａ）、（ｂ）に示したオブジェクトの具体例を用いて、図５に示した補正処理について説明する。図６（ａ）、（ｂ）は、オブジェクト描画装置１００により補正されるオブジェクトの具体例を示す図である。図６（ａ）は、補正前のオブジェクトの配置を示し、図６（ｂ）は、補正後のオブジェクトの配置を示す。
【００５６】
図６（ａ）、（ｂ）では、ユーザが描画した図示しないオブジェクトをそれぞれ取り囲む矩形であるＯｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、及びＯｂｊｅｃｔ３が、直交座標（ｘｙ座標）系に示されているとする。以降では、矩形Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、及びＯｂｊｅｃｔ３のみでなく、矩形Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、及びＯｂｊｅｃｔ３にそれぞれ取り囲まれたオブジェクトそのものについても、説明の便宜上、「Ｏｂｊｅｃｔ１」、「Ｏｂｊｅｃｔ２」、及び「Ｏｂｊｅｃｔ３」と称する場合がある。
【００５７】
ユーザにより、ビジュアルを整えるオブジェクトとして、Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、及びＯｂｊｅｃｔ３が、入力受付部１２０を介して選択され、選択オブジェクト記憶部１３０には、選択された３つのオブジェクトの識別情報が記憶されているとする。なお、ユーザは、表示されているすべてのオブジェクトを選択することに限らず、任意のオブジェクトを選択すればよい。
【００５８】
上記状態で、ユーザは、入力受付部１２０を介して、補正処理の実行を指示したとする。
【００５９】
入力受付部１２０は、上記指示を受け付けると、その指示を制御部１１０に通知する。制御部１１０は、上記通知を受けると、補正実行部１４０に対して、補正処理を実行するよう指示する。補正実行部１４０は、上記指示に応じて、以下のようにオブジェクトの補正を行う。
【００６０】
まず、補正実行部１４０のエントリ検索部１４１は、選択オブジェクト記憶部１３０が格納するエントリを検索し、図５のステップＳ５０１に示したように、補正対象オブジェクトとして選択されていないオブジェクトを１つ選択する。ここでは、未選択の補正対象オブジェクトとして、Ｏｂｊｅｃｔ２が選択されたとする。
【００６１】
ここで、選択オブジェクト記憶部１３０に記憶される識別情報の一例を、図７に示す。図７に示すように、選択オブジェクト記憶部１３０には、Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２、Ｏｂｊｅｃｔ３の識別情報が記憶されている。
【００６２】
エントリ検索部１４１は、選択したＯｂｊｅｃｔ２の識別情報を座標値取得部１４２に通知する。座標値取得部１４２は、上記通知に応じて、図５のステップＳ５０３に示したように、Ｏｂｊｅｃｔ２の四辺の座標値を取得する。ここで、図６（ａ）に示すように、Ｏｂｊｅｃｔ２の左辺のｘ座標値をαｘ１、右辺のｘ座標値をαｘ２、上辺のｙ座標値をαｙ１、下辺のｙ座標値をαｙ２とする。座標値取得部１４２は、これらＯｂｊｅｃｔ２の四辺の座標値を取得する。
【００６３】
続いて、エントリ検索部１４１は、選択オブジェクト記憶部１３０が格納するエントリを検索し、図５のステップＳ５０４に示したように、比較対象オブジェクトとして選択されていない（未選択の）オブジェクトを１つ選択する。ここでは、未選択の比較対象オブジェクトとして、Ｏｂｊｅｃｔ１が選択されたとする。
【００６４】
エントリ検索部１４１は、選択したＯｂｊｅｃｔ１の識別情報を座標値取得部１４２に通知する。座標値取得部１４２は、上記通知に応じて、図５のステップＳ５０６に示したように、Ｏｂｊｅｃｔ１の四辺の座標値を取得する。ここで、図６（ａ）に示すように、Ｏｂｊｅｃｔ１の左辺のｘ座標値をβｘ１、右辺のｘ座標値をβｘ２、上辺のｙ座標値をβｙ１、下辺のｙ座標値をβｙ２とする。座標値取得部１４２は、これらＯｂｊｅｃｔ１の四辺の座標値を取得する。
【００６５】
続いて、図５のステップＳ５０７に示したように、算出部１４３は、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ２の四辺の座標値のずれをそれぞれ算出する。ここで、四辺の座標値のずれとは、Ｏｂｊｅｃｔ１、Ｏｂｊｅｃｔ２において互いに対応する辺の組、すなわち、左辺の組、右辺の組、上辺の組、下辺の組それぞれ直交する座標軸上の座標値の差異を示す値である。
【００６６】
図６（ａ）に示すように、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ２の、各左辺の各ｘ座標値のずれをＤｉｆｆ１、各右辺のｘ座標値のずれをＤｉｆｆ２、各上辺のｙ座標値のずれをＤｉｆｆ３、各下辺のｙ座標値のずれをＤｉｆｆ４とする。
【００６７】
Ｄｉｆｆ１乃至Ｄｉｆｆ４は、例えば、以下の式（１）乃至（４）により算出できる。
Ｄｉｆｆ１＝｜αｘ１−βｘ１｜      （１）
Ｄｉｆｆ２＝｜αｘ２−βｘ２｜      （２）
Ｄｉｆｆ３＝｜αｙ１−βｙ１｜      （３）
Ｄｉｆｆ４＝｜αｙ２−βｙ２｜      （４）
Ｄｉｆｆ１乃至Ｄｉｆｆ４は、それぞれ座標値の差異の絶対値を示す。Ｄｉｆｆ１乃至Ｄｉｆｆ４はまた、ドット値により示されてもよい。算出部１４３は、上記のように算出した値を、比較部１４４に通知する。
【００６８】
比較部１４４は、図５のステップＳ５０８に示したように、算出部１４３から通知された、Ｄｉｆｆ１乃至Ｄｉｆｆ４と、図１に示す設定記憶部１５０に記憶されている閾値とを比較する。
【００６９】
本実施形態および以下の実施形態では、算出部１４３により算出されたずれのうち、閾値以下のずれを、補正の対象とする。これは、閾値より大きいずれは、補正すべき対象ではなくユーザが意図してずらした配置と考えられるためである。このため、閾値には、解消すべき微小なずれの値が設定されることが望ましい。比較部１４４は、Ｄｉｆｆ１乃至Ｄｉｆｆ４のうち、閾値以下となるずれを判別する。
【００７０】
Ｄｉｆｆ１乃至Ｄｉｆｆ４がそれぞれ閾値（以降、ＴＳＤとも称する）以下であるかは、例えば以下の式（５）乃至（８）により判別できる。
Ｄｉｆｆ１≦ＴＳＤ      （５）
Ｄｉｆｆ２≦ＴＳＤ      （６）
Ｄｉｆｆ３≦ＴＳＤ      （７）
Ｄｉｆｆ４≦ＴＳＤ      （８）
ＴＳＤは、例えばドット値により示されてもよい。
【００７１】
比較部１４４は、上記式（５）乃至（８）により判別した結果を、代入部１４５に通知する。ここでは、図６（ａ）に示したように、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ２の左辺の組、右辺の組の各ずれであるＤｉｆｆ１、Ｄｉｆｆ２は、閾値以下であるとする。一方、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ２の上辺の組、下辺の組の各ずれであるＤｉｆｆ３、Ｄｉｆｆ４は、閾値より大きいとする。すなわち、比較部１４４による比較の結果、式（５）および式（６）は「真」、式（７）および式（８）は「偽」であるとする。比較部１４４は、上記結果を、代入部１４５に通知する。
【００７２】
なお、閾値（ＴＳＤ）は、矩形の四辺について一律に同じ値を設定してもよいし、矩形の左辺と右辺、上辺と下辺で、それぞれ異なる値（ＴＳＤｘ、ＴＳＤｙ）を設定してもよい。また、矩形の四辺それぞれについて個別の値（ＴＳＤｘ１、ＴＳＤｘ２、ＴＳＤｙ１、ＴＳＤｙ２）を設定してもよい。
【００７３】
代入部１４５は、図５のステップＳ５０９に示したように、比較部１４４から通知された結果が「真」であるずれを解消するように、座標値の代入を行う。すなわち、代入部１４５は、上記結果が「真」であるずれを生じている辺の組のうち、補正対象オブジェクトの辺の座標値を、比較対象オブジェクトの辺の座標値に置き換える。
【００７４】
代入部１４５は、上記のような座標値の置き換えを、例えば以下のように行う。
式（５）が真の場合：αｘ１にβｘ１を代入する。
式（６）が真の場合：αｘ２にβｘ２を代入する。
式（７）が真の場合：αｙ１にβｙ１を代入する。
式（８）が真の場合：αｙ２にβｙ２を代入する。
【００７５】
ここでは、式（５）、（６）が「真」であるので、代入部１４５は、「αｘ１にβｘ１を代入」し、「αｘ２にβｘ２を代入」する。
【００７６】
そして、代入部１４５は、上記代入をすることにより変更された矩形の大きさに合わせて、その矩形が取り囲むオブジェクトの大きさまたは形状を変更する。例えば、代入部１４５は、αｘ１へのβｘ１の代入による矩形の大きさの変化率（代入前と代入後の矩形の大きさの比率）に比例するように、取り囲むオブジェクトの大きさまたは形状を変更する。
【００７７】
そして、代入部１４５は、αｘ２へのβｘ２の代入による矩形の大きさの変化率に比例するように、取り囲むオブジェクトの大きさまたは形状を変更する。矩形の大きさに合わせたオブジェクトの大きさまたは形状の変更は、上記の方法に限定されない。
【００７８】
代入部１４５は、上記代入およびオブジェクトの変更を終了すると、処理を図５のステップＳ５０４に戻す。
【００７９】
続いて、エントリ検索部１４１は、未選択の比較対象オブジェクトを１つ選択する。ここでは、Ｏｂｊｅｃｔ３が選択されたとする。上記と同様に、座標値取得部１４２は、Ｏｂｊｅｃｔ３の四辺の座標値を取得し、算出部１４３は、Ｏｂｊｅｃｔ３とＯｂｊｅｃｔ２の四辺の座標値の各ずれを算出する。そして、比較部１４４は、算出した四辺の座標値の各ずれをそれぞれ閾値と比較する。
【００８０】
Ｏｂｊｅｃｔ３とＯｂｊｅｃｔ２に関する比較の場合、四辺の座標値の各ずれはそれぞれ閾値より大きいとする。この場合、比較部１４４は、処理をステップＳ５０４に戻す。
【００８１】
続いて、エントリ検索部１４１は、ステップＳ５０４、Ｓ５０５において、すべての比較対象オブジェクトが処理済みであると判断し、処理をステップＳ５０１に戻す。
【００８２】
エントリ検索部１４１は、ステップＳ５０１において、選択オブジェクト記憶部１３０から、未選択の補正対象オブジェクトとしてＯｂｊｅｃｔ３を選択したとする。
【００８３】
座標値取得部１４２は、Ｏｂｊｅｃｔ３の四辺の座標値を取得する。ここで、図６（ａ）に示すように、Ｏｂｊｅｃｔ３の左辺のｘ座標値はγｘ１、右辺のｘ座標値はγｘ２、上辺のｙ座標値はγｙ１、下辺のｙ座標値はγｙ２であるとする。座標値取得部１４２は、これらＯｂｊｅｃｔ３の四辺の座標値を取得する。
【００８４】
続いて、エントリ検索部１４１は、選択オブジェクト記憶部１３０が格納するエントリを検索し、未選択の比較対象オブジェクトとしてＯｂｊｅｃｔ１を選択したとする。座標値取得部１４２は、Ｏｂｊｅｃｔ１の四辺の座標値を取得する。ここで、上述したように、Ｏｂｊｅｃｔ１の左辺のｘ座標値はβｘ１、右辺のｘ座標値はβｘ２、上辺のｙ座標値はβｙ１、下辺のｙ座標値はβｙ２である。
【００８５】
続いて、算出部１４３は、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ３の四辺の座標値の各ずれをそれぞれ算出する。図６（ａ）に示すように、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ３の、各左辺のｘ座標値のずれをＤｉｆｆ５、各右辺のｘ座標値のずれをＤｉｆｆ６、各上辺のｙ座標値のずれをＤｉｆｆ７、各下辺のｙ座標値のずれをＤｉｆｆ８とする。
【００８６】
Ｄｉｆｆ５乃至Ｄｉｆｆ８は、例えば以下の式（９）乃至（１２）により算出できる。
Ｄｉｆｆ５＝｜γｘ１−βｘ１｜      （９）
Ｄｉｆｆ６＝｜γｘ２−βｘ２｜      （１０）
Ｄｉｆｆ７＝｜γｙ１−βｙ１｜      （１１）
Ｄｉｆｆ８＝｜γｙ２−βｙ２｜      （１２）
比較部１４４は、算出部１４３から通知された、Ｄｉｆｆ５乃至Ｄｉｆｆ８と、設定記憶部１５０に記憶されている閾値をそれぞれ比較する。比較部１４４は、Ｄｉｆｆ５乃至Ｄｉｆｆ８のうち、閾値以下となるずれを判別する。
【００８７】
Ｄｉｆｆ５乃至Ｄｉｆｆ８がそれぞれ閾値以下であるかは、例えば以下の式（１３）乃至（１６）により判別できる。
Ｄｉｆｆ５≦ＴＳＤ      （１３）
Ｄｉｆｆ６≦ＴＳＤ      （１４）
Ｄｉｆｆ７≦ＴＳＤ      （１５）
Ｄｉｆｆ８≦ＴＳＤ      （１６）
比較部１４４は、上記式（１３）乃至（１６）により判別した結果を、代入部１４５に通知する。ここでは、図６（ａ）に示したように、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ３の上辺の組のずれであるＤｉｆｆ７は、閾値以下であるとする。一方、Ｏｂｊｅｃｔ１とＯｂｊｅｃｔ３の右辺の組、左辺の組、下辺の組の各ずれであるＤｉｆｆ５、Ｄｉｆｆ６、Ｄｉｆｆ８は、閾値より大きいとする。すなわち、比較部１４４による比較の結果、式（１５）は「真」、式（１３）、（１４）および（１６）は「偽」であるとする。比較部１４４は、上記結果を、代入部１４５に通知する。
【００８８】
代入部１４５は、上記結果が「真」であるずれを生じている辺の組のうち、補正対象オブジェクトの辺の座標値を、比較対象オブジェクトの辺の座標値に置き換える。
【００８９】
代入部１４５は、上記のような座標値の置き換えを、例えば以下のように行う。
式（１３）が真の場合：γｘ１にβｘ１を代入する。式（１４）が真の場合：γｘ２にβｘ２を代入する。式（１５）が真の場合：γｙ１にβｙ１を代入する。式（１６）が真の場合：γｙ２にβｙ２を代入する。
【００９０】
ここでは、式（１５）が「真」であるので、代入部１４５は、「γｙ１にβｙ１を代入」する。
【００９１】
そして、代入部１４５は、上記代入をすることにより変更された矩形の大きさに合わせて、その矩形が取り囲むオブジェクトの大きさまたは形状を変更する。
【００９２】
代入部１４５は、上記代入およびオブジェクトの変更を終了すると、処理を図５のステップＳ５０４に戻す。
【００９３】
続いて、エントリ検索部１４１は、未選択の比較対象オブジェクトを１つ選択する。ここでは、Ｏｂｊｅｃｔ２が選択されたとする。上記と同様に、座標値取得部１４２は、Ｏｂｊｅｃｔ２の四辺の座標値を取得し、算出部１４３は、Ｏｂｊｅｃｔ３とＯｂｊｅｃｔ２の四辺の座標値の各ずれを算出する。そして、比較部１４４は、算出した四辺の座標値の各ずれをそれぞれ閾値と比較する。
【００９４】
上述したように、Ｏｂｊｅｃｔ３とＯｂｊｅｃｔ２に関する比較の場合、四辺の座標値の各ずれはそれぞれ閾値より大きいとする。よって、比較部１４４は、処理をステップＳ５０４に戻す。
【００９５】
ステップＳ５０４に処理が戻ると、すべての比較対象オブジェクトが処理済みである。よって、エントリ検索部１４１は、処理をステップＳ５０１に戻す。エントリ検索部１４１は、未選択の補正対象オブジェクトとしてＯｂｊｅｃｔ１を選択する。その後、上記と同様に、ステップＳ５０１乃至ステップＳ５０９が行われる。
【００９６】
補正実行部１４０は、上記の処理を、ユーザにより選択されたすべてのオブジェクトに対して行うことで、オブジェクト間の端の位置をそろえることができ、ビジュアルを整えることができる。
【００９７】
以上のように、本第１の実施形態によれば、オブジェクト描画装置１００の補正実行部１４０は、オブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された各矩形の四辺の各座標値を取得し、対応する辺の組の座標値のずれが閾値以下である辺の組を抽出する。そして、補正実行部１４０は、抽出した辺の組のうち補正対象オブジェクトを取り囲む矩形の辺の座標値に、比較対象オブジェクトを取り囲む矩形の辺の座標値を代入する。そして、補正実行部１４０は、上記代入により変更された矩形の大きさに合わせて、補正対象オブジェクトの大きさまたは形状を変更する。
【００９８】
この構成を採用することにより、本第１の実施形態によれば、オブジェクト描画装置１００によりオブジェクト間の端の位置をそろえることができるので、表示されたオブジェクトのビジュアルを、手間をかけることなく容易に整えることができるという効果が得られる。
【００９９】
また、本第１の実施形態によれば、予め設定された閾値以下のずれを生じている矩形の辺の組を基に補正するので、オブジェクトの補正すべき箇所を判別して補正すべき箇所のみを補正すると共に、意図してずらした配置と考えられる箇所は補正しないようにすることができるという効果が得られる。
【０１００】
また、入力受付部１２０は、位置そろえの対象とするオブジェクトの選択を受け付けるので、ユーザが位置そろえを望まないオブジェクトの補正を行わないようにすることができるという効果が得られる。
【０１０１】
なお、上記補正処理によりオブジェクトの大きさまたは形状を変更した場合、代入部１４５は、該オブジェクトにおいて座標値を変更した箇所（点、直線、曲線など）を識別可能に表示してもよい。例えば、変更された箇所の色を変更したり、線の形状を変更したりしてもよい。あるいは、変更前後のオブジェクト変化を、アニメーションにより動的に表示してもよい。識別可能な表示の方法は、これらの例に限定されない。
【０１０２】
また、上記説明では、オブジェクト描画装置１００は、ユーザが選択したオブジェクトを、位置そろえの対象として受け付けることを説明したが、これに限定されない。例えば、オブジェクト描画装置１００は、ページ単位の選択を受け付け、選択されたページ内のオブジェクトを位置そろえの対象としてもよい。あるいは、オブジェクト間の距離に基づいて、位置そろえの対象のオブジェクトが選択されてもよい。
【０１０３】
また、位置そろえを行わないオブジェクトの選択を受け付け、選択されていないオブジェクトを位置そろえの対象としてもよい。さらに、オブジェクト描画装置１００は、図５のステップＳ５０５に示したように比較対象オブジェクトを順に選択することに限定されず、位置の基準とするオブジェクトの選択を受け付け、選択されたオブジェクトに合わせて他のオブジェクトの大きさまたは形状を変更してもよい。
【０１０４】
また、上記では、二次元平面上に描画されたオブジェクトに対する補正について説明したが、これに限定されず、三次元空間上のｘｙｚ座標系に描画されたオブジェクトに対する補正を行ってもよい。三次元空間上に描画されたオブジェクトの補正は、例えば、以下のように行われる。すなわち、オブジェクト描画装置１００は、オブジェクトの位置または大きさを、そのオブジェクトを取り囲む、ｘｙｚ軸からなる直交座標系に少なくとも一辺が平行に配置された矩形の座標値で示す。補正実行部１４０は、補正対象オブジェクト及び比較対象オブジェクトをそれぞれ取り囲む各矩形の各辺のｘ座標値、ｙ座標値及びｚ座標値の各ずれを算出する。
【０１０５】
補正実行部１４０は、算出したずれのうち閾値以下のずれを解消するように、補正対象オブジェクトを取り囲む矩形の辺の座標値に、比較対象オブジェクトを取り囲む矩形の辺の座標値を代入すると共に、代入により変更された矩形の大きさに合わせて、補正対象オブジェクトの大きさまたは形状を変更する。
第２の実施形態
図８は、本発明の第２の実施形態に係る描画装置７００の構成を示すブロック図である。図８に示すように、描画装置７００は、位置取得部７１０及び代入部７２０を備える。
【０１０６】
位置取得部７１０は、表示画面に表示された、第１のオブジェクトと第２のオブジェクトをそれぞれ取り囲む、直交座標系に少なくとも１辺が平行に配置された第１の矩形と第２の矩形の、各辺と直交する座標軸上の座標値を取得する。
【０１０７】
代入部７２０は、第１の矩形と第２の矩形の互いに対応する辺の組のうち、それぞれの辺と直交する座標軸上の座標値の差異が所定の値より小さい該辺の組について、第１の矩形の辺と直交する座標軸上の座標値に、第２の矩形の辺と直交する座標軸上の座標値を代入すると共に、該代入された第１の矩形の大きさに合わせて第１のオブジェクトを変更する。
【０１０８】
描画装置７００は、例えば、上記第１の実施形態のオブジェクト描画装置１００により実現可能である。
【０１０９】
上記構成を採用することにより、本第２の実施形態によれば、代入により大きさが変更された第１の矩形に合わせて第１のオブジェクトを変更するので、第１のオブジェクトと第２のオブジェクトの端の位置をそろえることができ、オブジェクト間のビジュアルを、手間をかけることなく容易に整えることができるという効果を奏する。
【０１１０】
図１等に示した装置の各部は、それぞれ、図９に例示するハードウエア資源において実現される。すなわち、図９に示す構成は、プロセッサ１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３、外部接続インタフェース４、記録装置５および各構成要素を接続するバス６を備える。
【０１１１】
上述した各実施形態では、図９に示すプロセッサ１が実行する一例として、オブジェクト描画装置１００に対して、上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ１がＲＡＭ２に読み出して実行することによって実現する場合について説明した。しかしながら、図１等に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
【０１１２】
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【０１１３】
以上、上述した実施形態を参照して本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、種々の上記開示要素の多様な組み合わせ乃至選択など、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【０１１４】
１  プロセッサ
２  ＲＡＭ
３  ＲＯＭ
４  外部接続インタフェース
５  記憶装置
６  バス
１００  オブジェクト描画装置
１１０  制御部
１２０  入力受付部
１３０  選択オブジェクト記憶部
１４０  補正実行部
１５０  設定記憶部
１６０  表示部
１７０  描画部
１４１  エントリ検索部
１４２  座標値取得部
１４３  算出部
１４４  比較部
１４５  代入部
７００  描画装置
７１０  位置取得部
７２０  代入部
【図１】
2018101181.tif 000003
【図２】
2018101181.tif 000004
【図３】
2018101181.tif 000005
【図４】
2018101181.tif 000006
【図５】
2018101181.tif 000007
【図６】
2018101181.tif 000008
【図７】
2018101181.tif 000009
【図８】
2018101181.tif 000010
【図９】
2018101181.tif 000011