(57)【要約】【課題】表示アイテムを変形した後であっても、表示アイテムを容易に水平・垂直方向に配置可能な仕組みを提供すること。【解決手段】表示アイテムを変形するための複数の調整点と前記調整点を結ぶ線要素とを備える表示アイテムを表示部に表示可能な情報処理装置であって、まず表示アイテムの調整点に対する移動指示を受け付ける。移動指示を受け付けた調整点に連動して移動する線要素の配置位置を特定する。特定した線要素の配置位置に応じて表示アイテムを変形し、変形した表示アイテムの線要素のうち、水平方向または垂直方向の位置にある線要素を識別表示する。【選択図】図１０
2018097439.tif 000002
【特許請求の範囲】
【請求項１】
変形するための複数の調整点と前記調整点を結ぶ線要素とを備える表示アイテムを表示部に表示可能な情報処理装置であって、
前記表示アイテムの前記調整点に対する移動指示を受け付ける移動指示受付手段と、
前記移動指示受付手段で移動指示を受け付けた前記調整点に連動して移動する前記線要素の配置位置を特定する特定手段と、
前記特定手段で特定した前記線要素の配置位置に応じて前記表示アイテムを変形する変形手段と、
前記変形手段で変形した表示アイテムの前記線要素のうち、水平方向または垂直方向の位置にある線要素を識別表示する識別表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変形手段は、前記表示アイテムを回転した位置に変形させる機能を更に備え、
前記識別表示手段は、前記変形手段で回転させた表示アイテムが備える線要素のうち、水平方向または垂直方向に配置された前記線要素を識別表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記表示アイテムが複数存在する場合には、複数の表示アイテムが備えるそれぞれの前記線要素の傾き情報を特定し、
前記識別表示手段は、前記特定手段で傾き情報を特定した前記線要素のうち、同一の傾き情報を持つ複数の前記線要素を対応付けて識別表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記識別表示手段は、前記変形手段で変形された表示アイテムが備える、水平方向または垂直方向の位置にある前記線要素を識別表示しない事を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記識別表示手段は、前記変形手段で回転された表示アイテムであって、前記回転された表示アイテムが備える全ての線要素が水平方向または垂直方向の位置にある場合は、前記全ての線要素を識別表示することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
変形するための複数の調整点と前記調整点を結ぶ線要素とを備える表示アイテムを表示部に表示可能な情報処理装置の制御方法であって、
前記情報処理装置の移動指示受付手段が、前記表示アイテムの前記調整点に対する移動指示を受け付ける移動指示受付ステップと、
前記情報処理装置の特定手段が、前記移動指示受付ステップで移動指示を受け付けた前記調整点に連動して移動する前記線要素の配置位置を特定する特定ステップと、
前記情報処理装置の変形手段が、前記特定ステップで特定した前記線要素の配置位置に応じて前記表示アイテムを変形する変形ステップと、
前記情報処理装置の識別表示手段が、前記変形ステップで変形した表示アイテムの前記線要素のうち、水平方向または垂直方向の位置にある線要素を識別表示する識別表示ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項７】
変形するための複数の調整点と前記調整点を結ぶ線要素とを備える表示アイテムを表示部に表示可能な情報処理装置として機能させるプログラムであって、
前記情報処理装置を、
前記表示アイテムの前記調整点に対する移動指示を受け付ける移動指示受付手段と、
前記移動指示受付手段で移動指示を受け付けた前記調整点に連動して移動する前記線要素の配置位置を特定する特定手段と、
前記特定手段で特定した前記線要素の配置位置に応じて前記表示アイテムを変形する変形手段と、
前記変形手段で変形した表示アイテムの前記線要素のうち、水平方向または垂直方向の位置にある線要素を識別表示する識別表示手段
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示アイテムを変形した後であっても、表示アイテムを容易に水平・垂直方向に配置可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、写真やイラストデータ等の画像データをスマートフォンやパソコン等の情報処理装置で編集する技術が存在する。特に近年、スマートフォンでは様々な画像加工、編集機能を持つアプリケーションが配信され、ユーザは特別な知識や技術を持っていなくとも、手軽なタッチ操作で画像データを簡単に加工、編集可能である。
【０００３】
画像の加工、編集としては画像のサイズや色味、明るさの変更等があるが、テキスト（文字列）を画像に追加する加工もよく行われている。写真等の画像データに日時情報やコメントを追加して後から確認できるように加工する場合や、画像データに種類の異なるフォントや形状を用いたテキストを挿入し、デザイン性の高い画像を作成する場合などに用いられる。
【０００４】
テキストを挿入する場合は、テキストを読みやすくするため、またデザインとして見やすくするために、画像に対して水平に整列させて配置したい場合もある。
【０００５】
そこで引用文献１では、タッチパネルで手書き入力された文字を、文字の重心が直線の基準線上に位置するように並べることで、ユーザが所望する方向に沿って文字を直線上に整列させて表示することができ、手書き入力された文字を読みやすく表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２３４４１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このようにして、入力された文字を水平・垂直に並べることが可能であるが、近年では文字列を入力した後で、入力した文字列を変形可能な仕組みが存在する。文字列の変形はサイズの拡大縮小だけでなく、文字列に遠近感や奥行きを持たせたり、特殊な形状に変更したりすることも可能である。
【０００８】
そうした変形後の文字列は矩形の状態を保っていない場合が多いため、文字列の水平方向、垂直方向が分かりづらく、引用文献１の技術を適用してユーザの所望の方向に直線上に配置できたとしても、正確に水平方向、垂直方向に配置されているか確認することができない。また、画像に対して文字列を追加する際は、画像に合わせて文字を任意の形態に調整して配置させることが求められるため、そうした自由度の高い文字の変形と配置の調整を行うためには、引用文献１の技術を適用したとしても、不十分である。
【０００９】
また、変形した文字列を元の変形前の状態に戻す場合には、正確に元の変形前の矩形の状態に戻すならば、水平・垂直方向に文字列が並ぶはずである。しかしながら大幅な変形を文字列に対して行った場合は、水平・垂直方向に文字列の形状を戻すこと自体がユーザにとって手間であり、正確に水平・垂直方向に文字を整列させた状態になっているか確認することも難しい。
【００１０】
本発明は、表示アイテムを変形した後であっても、表示アイテムを容易に水平・垂直方向に配置可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
変形するための複数の調整点と前記調整点を結ぶ線要素とを備える表示アイテムを表示部に表示可能な情報処理装置であって、前記表示アイテムの前記調整点に対する移動指示を受け付ける移動指示受付手段と、前記移動指示受付手段で移動指示を受け付けた前記調整点に連動して移動する前記線要素の配置位置を特定する特定手段と、前記特定手段で特定した前記線要素の配置位置に応じて前記表示アイテムを変形する変形手段と、前記変形手段で変形した表示アイテムの前記線要素のうち、水平方向または垂直方向の位置にある線要素を識別表示する識別表示手段を備える情報処理装置。
【発明の効果】
【００１２】
本発明によれば、表示アイテムを変形した後であっても、表示アイテムを容易に水平・垂直方向に配置可能な効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】情報処理装置１００のハードウェア構成を示す図である。
【図２】情報処理装置１００の機能構成を示す図である。
【図３】本実施例の全体的な一連の処理の流れを示すフローチャートである。
【図４】情報処理装置１００に記憶される各種テーブルのテーブル構成を示す図である。
【図５】メイン画面５００の画面構成を示す図である。
【図６】文字列追加処理であり、第１の実施形態の一連の流れを示すフローチャートである。
【図７】メイン画面５００（ａ）とメイン画面５００（ｂ）を示す図である。
【図８】文字列入力画面８００の画面構成を示す図である。
【図９】文字列変形処置の一連の流れを示すフローチャートである。
【図１０】メイン画面５００（ｂ）を示す図である。
【図１１】文字列回転処理を示すフローチャートである。
【図１２】メイン画面５００（ｃ）とメイン画面５００（ｄ）とメイン画面５００（ｅ）を示す図である。
【図１３】メイン画面５００（ｆ）とメイン画面５００（ｇ）を示す図である。
【図１４】メイン画面５００（ｈ）とメイン画面５００（ｉ）を示す図である。
【図１５】第２の実施形態の一連の処理の流れを示すフローチャートである。
【図１６】メイン画面５００（ｊ）、メイン画面５００（ｋ）、メイン画面５００（ｌ）、及びメイン画面５００（ｍ）を示す図である。
【図１７】第３の実施形態の一連の処理の流れを示すフローチャートである。
【図１８】メイン画面５００（ｎ）を示す図である。
【図１９】メイン画面５００（ｏ）を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１５】
図１は、情報処理装置１００のハードウェア構成を示す図である。尚、図１に示すハードウェア構成はあくまで一例である。
【００１６】
情報処理装置１００は、タッチパネルを備える装置である。本実施形態では、いわゆるスマートフォンやタブレット端末のような装置を想定して説明を行うが、特にこれに限らない。タッチパネルを備える装置であれば、パーソナルコンピュータであってもよい。
【００１７】
ＣＰＵ１０１は、システムバスを介してメモリやコントローラを統括的に制御する。ＲＯＭ１０２あるいはフラッシュメモリ１１４には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム２００が記憶されている。更には、情報処理装置１００が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。
【００１８】
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１９】
ディスプレイコントローラ１０４は、ディスプレイ１１０等の表示装置への表示を制御する。ディスプレイ１１０は例えば液晶ディスプレイである。また、ディスプレイ１１０の表面にはタッチパネル１１１が備えられている。タッチパネル１１１に対するタッチ操作の検知をタッチパネルコントローラ１０５が制御する。タッチパネルコントローラ１０５は、タッチパネル１１１に対する複数の箇所に対するタッチ操作（以下、マルチタッチという。）も検知可能である。
【００２０】
カメラコントローラ１０６は、カメラ１１２における撮影を制御する。カメラ１１２はデジタルカメラであり、カメラコントローラ１０６からの制御で撮像した画像を撮像素子でデジタルデータに変換する。カメラ１１２は静止画と動画を撮影することが可能である。
【００２１】
センサコントローラ１０７は、情報処理装置１００が備える各種センサ１１３からの入力を制御する。情報処理装置１００のセンサ１１３には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
【００２２】
ネットワークコントローラ１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２３】
フラッシュメモリコントローラ１０９は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ１１４へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスクやフレキシブルディスク、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
【００２４】
前述したＣＰＵ１０１、各メモリ、各コントローラは、１つのチップ１１５に統合されている。いわゆるＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）の形態で情報処理装置１００の内部に備えられている。
【００２５】
尚、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ１１０での表示を可能としている。
【００２６】
本発明の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ１１４に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ１１４に格納されている。以上が、本実施形態におけるハードウェア構成である。
【００２７】
図２は、情報処理装置１００の機能構成を示す図である。尚、図２に示す機能構成はあくまで一例である。
【００２８】
情報処理装置１００の機能部として、記憶部２０１、表示制御部２０２、及び操作検知部２０３を備えている。これらはオペレーティングシステム２００において動作する機能部である。
【００２９】
記憶部２０１は、後述する各種テーブルの情報や各種画面、カメラ１１２で撮影することにより生成された画像データ等を構成する情報をＲＡＭ１０３やフラッシュメモリ１１４に記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。また、後述する文字列入力アプリ２１０からの要求があった場合も同様に動作する。
【００３０】
表示制御部２０２は、ディスプレイ１１０の表示を制御するための機能部である。表示制御部２０２から画面等の表示指示がなされると、ディスプレイコントローラ１０４を介してディスプレイ１１０に表示指示が送信される。そして、ディスプレイ１１０はこの指示を受信すると、指示に従って画面等を表示する。
【００３１】
操作検知部２０３は、タッチパネル１１１に対するタッチ操作を検知するための機能部である。タッチパネル１１１に対するタッチ操作の位置、タッチ操作された数等を検知することができる。また、タッチパネル１１１に対して１度タッチ操作がなされたのか、タッチ操作したままスライドした（以下、スライド操作という。）のか等、タッチ操作の種別も検知することができる。尚、本実施形態においては、タッチパネル１１１に対してタッチ操作をしたままスライドすることをスライド操作と呼ぶが、いわゆるフリック操作やスワイプ操作も含む。
【００３２】
また情報処理装置１００は、オペレーティングシステム２００において動作可能な文字列入力アプリ２１０がインストールされている。文字列入力アプリ２１０は、画像データ制御部２１１、表示制御指示部２１２、操作取得部２１３、アイテム情報取得部２１４、調整点制御部２１５、及び文字列制御部２１６を備えている。
【００３３】
画像データ制御部２１１は、記憶部２０１に記憶されている画像データに対して処理を実行するための機能部である。画像データ制御部２１１は、画像データの取得や保存を行うことができる。
【００３４】
表示制御指示部２１２は、文字列入力アプリ２１０で表示する画面等の表示を表示制御部２０２に指示するための機能部である。表示制御部２０２は、表示制御指示部２１２からの指示に応じた画面等をディスプレイ１１０（表示部）に表示する。
【００３５】
操作取得部２１３は、操作検知部２０３で検知したタッチ操作の内容を取得するための機能部である。文字列入力アプリ２１０は、操作検知部２０３から操作取得部２１３に渡されたタッチ操作の内容に応じて、各機能部が文字列の入力や後述するパースラインの生成、画面の表示制御等を実行する。
【００３６】
アイテム情報取得部２１４は、ユーザからの入力を受け付け生成される表示アイテムの情報を取得するための機能部である。表示アイテムとは、文字列（テキストデータ）、画像データ、動画データ等の、表示制御部２０２によってディスプレイ１１０に表示可能なアイテムを示す。本実施形態では表示アイテムの中でも文字列を中心に説明し、文字列は矩形の範囲内に表示され、矩形の変形、移動を受け付けると対応させて文字列を変形、移動させる。それら表示アイテムの変更処理等もアイテム情報取得部２１４で制御する。尚、必ずしも矩形の範囲内に表示アイテムを表示したり、矩形に合わせて変形させなくともよい。
【００３７】
調整点制御部２１５は、表示アイテムを囲む矩形の四隅に配置された、矩形もしくは直線（ライン）の位置を調整可能な調整点を制御する機能部である。尚、必ずしも矩形の四隅に配置される必要は無く、表示アイテムもしくは表示アイテムが備える直線や矩形を変形、調整可能な位置に配置されればよい。また調整点には、表示アイテムを回転させるための調整点も含み、当該調整点も表示アイテム周辺に表示されればよい。操作検知部２０３で調整点への操作を受け付け、操作取得部２１３で取得した情報に応じて表示アイテムの生成や変形を行う。調整点は座標情報で管理され、後述するデータテーブルで座標を管理することで調整点の位置を判定する。本実施形態では調整点の位置を変形することで四隅の調整点を通る矩形が変形され、合わせて表示アイテムが変形される。
【００３８】
文字列制御部２１６は、ユーザから入力された文字列の位置を移動したり、文字列を変形したりするための機能部である。文字列制御部２１６が文字列を変形する場合には、文字列をアウトライン化してパスデータに変換し、パスを操作することで文字列を変形する。また、文字列制御部２１６は、調整点制御部２１５からの指示に応じた形状となるよう、文字列を変形する。尚、文字列以外の表示アイテム（画像データ、絵文字、動画データ等）を本実施形態と同様の方法で移動・変形させる場合には、文字列制御部２１６が表示アイテムを文字列と同様に移動・変形する。以上が、本実施形態における機能構成である。
【００３９】
次に、本実施形態における一連の処理の流れについて、図３のフローチャートを用いて説明する。尚、本実施形態では文字列に対する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００４０】
ステップＳ３０１では、情報処理装置１００のＣＰＵ１０１は、ユーザからの指示に応じて文字列入力アプリ２１０のプログラムをフラッシュメモリ１１４から読み出して、これを起動する。
【００４１】
ステップＳ３０２では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能によりディスプレイ１１０に画像データの選択画面を表示し、画像データに対する選択を受け付ける。より具体的には、表示制御指示部２１２の機能により画像データの選択画面の表示指示を表示制御部２０２に行うことで表示する。画像データの選択画面は、フラッシュメモリ１１４に記憶された画像データの一覧が表示される画面である。この画面で文字列を追加したい画像データに対する選択をタッチ操作により受け付ける。
【００４２】
ステップＳ３０３では、情報処理装置１００のＣＰＵ１０１は、画像データ制御部２１１の機能により、ステップＳ３０２で選択された画像データのコピーを生成し、ＲＡＭ１０３に一時保存する。こうすることで、フラッシュメモリ１１４に記憶された画像データに対して変更を加えることなく、作業を進めることができる。
【００４３】
図４の画像データテーブル４００は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。画像データテーブル４００は、画像ＩＤ４０１を含む。画像ＩＤ４０１は、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データに一意に割り振られた識別番号を示す。尚、画像データテーブル４００のテーブル構成はあくまで一例であり、これに限らない。
【００４４】
ステップＳ３０４では、情報処理装置１００のＣＰＵ１０１は、図５に示すようなメイン画面５００を生成し、表示制御部２０２の機能によりディスプレイ１１０にメイン画面５００を表示する。より具体的には、生成されたメイン画面５００の表示指示を表示制御指示部２１２から表示制御部２０２に送信し、これを表示する。メイン画面５００には、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データが画像データ表示領域５０１に表示される。また、メイン画面５００は、追加ボタン５０２と保存ボタン５０３とを備えている。追加ボタン５０２は、新たな文字列を追加するためのボタンである。また、保存ボタン５０３は、文字列を追加した画像データを保存するためのボタンである。尚、メイン画面５００の構成はあくまで一例であり、これに限らない。
【００４５】
ステップＳ３０５では、情報処理装置１００のＣＰＵ１０１は、文字列追加処理を実行する。文字列追加処理の詳細は、後述する図６に示す。
【００４６】
ステップＳ３０６では、情報処理装置１００のＣＰＵ１０１は、操作検知部２０３の機能によりタッチパネル１１１に対するタッチ操作を検知したか否かを判定する。より具体的には、操作取得部２１３が操作検知部２０３からタッチ操作の内容を取得したか否かによって、タッチパネル１１１に対するタッチ操作を検知したか否かを判定する。タッチパネル１１１に対するタッチ操作を検知したと判定した場合には、ステップＳ３０７に処理を進める。タッチパネル１１１に対するタッチ操作を検知したと判定しなかった場合には、タッチパネル１１１に対するタッチ操作を検知するまで、ステップＳ３０６を繰り返し実行する。
【００４７】
ステップＳ３０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ステップＳ３０５で追加された文字列が備える４つの調整点のいずれかに対しての操作を受け付けたか否かを判定する。尚、本実施形態では矩形の四隅に配置された調整点を示すため、４つの調整点があることを前提に説明するが、調整点は４つ以下でも以上でもどちらでもよい。調整点のいずれかに対する操作を受け付けたと判定した場合はステップＳ３０８の文字列変形処理を実行する。文字列変形処理については図９で後述する。
【００４８】
ステップＳ３０９では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、拡大操作もしくは縮小操作を受け付けたか否かを判定する。拡大操作もしくは縮小操作は、いわゆるピンチインやピンチアウト操作のことを示す。拡大操作もしくは縮小操作を受け付けたと判定した場合はステップＳ３１０に処理を進める。拡大操作もしくは縮小操作を受け付けたと判定しなかった場合はステップＳ３１１に処理を進める。
【００４９】
ステップＳ３１０では、情報処理装置１００のＣＰＵ１０１は、ステップＳ３０９で受け付けた拡大もしくは縮小操作に応じて、表示制御部２０２の機能により、メイン画面５００に表示されている画像データと文字列と矩形とを拡大または縮小する。拡大・縮小処理が終わるとステップＳ３０６に処理を戻す。
【００５０】
ステップＳ３１１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列の回転操作を受け付けたか否かを判定する。回転操作を受け付けたと判定した場合はステップＳ３１２の文字列回転処理を実行する。回転操作を受け付けたと判定しなかった場合はステップＳ３１３に処理を進める。尚、文字列回転処理については図１０で後述する。
【００５１】
ステップＳ３１３では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列追加操作を受け付けたか否かを判定する。より具体的には、メイン画面５００の追加ボタン５０２が押下されたか否かを判定する。文字列の追加操作がなされたと判定した場合には、ステップＳ３１４に処理を進める。文字列の追加操作がなされたと判定しなかった場合には、ステップＳ３１５に処理を進める。
【００５２】
ステップＳ３１４では、情報処理装置１００のＣＰＵ１０１は、文字列追加処理を実行する。ステップＳ３１４で実行する文字列追加処理は、ステップＳ３０５で実行する文字列追加処理を同じである。ステップＳ３１４では、ステップＳ３０５で追加する文字列とは別の文字列を追加することになる。文字列追加処理の詳細は、後述する図６に示す。
【００５３】
ステップＳ３１５では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列の削除操作がなされたか否かを判定する。より具体的には、ステップＳ３０５またはステップＳ３１４の文字列追加処理で画像データ上に追加された文字列に対して所定秒数タッチを受け付け、これに応じて表示される削除ボタン（不図示）に対するタッチ操作を検知したか否かを判定する。文字列の削除操作がなされたと判定した場合には、ステップＳ３１６に処理を進める。文字列の削除操作がなされたと判定しなかった場合には、ステップＳ３１７に処理を進める。
【００５４】
ステップＳ３１６では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機により、ステップＳ３１５で所定秒数タッチを受け付けた文字列を削除する。また、削除した文字列に関する矩形と調整点も合わせて削除する。削除処理が完了すると、ステップＳ３０６に処理を戻す。
【００５５】
ステップＳ３１７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、保存操作がなされたか否かを判定する。より具体的には、メイン画面５００の保存ボタン５０３が押下されたか否かを判定する。保存操作がなされたと判定した場合には、ステップＳ３１８に処理を進める。保存操作がなされたと判定しなかった場合には、ステップＳ３１８に処理を進める。
【００５６】
ステップＳ３１８では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により、フラッシュメモリ１１４の任意の保存場所に、文字列が追加された画像データを保存する。画像データを保存する際には、画像データ制御部２１１の機能により、メイン画面５００に表示されている文字列をステップＳ３０３でＲＡＭ１０３に一時記憶した画像データに合成した画像データを生成する。そして、生成した画像データを記憶部２０１の機能により、フラッシュメモリ１１４の任意の保存場所に保存する。このように、保存操作がなされることで、画像データに合わせて任意に変形された文字列が合成された画像データが書き出される。保存が完了すると、ステップＳ３０６に処理を戻す。
【００５７】
ステップＳ３１９では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列入力アプリ２１０の起動終了操作がなされたか否かを判定する。文字列入力アプリ２１０の起動終了操作は、メイン画面５００に終了ボタンを設けてもよいし、オペレーティングシステム２００が備えるメニューによって終了させてもよい。文字列入力アプリ２１０の起動終了操作がなされたと判定した場合には、本一連の処理を終了する。文字列入力アプリ２１０の起動終了操作がなされたと判定しなかった場合には、いずれの操作にも該当しないので、ステップＳ３０６に処理を戻す。以上が、本実施形態における一連の処理の流れである。
【００５８】
次に、文字列追加処理の詳細な処理の流れについて、図６のフローチャートを用いて説明する。尚、本実施形態では文字列を追加する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００５９】
まずステップＳ６０１では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ディスプレイ１１０に図８に示すような文字列入力画面８００を表示し、文字列の入力を受け付ける。文字列入力画面８００は、選択された画像データに追加する文字列を入力するための画面である。文字列入力画面８００は、文字列表示領域８０１、キーボード入力領域８０２、ＯＫボタン８０３を備えている。文字列表示領域８０１は、キーボード入力領域８０２で受け付けたキー入力により文字列を表示する領域である。キーボード入力領域８０２は、ソフトウェアキーボードを表示するための領域である。ＯＫボタン８０３は、文字列の入力を完了するためのボタンである。尚、本実施形態では文字列の入力を受け付けているが、前述した表示アイテムの入力を受け付けるようにしてもよい。以下、文字列に対する処理については表示アイテムに対する処理に置き換えることが可能である。
【００６０】
ステップＳ６０２では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ＯＫボタン８０３が押下されたか否かを判定する。ＯＫボタン８０３が押下されたと判定した場合には、ステップＳ６０３に処理を進める。ＯＫボタン８０３が押下されたと判定しなかった場合には、ＯＫボタン８０３が押下されるまでステップＳ６０２の処理を繰り返す。
【００６１】
ステップＳ６０３では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により、ステップＳ６０１で入力を受け付けた文字列を図４に示す文字テーブル４１０に記憶する。より具体的には、文字テーブル４１０に新たなレコードを作成し、このレコードの文字４１２に入力を受け付けた文字列を格納する。
【００６２】
図４の文字テーブル４１０は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。文字テーブル４１０は、文字列ＩＤ４１１、文字４１２、表示位置４１３、表示幅４１４を含む。文字列ＩＤ４１１は、文字列ごとに一意に割り振られる識別情報が格納される項目である。文字４１２は、ステップＳ６０１で入力を受け付けた文字列が格納される項目である。この文字４１２が画像データ上に表示されることになる。表示位置４１３は、文字列が表示される座標情報等が格納される項目である。表示幅４１４は、文字列の表示幅が格納される項目である。文字列に対して操作を受け付け、文字列が変形された場合はこの項目が書き変わる。尚、文字テーブル４１０のテーブル構成はあくまで一例であり、これに限らない。
【００６３】
ステップＳ６０４では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、メイン画面５００を表示する。また、ステップＳ３０４と同様に、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データが画像データ表示領域５０１に表示される。このように画像データを表示した状態で、後述する調整点に対する操作を受け付けることにより、画像データに合わせて文字列の変形を調整することが可能となる。
【００６４】
ステップＳ６０５では、情報処理装置１００のＣＰＵ１０１は、調整点制御部２１５の機能により、入力を受け付けた文字列の周りに配置する調整点を生成する。調整点は文字列の表示幅の端に配置されるとよい。
【００６５】
ステップＳ６０６では、情報処理装置１００のＣＰＵ１０１は、ステップＳ６０５で生成した各調整点のＸ座標とＹ座標を特定する。特定した座標情報は、図４の矩形テーブル４２０の第１調整点４２３、第２調整点４２４、第３調整点４２５、第４調整点４２６に格納される。矩形テーブル４２０については、後述する。
【００６６】
ステップＳ６０７では、情報処理装置１００のＣＰＵ１０１は、ステップＳ６０５で生成した各調整点を結ぶ矩形を生成する。
【００６７】
ステップＳ６０８では、情報処理装置１００のＣＰＵ１０１は、ステップＳ６０７で生成した矩形の傾きを特定する。ステップＳ６０７で生成した矩形は、変形前の状態は１８０度、もしくは９０度の角度とする。矩形の傾きは矩形の中心点を通る水平・垂直な線に対しての角度を特定しても良いし、矩形を形成するラインの画像に対する角度を特定しても良い。また、傾きが分かれば角度以外の情報であってもよい。特定した傾きの情報は、図４の矩形テーブル４２０の矩形傾き４２２に格納する。
【００６８】
図４の矩形テーブル４２０は、矩形ＩＤ４２１と、矩形傾き４２２と、第１調整点４２３と、第２調整点４２４と、第３調整点４２５と、第４調整点４２６とを含む。矩形ＩＤ４２１は、ステップＳ６０７で生成した矩形を一意に識別する識別情報を示す項目である。矩形傾き４２２は、ステップＳ６０８で特定した矩形の傾きを示す項目である。第１調整点４２３は、矩形を構成する４つの調整点のうち、第１の調整点のＸ座標とＹ座標を格納する項目である。第２調整点４２４は、矩形を構成する４つの調整点のうち、第２の調整点のＸ座標とＹ座標を格納する項目である。第３調整点４２５は、矩形を構成する４つの調整点のうち、第３の調整点のＸ座標とＹ座標を格納する項目である。第４調整点４２６は、矩形を構成する４つの調整点のうち、第４の調整点のＸ座標とＹ座標を格納する項目である。第１調整点４２３と、第２調整点４２４と、第３調整点４２５と第４調整点４２６は、それぞれの調整点が移動されるたびに移動した調整点の座標を該当する項目に随時格納し、調整点の位置を記憶する。また、図４のラインテーブル４３０は、ラインＩＤ４３１と、矩形ＩＤ４３２と、文字列ＩＤ４３３と、始点４３４と、終点４３５と、ライン傾き４３６とを備える。ラインＩＤ４３１は、ラインテーブル４３０に格納され、矩形を構成する直線（線要素）に割り振られる識別情報を示す。矩形ＩＤ４３２は、ステップＳ６０７で生成した矩形を一意に識別する識別情報を示す項目であり、ラインＩＤ４３１に格納されるライン（直線・線要素）を含む矩形の識別情報を示す。文字列ＩＤ４３３は、文字列ごとに一意に割り振られる識別情報が格納される項目である。始点４３４は、ラインＩＤ４３１に格納される２点の調整点を結ぶ線から構成されるラインの始点となる調整点の座標を格納する。終点４３５は、ラインＩＤ４３１に格納される２点の調整点を結ぶ線から構成されるラインの終点となる調整点の座標を格納する。ライン傾き４３６は、ラインＩＤ４３１に格納されたラインの傾きを格納する項目を示す。角度情報を用いて傾きとしても良いし、その他の数値や情報であってもよい。
【００６９】
ステップＳ５６０９では、情報処理装置１００のＣＰＵ１０１は、ステップＳ６０１で表示された文字列入力画面で入力された文字列と、ステップＳ６０５で生成した調整点と、ステップＳ６０７で生成した矩形をディスプレイ１１０に表示する。
【００７０】
図７の（ａ）は、メイン画面５００上に、ステップＳ６０７で文字列と調整点と矩形を表示した様子の一例を示す。図７のメイン画面５００は、文字列７０１と、調整点７０２と、ライン７０３を備える。文字列７０１は、追加ボタン５０２の押下を受け付け、文字列入力画面８００で入力を受け付けた文字を表示した様子を示す。調整点７０２は、文字列７０１を変形させるための操作指示を受け付ける点を示す。本実施形態では文字列７０１に対して４つの調整点７０２が配置される。ライン７０３は２点の調整点７０２を結んだラインを示す。４つの調整点７０２のそれぞれを結んだライン７０３から文字列７０１を囲む矩形が生成される。この矩形の領域にある文字列７０１は、矩形の領域の変更に応じて文字列７０１も変形する。
【００７１】
以上で、図６の文字列追加処理の一連の流れの説明を終了する。この処理により、変形可能な文字列をメイン画面５００上に生成できる。
【００７２】
次に、図９を用いて文字列変形処理の一連の流れについて説明する。図９から図１４までは本発明の第１の実施形態である。図９のフローチャートは、文字列変形処理による文字列の変形後に、水平・垂直な方向に文字列が配置された場合には水平・垂直方向に文字列が配置されたことが分かるように識別表示する仕組みである。尚、本実施形態では文字列を追加する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００７３】
ステップＳ９０１は、情報処理装置１００のＣＰＵ１０１は、操作検知部２０３より、調整点７０２に対するタッチ操作を受け付けたか否かを判定する。調整点７０２に対するタッチ操作を受け付けたと判定した場合にはステップＳ９０２に処理を進める。調整点７０２に対するタッチ操作を受け付けたと判定しなかった場合には調整点７０２に対するタッチ操作を受け付けるまでステップＳ９０１の処理を繰り返す。
【００７４】
ステップＳ９０２では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０１で操作を受け付け（移動指示受付）、位置が移動した調整点７０２の位置を特定する。特定した調整点７０２の位置を示す座標情報は、図４の矩形テーブル４２０の第１調整点４２３から第４調整点４２６の該当するいずれかの項目に格納される。また、ラインテーブル４３０の始点４３４もしくは終点４３５に格納される。始点と終点は先にタッチ操作を受け付けたと調整点を始点、後にタッチ操作を受け付けた調整点を終点としても良いし、あらかじめ定義づけておいてもよい。
【００７５】
ステップＳ９０３では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０２で特定した調整点７０２の位置に応じて文字列７０１を囲む矩形を変形させる。
【００７６】
図７のメイン画面５００（ｂ）はメイン画面５００（ａ）の調整点７０２のタッチ操作を受け付け、スライド操作で移動させることで文字列７０１を変形した図を示す。メイン画面５００（ｂ）は調整点７０２から伸びるライン７０３とライン７０４を含む。
【００７７】
ステップＳ９０４では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０１で操作を受け付けた調整点７０２から伸びるラインを特定し、そのラインの傾き（配置位置）を特定する。特定した傾きは図４のラインテーブル４３０のライン傾き４３６に格納される。メイン画面５００（ｂ）では、傾きが特定されるラインは移動された調整点７０２から伸びるライン７０３とライン７０４である。尚、全てのラインの傾きを特定してもよい。
【００７８】
ステップＳ９０５では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０３で変形した矩形からなる領域に応じて文字列制御部２１６の機能により文字列７０１を変形する。
【００７９】
ステップＳ９０６では、情報処理装置１００のＣＰＵ１０１は、Ｘ座標が同一座標である調整点があるか否かを判定する。より具体的には、矩形テーブル４２０の第１調整点４２３から第４調整点４２６に格納されているそれぞれの調整点を照らし合わせ、同一のＸ座標を持つ調整点があるか否かを判定する。Ｘ座標が同一の調整点があると判定した場合はステップＳ９０８に処理を進める。Ｘ座標が同一の調整点があると判定しなかった場合はステップＳ９０７に処理を進める。
【００８０】
ステップＳ９０７では、情報処理装置１００のＣＰＵ１０１は、Ｙ座標が同一座標である調整点があるか否かを判定する。より具体的には、矩形テーブル４２０の第１調整点４２３から第４調整点４２６に格納されているそれぞれの調整点を照らし合わせ、同一のＹ座標を持つ調整点があるか否かを判定する。Ｙ座標が同一の調整点があると判定した場合はステップＳ９０８に処理を進める。Ｙ座標が同一の調整点があると判定しなかった場合は一連の処理を終了する。
【００８１】
ステップＳ９０８では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０６で特定した同一のＸ座標を持つ２つの調整点、もしくはステップＳ９０７で特定した同一のＹ座標を持つ２つの調整点を結んだラインを特定する。同一のＸ座標を持つ調整点と、同一のＹ座標を持つ調整点がどちらも存在した場合はそれぞれその２つの調整点を結んだラインを特定する。
【００８２】
ステップＳ９０９では、情報処理装置１００のＣＰＵ１０１は、ステップＳ９０８で特定したＸ座標またはＹ座標が同一、もしくはＸ座標とＹ座標のいずれかが同一な調整点が複数あった場合に特定したラインを水平もしくは垂直方向にあると判定する。そして水平・垂直方向にあることが分かるように識別表示する。水平・垂直方向にあるラインの色を変更しても良いし、ガイドを表示させたり通知したりしてもよい。
【００８３】
図１０のメイン画面５００（ｂ）は、図７のメイン画面５００（ｂ）の文字列７０１で水平・垂直にあるラインを識別表示する様子を示す図である。図１０のメイン画面５００（ｂ）はライン７０４とライン７０５とライン７０６と中心縦軸７０７と中心横軸７０８を含み、ライン７０４ライン７０６は垂直であることを示している。またライン７０５は水平であることを示す。中心縦軸７０７はメイン画面５００の中央に基準として配置する仮想的に設けた縦軸を示す。中心横軸７０８は、メイン画面５００の中央に基準として配置する仮想敵意設けた横軸を示す。ここでライン７０４とライン７０６は中心横軸７０８に対して垂直方向に配置され、中心横軸７０８と交わる部分の角度は９０度とする。ライン７０５は中心縦軸７０７に対して垂直方向に配置され、中心縦軸７０７と交わる部分の角度は９０度とする。中心横軸７０８に対しては水平、平行な関係にある。
【００８４】
以上で、図９の文字列変形処理について一連の流れの説明を終了する。
【００８５】
次に、図１１のフローチャートを用いて文字列回転処理についての一連の流れを説明する。尚、本実施形態では文字列を追加する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００８６】
ステップＳ１１０１は、情報処理装置１００のＣＰＵ１０１は、操作検知部２０３で検知した操作を操作取得部２１３で回転操作として取得し、回転指示を受け付けたか否かを判定する。回転指示を受け付けたと判定した場合はステップＳ１１０２に処理を進める。回転指示を受け付けたと判定しなかった場合は回転指示を受け付けるまでステップＳ１１０１の処理を繰り返す。
【００８７】
図１２は、メイン画面５００上で文字列変形処理を実行する様子を示す一例の図である。
【００８８】
メイン画面５００（ｃ）は回転ボタン１２０１を備える。回転ボタン１２０１は文字列７０１の回転指示を受け付けるボタン（アイコン）であり、この回転ボタン１２０１のタッチ操作とユーザが回転する方向への任意のスライド操作を受け付けた場合には、文字列７０１が回転する。尚、回転指示を受け付ける対象は回転ボタン１２０１でなくともよく、文字列７０１が備える調整点に対して回転させたい方向へのスライド操作を受け付けると回転させても良いし、スライド操作を受け付けなくとも回転させてもよい。文字列７０１の回転中の様子をメイン画面５００（ｄ）に示す。
【００８９】
ステップＳ１１０２は、情報処理装置１００のＣＰＵ１０１は、移動された調整点の位置を特定する。特定した調整点の位置（座標情報）は、矩形テーブル４２０の第１調整点４２３から第４調整点４２６の項目にそれぞれ格納される。
【００９０】
ステップＳ１１０３は、情報処理装置１００のＣＰＵ１０１は、２点の調整点を結ぶラインのそれぞれの傾きを特定する。文字列７０１が変形されていなければ、矩形の傾きを特定しても良い。特定した矩形の傾きは矩形テーブル４２０の矩形傾き４２２に格納される。また、特定したラインの傾きはライン傾き４３６に格納される。
【００９１】
ステップＳ１１０４では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１１０３で特定した矩形もしくはラインの傾きは９０度または１８０度か否かを判定する。角度についてはメイン画面５００が仮想的に持つ中心縦軸７０７と中心横軸７０８と、ラインが交差する箇所の角度で判定するとよい。尚、水平・垂直であることが分かる傾きの情報であれば角度の情報でなくともよい。傾きは矩形テーブル４２０の矩形傾き４２２、もしくはラインテーブル４３０のライン傾き４３６を参照して判断する。ラインまたは矩形の傾きが９０度または１８０度であると判定した場合は、ステップＳ１１０５に処理を進める。ラインまたは矩形の傾きが９０度または１８０度であると判定しなかった場合はステップＳ１１０６に処理を進める。
【００９２】
ステップＳ１１０５では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１０４でラインもしくは矩形の傾きが９０度または１８０度であると判定した場合に、水平・垂直方向にあることが分かるように識別表示する。水平・垂直方向にあるラインの色を変更しても良いし、ガイドを表示させたり通知したりしてもよい。
【００９３】
ステップＳ１１０６では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１１０３で傾きを特定していないラインもしくは矩形があるか否かを判定する。傾きを特定していない矩形もしくはラインがあると判定した場合はステップＳ１１０２に処理を戻す。傾きを特定していない矩形もしくはラインがあると判定しなかった場合はステップＳ１１０７に処理を進める。
【００９４】
ステップＳ１１０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能より、回転操作が終了したか否かを判定する。回転操作の終了は、所定時間回転操作指示を受け付けなかったことにより判定してもよいし、不図示の終了ボタンの押下を受け付けて判定してもよい。回転操作の終了を受け付けたと判定した場合は一連の処理を終了する。回転操作の終了を受け付けたと判定しなかった場合はステップＳ１１０２に処理を戻す。
【００９５】
図１２のメイン画面５００（ｅ）はステップＳ１１０４で矩形の傾きを判定し、ステップＳ１１０５で水平・垂直方向であることを識別表示している様子を示す図である。文字列７０１が回転操作でメイン画面５００に対して垂直方向となり、矩形全体のラインの色を変更して識別表示する。メイン画面５００（ｅ）において、ユーザが右下にスライド操作を行い文字列７０１が更に回転して垂直方向からずれた場合はラインの色は識別表示されず元の色に戻る。これにより、ユーザが文字列７０１を垂直に配置したい場合は直感的な操作で文字列７０１を移動させ、垂直に配置される場所まで回転した時に一目で垂直な位置を特定できる効果を奏する。
【００９６】
図１３のメイン画面５００（ｆ）とメイン画面５００（ｇ）は、変形後の文字列１３０１を回転させる様子を示す一例の図である。図１２のメイン画面５００（ｃ）と、メイン画面５００（ｄ）と、メイン画面５００（ｅ）は、文字列７０１自体は変形させず、矩形のまま回転させる場合の図を示した。図１３のメイン画面５００（ｆ）とメイン画面５００（ｇ）が備える文字列１３０１は、文字列１３０１を囲む４つ頂点が移動された後の文字列である。つまり、ライン１３０２と、ライン１３０３と、ライン１３０４と、ライン１３０５の位置が最初に表示された矩形の状態の位置から位置が移動された状態となっている。メイン画面５００（ｇ）では、ライン１３０３が垂直方向に配置されたことを識別表示している様子を示す。このように、変形された文字列であってもそれぞれのラインの傾きを特定し、ラインごとに水平・垂直方向であることを識別表示可能とする。そうすることでユーザは、メイン画面５００もしくは画像データ表示領域５０１に表示されている画像に合わせて文字列を任意の向きで水平・垂直方向に配置することが可能となる。
【００９７】
図１４は、メイン画面５００（ｈ）と、メイン画面５００（ｉ）とを示し、メイン画面５００（ｈ）は変形後の文字列１４０１を、調整点１４０２対する操作を受け付けることにより移動させる様子を示す一例の図である。メイン画面５００（ｈ）で調整点１４０２を下方向に移動させた結果メイン画面５００（ｉ）の表示状態となり、文字列１４０１の周りを４つのラインが矩形の状態に戻ることで矩形１４０３が水平・垂直方向に配置され識別表示される。また、水平・垂直方向に配置された瞬間に通知アイコン１４０４を表示しても良い。図１４のように、文字列を変形した後に矩形の状態に戻した場合でも水平・垂直方向を識別表示させることで、文字列の変形を変形前の元の状態に戻せた事をユーザに知らせることが可能となる。
【００９８】
次に、第２の実施形態について説明する。第１の実施形態では、水平・垂直方向に配置された文字列は変形した文字列か否かに関わらず、識別表示するしくみであった。図１５のフローチャートに示す第２の実施形態は、文字列が変形されたか否かを判定し、文字列が変形された場合は水平・垂直方向にあることを判定しても識別表示せず、文字列が変形されていない矩形の状態の時に識別表示するしくみである。以下、図１５のフローチャートを用いて説明する。
【００９９】
図１５のステップＳ１５０１からステップＳ１５０５の処理は、図３のステップＳ３０１からステップＳ３０５と同様の処理のため説明を省略する。
【０１００】
ステップＳ１５０６では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により文字列に対する操作を受け付けたか否かを判定する。文字列に対する操作を受け付けたと判定した場合には、ステップＳ１５０７に処理を進める。文字列に対する操作を受け付けたと判定しなかった場合には文字列に対する操作を受け付けるまでステップＳ１５０６の処理を繰り返す。
【０１０１】
ステップＳ１５０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により、ステップＳ１５０６で受け付けた操作は、文字列の回転操作か否かを判定する。文字列の回転操作を受け付けたと判定した場合はステップＳ１５０８の文字列回転処理に処理を進める。文字列の回転操作を受け付けたと判定しなかった場合はステップＳ１５０９へ処理を進める。
【０１０２】
ステップＳ１５０８は、図１１の文字列回転処理と同様の処理であるため説明を省略する。
【０１０３】
ステップＳ１５０９では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１５０６で受け付けた操作が、文字列の変形操作であるか否かを操作取得部２１３の機能により判定する。文字列変形操作であると判定した場合はステップＳ１５１０の文字列変形処理に処理を進める。文字列変形操作であると判定しなかった場合はステップＳ１５０７に処理を戻す。もしくはその他の操作であるかを判定し、操作を受け付けなかった場合は操作を終了してもよい。
【０１０４】
ステップＳ１５１０は、図９の文字列変形処理と同様の処理であるので説明を省略する。
【０１０５】
ステップＳ１５１１では、情報処理装置１００のＣＰＵ１０１は、操作検知部２０３の機能により操作の受け付けを所定時間検知しない場合や、不図示の操作終了ボタンの押下を受け付ける等して、文字列に対する操作を受け付け終了したか否かを判定する。文字列に対する操作の受け付けを終了したと判定した場合はステップＳ１５１２に処理を進める。文字列に対する操作の受け付けを終了したと判定しなかった場合はステップＳ１５０７に処理を戻す。
【０１０６】
ステップＳ１５１２では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１５１１で文字列に対する操作の受け付けを終了したと判定した場合に、移動された調整点の位置を調整点制御部２１５の機能により特定する。ステップＳ１５１２の処理は図１１のステップＳ１１０２と同様の処理であるので説明を省略する。
【０１０７】
ステップＳ１５１３では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１５１２で位置を特定した調整点から伸びるラインであり、２点の調整点を結ぶラインの傾きを特定する。ステップＳ１５１３の処理は図１１のステップ１１０３の処理と同様であるため説明を省略する。
【０１０８】
ステップＳ１５１４では、情報処理装置１００のＣＰＵ１０１は、メイン画面５００に表示されている全てのラインの傾きを特定する。傾きの特定方法については図１１のステップＳ１１０４と同様であるため説明を省略する。ステップＳ１５１４では、全てのラインの傾きが９０度もしくは１８０度か否かを判定することで、文字列が変形されているか否かについても特定している。ラインの中で１つでも９０度もしくは１８０度の角度でない場合は、最初の矩形の状態から調整点及びラインの位置が移動され、文字列が変形していることを示す。ステップＳ１５１４で全てのラインの傾きが９０度または１８０度であると判定した場合は、ステップＳ１５１５に処理を進める。全てのラインの傾きが９０度または１８０度であることを判定しなかった場合はステップＳ１５１６に処理を進める。
【０１０９】
ステップＳ１５１５では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１５１４で全てのラインの傾きが９０度もしくは１８０度であると判定した場合に識別表示する。つまり矩形の状態であると判定した場合に、文字列が水平・または垂直方向に配置されていることが分かるように識別表示する。ステップＳ１５１５の処理は、図１１のステップＳ１１０５と同様の処理となる。
【０１１０】
ステップＳ１５１６では、情報処理装置１００のＣＰＵ１０１は、表示制御指示部２１２の指示による表示制御部２０２の機能により、ステップＳ１５１５で識別表示した文字列を表示する。もしくはステップＳ１５１４でラインの傾きと位置が移動され、連動して変形された文字列を識別表示させずに表示する。
【０１１１】
図１６のメイン画面５００（ｊ）と、メイン画面５００（ｋ）と、メイン画面５００（ｌ）と、メイン画面５００（ｍ）は、図１５のフローチャートの流れをメイン画面５００で表示した際の画面推移を示した図である。メイン画面５００（ｊ）は、文字列１６０１をユーザの操作により回転させている様子を示す図である。メイン画面５００（ｋ）は、メイン画面５００（ｊ）の回転操作後、文字列１６０１が垂直方向に配置され、垂直方向であることを識別表示した様子を示す図である。一方、メイン画面５００（ｌ）は変形後の文字列１６０２をユーザの指示により回転させている様子を示す図である。メイン画面５００（ｍ）は、メイン画面５００（ｌ）の回転操作後に文字列１６０２が備えるライン１６０３が、垂直方向に配置されても識別表示しない様子を示す。文字列の変形後は垂直もしくは水平に表示させることをユーザが意図せず、その都度水平・垂直方向にあるラインを識別表示すると煩わしい場合も存在する。その場合はこの第２の実施形態により、文字列を変形しない場合など特定の場合にのみ文字列の水平・垂直方向をユーザに識別表示することで、ユーザの利便性を高めることが可能となる。
【０１１２】
以上で、第２の実施形態における、水平・垂直方向に配置された文字列を、変形前の文字列は識別表示し、変形後の文字列を識別表示しない一連の処理の流れの説明を終了する。
【０１１３】
次に、図１７と図１８を用いて第３の実施形態の一連の処理の流れについて説明する。第１の実施形態と第２の実施形態は、各文字列それぞれが備えるラインごとに水平・垂直な方向を識別表示することで、メイン画面５００の水平・垂直な方向に対して各文字列を任意の方向に垂直・水平方向に配置可能な仕組みを説明した。第３の実施形態では、同じメイン画面５００に複数の文字列を配置した場合に、文字列同士の位置関係を見て、一方の文字列に対して他方の文字列が水平・垂直、及び平行方向に配置可能なしくみを説明する。
【０１１４】
図１７のステップＳ１７０１では、文字列追加処理で文字列をメイン画面５００に追加する。文字列追加処理は図６と同様の処理であるため説明を省略する。
【０１１５】
ステップＳ１７０２では、情報処理装置１００のＣＰＵ１０１は、表示アイテム情報取得部２１４の機能により、同一のメイン画面５００上に文字列（表示アイテム）が複数あるか否かを判定する。文字列が複数存在すると判定した場合はステップＳ１７０３に処理を進める。文字列が複数あると判定しなかった場合には、本実施形態の処理を終了する。
【０１１６】
ステップＳ１７０３では、情報処理装置１００のＣＰＵ１０１は、調整点制御部２１５の機能により、同一のメイン画面５００上に表示されている文字列が備える調整点の位置（座標情報）を特定する。特定した座標情報は図４の矩形テーブル４２０の第１調整点４２３から第４調整点４２６に格納される。また、ラインテーブル４３０の始点４３４及び終点４３５に格納される。
【０１１７】
ステップＳ１７０４では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１７０３で座標を特定した２点の調整点を結ぶラインの傾きを特定する。傾きの特定方法は図１１の１１０３と同様であるため説明を省略する。
【０１１８】
ステップＳ１７０５では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１７０４で特定したラインの傾きが、同一なラインが複数あるか否かを判定する。より具体的には、図４のラインテーブル４３０を参照し、ライン傾き４３６に同じ傾きの情報が格納されているか否かを判定する。傾きが同一なラインが複数あると判定した場合はステップＳ１７０６に処理を進める。傾きが同一なラインが複数あると判定しなかった場合は第３の実施形態の一連の処理を終了する。
【０１１９】
ステップＳ１７０６では、情報処理装置１００のＣＰＵ１０１は、傾きが同一のライン複数を表示制御部２０２の機能により識別表示させる。傾きが同一のラインは、どのラインとどのラインが同一の傾きなのか、色ごとに分けて識別表示するとよい。
【０１２０】
図１８では、メイン画面５００（ｎ）で文字列１８０１と文字列１８０２というように文字列を複数配置した状態で、文字列１８０１が備えるライン１８０３と文字列１８０２が備えるライン１８０４が、傾きが同じであることを識別表示している様子を示す。傾きが同じラインは対応付けて、他の識別表示するラインとは異なる色で識別表示してもよい。このように、文字列同士が垂直・水平・平行方向であるか否かをユーザに分かるように表示させることで、規則的な文字列（表示アイテム）の配置が可能となり、ユーザの利便性を高めることが可能となる。
【０１２１】
以上で、第３の実施形態における、同じメイン画面５００に複数の文字列を配置した場合に、一方の文字列に対して他方の文字列が水平・垂直、及び平行方向に配置可能なしくみの説明を終了する。
【０１２２】
図１９は、文字列１９０１を調整点とラインを除いて表示した様子を示す図である。文字列を示す調整点とラインは、あくまでも文字列を配置、変形する際の基準とするためや調整をするためのものである。そのため文字列１９０１以外のメイン画面５００上の領域をユーザがタッチ操作することにすることによって、調整点及びラインを非表示状態とすることが可能となる。調整点及びラインを非表示状態として図３のステップＳ３１８の処理で文字列と画像データとを合成して記憶部２０１の機能により保存することで、画像データに対してユーザが調整したデザイン性を高めた画像を生成することが可能となる。
【０１２３】
以上説明したように、本実施形態によれば、表示アイテムを変形した後であっても、表示アイテムを容易に水平・垂直方向に配置可能な仕組みを提供することが可能となる。
【０１２４】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１２５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行可能することによっても達成される場合も本発明に含まれる。
【０１２６】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１２８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１３０】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１３４】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ディスプレイコントローラ
１０５  タッチパネルコントローラ
１０６  カメラコントローラ
１０７  センサコントローラ
１０８  ネットワークコントローラ
１０９  フラッシュメモリコントローラ
１１０  ディスプレイ
１１１  タッチパネル
１１２  カメラ
１１３  センサ
１１４  フラッシュメモリ
【図１】
2018097439.tif 000003
【図２】
2018097439.tif 000004
【図３】
2018097439.tif 000005
【図４】
2018097439.tif 000006
【図５】
2018097439.tif 000007
【図６】
2018097439.tif 000008
【図７】
2018097439.tif 000009
【図８】
2018097439.tif 000010
【図９】
2018097439.tif 000011
【図１０】
2018097439.tif 000012
【図１１】
2018097439.tif 000013
【図１２】
2018097439.tif 000014
【図１３】
2018097439.tif 000015
【図１４】
2018097439.tif 000016
【図１５】
2018097439.tif 000017
【図１６】
2018097439.tif 000018
【図１７】
2018097439.tif 000019
【図１８】
2018097439.tif 000020
【図１９】
2018097439.tif 000021