JP6848713B2 - Program and information processing terminal - Google Patents

Program and information processing terminal Download PDF

Info

Publication number
JP6848713B2
JP6848713B2 JP2017121126A JP2017121126A JP6848713B2 JP 6848713 B2 JP6848713 B2 JP 6848713B2 JP 2017121126 A JP2017121126 A JP 2017121126A JP 2017121126 A JP2017121126 A JP 2017121126A JP 6848713 B2 JP6848713 B2 JP 6848713B2
Authority
JP
Japan
Prior art keywords
locus
prohibited area
program
point
information
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.)
Active
Application number
JP2017121126A
Other languages
Japanese (ja)
Other versions
JP2019008388A (en
Inventor
清瀬 勝美
勝美 清瀬
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2017121126A priority Critical patent/JP6848713B2/en
Publication of JP2019008388A publication Critical patent/JP2019008388A/en
Application granted granted Critical
Publication of JP6848713B2 publication Critical patent/JP6848713B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ユーザが入力した文字列を所望のレイアウトに編集する情報処理端末のプログラムに関する。 The present invention relates to a program of an information processing terminal that edits a character string input by a user into a desired layout.

例えば特許文献1には、入力された文書データの文書種別を判定し、文書種別毎に予め設定された文書構成情報に従って文書データの体裁(例えば、文字のフォント、サイズ、太さ、又は配置)を整えることが可能な情報処理端末が開示されている。 For example, in Patent Document 1, the document type of the input document data is determined, and the appearance of the document data (for example, font, size, thickness, or arrangement of characters) according to the document structure information set in advance for each document type. Information processing terminals that can be arranged are disclosed.

特開2009−110497号公報Japanese Unexamined Patent Publication No. 2009-110497

しかしながら、特許文献1に記載の情報処理端末では、予め設定された文章構成情報の範囲でしか文書データが編集できない。すなわち、文書データの編集の自由度が低いという課題がある。 However, in the information processing terminal described in Patent Document 1, the document data can be edited only within the range of the preset sentence structure information. That is, there is a problem that the degree of freedom in editing document data is low.

本発明は、上記の事情に鑑みてなされたものであり、その目的は、ユーザが入力した文字列を柔軟且つ簡単に編集可能な情報処理端末のプログラムを提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a program of an information processing terminal capable of flexibly and easily editing a character string input by a user.

本明細書では様々な開示を行う。開示例の1つであるプログラムは、表示面を有するディスプレイと、前記表示面に対応付けられたタッチ面を有するユーザインタフェースとを備える情報処理端末によって実行可能である。前記ユーザインタフェースは、前記タッチ面に入力媒体がタッチされた場合に、前記入力媒体がタッチされた前記タッチ面上の位置を示す位置情報を出力するインタフェースである。該プログラムは、予め定められた禁止領域を含む背景画像を前記ディスプレイに表示させる第1表示処理と、文字列を入力する入力操作を前記ユーザインタフェースを通じて受け付ける第1受付処理と、前記タッチ面上を移動する前記入力媒体の軌跡を示す軌跡情報を取得する取得処理とを前記情報処理端末に実行させる。前記軌跡情報は、前記ユーザインタフェースから出力される前記位置情報に基づいて生成される情報である。該プログラムは、前記取得処理で取得した前記軌跡情報が前記表示面上の前記禁止領域に重なる前記軌跡を示しているか否かを判断する第1判断処理と、前記第1判断処理で前記禁止領域に重なる前記軌跡を示していると判断したことに応じて、前記軌跡が前記禁止領域を避けるように、前記取得処理で取得した前記軌跡情報を補正する補正処理と、前記補正処理で補正した前記軌跡情報で示される前記軌跡に沿った前記表示面上の複数の位置それぞれにおいて、前記第1受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って前記背景画像に合成する第1合成処理とを前記情報処理端末に実行させる。 Various disclosures are made herein. The program, which is one of the disclosure examples, can be executed by an information processing terminal including a display having a display surface and a user interface having a touch surface associated with the display surface. The user interface is an interface that outputs position information indicating a position on the touch surface to which the input medium is touched when the input medium is touched on the touch surface. The program performs a first display process of displaying a background image including a predetermined prohibited area on the display, a first reception process of accepting an input operation for inputting a character string through the user interface, and the touch surface. The information processing terminal is made to execute an acquisition process for acquiring locus information indicating a locus of the moving input medium. The locus information is information generated based on the position information output from the user interface. The program has a first determination process for determining whether or not the locus information acquired in the acquisition process indicates the trajectory overlapping the prohibited area on the display surface, and the prohibited area in the first determination process. In response to the determination that the locus overlaps with the above, the correction process for correcting the locus information acquired in the acquisition process and the correction process corrected by the correction process so that the locus avoids the prohibited area. At each of the plurality of positions on the display surface along the locus indicated by the locus information, each of the plurality of characters included in the character string input in the first reception process is subjected to the order in the character string. The information processing terminal is made to execute the first compositing process for compositing with the background image.

上記構成によれば、ユーザが入力媒体を用いてタッチ面上に描いた軌跡に沿ってレイアウトされた文字列が背景画像に合成される。これにより、直感的な操作で柔軟且つ簡単に文字列をレイアウトすることができる。また、ユーザが描いた軌跡が予め定められた禁止領域に重なる場合に、当該禁止領域を避けるように軌跡情報が補正される。これにより、強調したい絵或いは文字が配置された背景画像上の領域を禁止領域に設定しておけば、当該絵或いは文字が入力された文字列で隠れてしまうことを抑制できる。 According to the above configuration, a character string laid out along a trajectory drawn by the user on the touch surface using the input medium is combined with the background image. This makes it possible to lay out character strings flexibly and easily with intuitive operations. Further, when the locus drawn by the user overlaps the predetermined prohibited area, the locus information is corrected so as to avoid the prohibited area. As a result, if the area on the background image in which the picture or character to be emphasized is arranged is set as the prohibited area, it is possible to prevent the picture or character from being hidden by the input character string.

開示例の他の1つであるプログラムは、表示面を有するディスプレイと、前記表示面に対応付けられたタッチ面を有するユーザインタフェースとを備える情報処理端末によって実行可能である。前記ユーザインタフェースは、前記タッチ面に入力媒体がタッチされた場合に、前記入力媒体がタッチされた前記タッチ面上の位置を示す位置情報を出力するインタフェースである。該プログラムは、輪郭線を含む背景画像を前記ディスプレイに表示させる表示処理と、文字列を入力する入力操作を前記ユーザインタフェースを通じて受け付ける受付処理と、前記背景画像の前記輪郭線に沿って、前記受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って合成する合成処理とを前記情報処理端末に実行させ、前記合成処理において、前記受付処理で入力された前記複数の文字それぞれを、当該文字が配置される位置の前記輪郭線の形状に合わせてエンベロープ変形して、前記背景画像に合成する。 The program, which is another one of the disclosure examples, can be executed by an information processing terminal including a display having a display surface and a user interface having a touch surface associated with the display surface. The user interface is an interface that outputs position information indicating a position on the touch surface to which the input medium is touched when the input medium is touched on the touch surface. The program includes a display process for displaying a background image including a contour line on the display, a reception process for receiving an input operation for inputting a character string through the user interface, and the reception along the contour line of the background image. The information processing terminal is made to execute a synthesis process of synthesizing each of a plurality of characters included in the character string input in the process according to the order in the character string, and is input in the reception process in the synthesis process. Each of the plurality of characters is envelope-deformed according to the shape of the contour line at the position where the character is arranged, and is combined with the background image.

図1は、実施形態に係るシステム100のブロック図である。FIG. 1 is a block diagram of the system 100 according to the embodiment. 図2は、メモリ62に記憶されるデータの例であって、(A)はテンプレート画像データ及び禁止領域情報のセットを、(B)は軌跡情報を示す。2A and 2B are examples of data stored in the memory 62, in which FIG. 2A shows a set of template image data and prohibited area information, and FIG. 2B shows locus information. 図3は、通信面編集処理のフローチャートである。FIG. 3 is a flowchart of the communication surface editing process. 図4は、テキスト合成処理のフローチャートである。FIG. 4 is a flowchart of the text composition process. 図5は、レイアウト処理Aのフローチャートである。FIG. 5 is a flowchart of layout process A. 図6は、レイアウト処理Bのフローチャートである。FIG. 6 is a flowchart of layout process B. 図7は、ディスプレイ53の表示例であって、(A)はテンプレート選択画面を、(B)はテンプレート編集画面を示す。7A and 7B are display examples of the display 53, in which FIG. 7A shows a template selection screen and FIG. 7B shows a template editing screen. 図8は、ディスプレイ53の表示例であって、(A)は写真選択画面を、(B)は透過領域122に写真が合成されたテンプレート編集画面を示す。8A and 8B show an example of a display 53, in which FIG. 8A shows a photo selection screen, and FIG. 8B shows a template editing screen in which a photo is combined with a transparent area 122. 図9は、ディスプレイ53の表示例であって、(A)は[A]アイコン141が選択状態にされたテキスト入力画面を、(B)は文字列“よろしく”が入力されたテキスト入力画面を示す。9A and 9B are display examples of the display 53, in which FIG. 9A is a text input screen in which the [A] icon 141 is selected, and FIG. 9B is a text input screen in which the character string “Thank you” is input. Shown. 図10は、ディスプレイ53の表示例であって、(A)は[〜]アイコン142が選択状態にされて軌跡が入力されたテキスト入力画面を、(B)は文字列“よろしく”が軌跡に沿って配置されたテキスト入力画面を示す。FIG. 10 is a display example of the display 53, in which (A) is a text input screen in which the [~] icon 142 is selected and a locus is input, and (B) is a character string “regards” as a locus. The text input screen arranged along the line is shown. 図11は、Ramer−Douglas−Peuckerアルゴリズムを用いて対象点を抽出する処理を説明するための図である。FIG. 11 is a diagram for explaining a process of extracting a target point by using the Ramer-Douglas-Pucker algorithm. 図12は、軌跡と禁止領域122との関係を示す図であって、(A)は終点153が禁止領域内に位置する状態を、(B)は終点153を輪郭上の位置154に移動させた状態を、(C)は終点163が禁止領域内に位置する状態を、(D)は終点163を輪郭上の位置164に移動させた状態を示す。12A and 12B are diagrams showing the relationship between the locus and the prohibited area 122. FIG. 12A shows a state in which the end point 153 is located in the prohibited area, and FIG. 12B moves the end point 153 to a position 154 on the contour. (C) indicates a state in which the end point 163 is located in the prohibited area, and (D) indicates a state in which the end point 163 is moved to the position 164 on the contour. 図13は、図12(B)の対象点156に合成される文字“と”を示す図であって、(A)はエンベロープ変形前の状態を、(B)はエンベロープ変形後の状態を示す。13A and 13B are diagrams showing the characters “to” synthesized at the target point 156 in FIG. 12B, in which FIG. 13A shows the state before the envelope is deformed, and FIG. 13B shows the state after the envelope is deformed. .. 図14は、軌跡と禁止領域122との関係を示す図であって、(A)は禁止領域122を通過した軌跡の終点184が禁止領域122外に位置する状態を、(B)は軌跡182−184を退出点183の位置に移動させた状態を、(C)は軌跡182−184を削除して代替軌跡183”−184”を追加した状態を、(D)は軌跡182−183を削除した状態を示す。14A and 14B are diagrams showing the relationship between the locus and the prohibited area 122. FIG. 14A shows a state in which the end point 184 of the locus passing through the prohibited area 122 is located outside the prohibited area 122, and FIG. 14B shows a state in which the locus 182 is outside the prohibited area 122. The state where -184 is moved to the position of the exit point 183, (C) is the state where the locus 182-184 is deleted and the alternative locus 183 "-184" is added, and (D) is the state where the locus 182-183 is deleted. Indicates the state of 図15(A)は高さ情報を含む禁止領域情報で示される禁止領域122を示す図であり、図15(B)は軌跡191−192と禁止領域122との関係を示す図であり、図15(C)は軌跡191−192に沿って文字列“おめでとう”を配置した例を示す図である。FIG. 15A is a diagram showing a prohibited area 122 indicated by prohibited area information including height information, and FIG. 15B is a diagram showing a relationship between the locus 191-192 and the prohibited area 122. FIG. 15 (C) is a diagram showing an example in which the character string "Congratulations" is arranged along the locus 191-192.

以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings as appropriate. It goes without saying that the embodiments described below are merely examples of the present invention, and the embodiments of the present invention can be appropriately changed without changing the gist of the present invention. For example, the execution order of each process described later can be appropriately changed without changing the gist of the present invention.

図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、MFP10と、情報処理端末50とで構成されている。MFP10及び情報処理端末50は、通信ネットワーク101を通じて通信可能に構成されている。通信ネットワーク101は、例えば、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。または、MFP10及び情報処理端末50は、USBケーブルによって接続されていてもよい。 FIG. 1 is a schematic view of the system 100 according to the present embodiment. The system 100 shown in FIG. 1 includes an MFP 10 and an information processing terminal 50. The MFP 10 and the information processing terminal 50 are configured to be able to communicate with each other through the communication network 101. The communication network 101 may be, for example, a wired LAN, a wireless LAN, or a combination thereof. Alternatively, the MFP 10 and the information processing terminal 50 may be connected by a USB cable.

MFP10は、図1に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、ユーザI/F24と、通信I/F25と、CPU31と、メモリ32と、通信バス33とを主に備える。MFP10を構成する各構成要素は、通信バス33を通じて相互に接続されている。 As shown in FIG. 1, the MFP 10 mainly includes a printer 11, a scanner 12, a display 23, a user I / F 24, a communication I / F 25, a CPU 31, a memory 32, and a communication bus 33. .. The components constituting the MFP 10 are connected to each other through the communication bus 33.

プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。本実施形態では、インクを吐出して画像を記録するインクジェット方式のプリンタ11の例を説明するが、プリンタ11の記録方式は電子写真方式等であってもよい。スキャナ12は、原稿に記録されている画像を読み取って画像データを生成するスキャン動作を実行するハードウェアである。なお、スキャナ12は、省略可能である。 The printer 11 is hardware that executes a printing operation of recording an image represented by image data on a sheet. In the present embodiment, an example of an inkjet printer 11 that ejects ink to record an image will be described, but the recording method of the printer 11 may be an electrophotographic method or the like. The scanner 12 is hardware that executes a scanning operation that reads an image recorded on a document and generates image data. The scanner 12 can be omitted.

ディスプレイ23は、例えば、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示面を備える。 The display 23 is, for example, a liquid crystal display, an organic EL display, or the like, and includes a display surface for displaying various information.

ユーザI/F24は、入力操作を受け付けるインタフェースである。具体的には、ユーザI/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、ユーザI/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、入力操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。 The user I / F 24 is an interface that accepts input operations. Specifically, the user I / F 24 has a button, and outputs various operation signals associated with the pressed button to the CPU 31. Further, the user I / F 24 may have a film-like touch sensor superimposed on the display surface of the display 23. The operation of designating an object displayed on the display surface of the display 23 and the operation of inputting a character string or a number string are examples of input operations. The “object” is, for example, a character string, an icon, a button, a link, a radio button, a check box, a pull-down menu, or the like displayed on the display 23.

タッチセンサとして実現されるユーザI/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたオブジェクトの位置をタップする入力操作は、当該オブジェクトを指定する指定操作の一例である。以下、オブジェクトを指定する指定操作を、単に「オブジェクトの指定」、「オブジェクトに対する指定操作」等と表記することがある。 The user I / F24 realized as a touch sensor outputs position information indicating a position on the display surface touched by the user. The term "touch" in the present specification includes all operations of bringing the input medium into contact with the display surface. Further, even if the input medium does not touch the display surface, the "hover" or "floating touch" that brings the input medium close to the position where the distance from the display surface is very small is adopted as the above-mentioned concept of "touch". May be included. Further, the input medium may be a user's finger, a stylus, or the like. The input operation of tapping the position of the object displayed on the display 23 is an example of the designation operation of designating the object. Hereinafter, the specification operation for specifying an object may be simply referred to as "object specification", "designation operation for an object", or the like.

通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、MFP10は、通信I/F25を通じて外部装置に各種情報を送信し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(登録商標)を採用することができる。また、MFP10及び情報処理端末50がUSBケーブルで接続される場合、通信I/F25は、USBケーブルを着脱可能なUSB−I/Fであってもよい。 The communication I / F 25 is an interface capable of communicating with an external device through the communication network 101. That is, the MFP 10 transmits various information to the external device through the communication I / F25, and receives various information from the external device through the communication I / F25. The specific communication procedure of the communication I / F 25 is not particularly limited, but for example, Wi-Fi (registered trademark) can be adopted. When the MFP 10 and the information processing terminal 50 are connected by a USB cable, the communication I / F 25 may be a USB-I / F to which the USB cable can be attached and detached.

CPU31は、MFP10の全体動作を制御するものである。CPU31は、ユーザI/F24を通じて入力された各種情報、通信I/F25を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ32から読み出して実行する。CPU31及びメモリ32は、コントローラの一例を構成する。 The CPU 31 controls the overall operation of the MFP 10. The CPU 31 reads various programs described later from the memory 32 and executes them based on various information input through the user I / F 24, various information received from an external device through the communication I / F 25, and the like. The CPU 31 and the memory 32 form an example of the controller.

メモリ32は、OS34と、装置プログラム35とを記憶している。装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ32は、装置プログラム35の実行に必要なデータ或いは情報等を記憶する。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、MFP10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。 The memory 32 stores the OS 34 and the device program 35. The device program 35 may be a single program or a collection of a plurality of programs. Further, the memory 32 stores data or information necessary for executing the device program 35. The memory 32 is composed of, for example, a RAM, a ROM, an EEPROM, an HDD, a portable storage medium such as a USB memory attached to and detached from the MFP 10, a buffer included in the CPU 31, or a combination thereof.

メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末50のメモリ62についても同様である。 The memory 32 may be a computer-readable storage medium. A computer-readable storage medium is a non-transitory medium. In addition to the above examples, the non-transitory medium also includes a recording medium such as a CD-ROM or a DVD-ROM. The non-transitory medium is also a tangible medium. On the other hand, an electric signal that carries a program downloaded from a server on the Internet is a computer-readable signal medium, which is a kind of computer-readable medium, but is a storage that can be read by a non-transitory computer. Not included in the medium. The same applies to the memory 62 of the information processing terminal 50, which will be described later.

情報処理端末50は、図1に示されるように、ディスプレイ53と、ユーザI/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。情報処理端末50に含まれるディスプレイ53、ユーザI/F54、通信I/F55、CPU61、メモリ62、及び通信バス63は、MFP10に含まれるディスプレイ23、ユーザI/F24、通信I/F25、CPU31、メモリ32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、コントローラの一例である。情報処理端末50は、例えば、携帯電話、スマートフォン、タブレット端末、或いはPC等である。 As shown in FIG. 1, the information processing terminal 50 mainly includes a display 53, a user I / F 54, a communication I / F 55, a CPU 61, a memory 62, and a communication bus 63. The display 53, the user I / F 54, the communication I / F 55, the CPU 61, the memory 62, and the communication bus 63 included in the information processing terminal 50 are the display 23, the user I / F 24, the communication I / F 25, the CPU 31, and the communication bus 63 included in the MFP 10. Since the configuration is the same as that of the memory 32 and the communication bus 33, the description thereof will be omitted. The CPU 61 and the memory 62 are examples of a controller. The information processing terminal 50 is, for example, a mobile phone, a smartphone, a tablet terminal, a PC, or the like.

情報処理端末のユーザI/F54は、入力媒体をタッチしたタッチ面上の位置を示す位置情報を出力する位置センサを備える。一例として、ユーザI/F54のタッチ面は、ディスプレイ53の表示面に重ねられていてもよい。すなわち、ディスプレイ53及びユーザI/F54は、タッチパネルディスプレイを構成していてもよい。そして、この場合の位置情報は、入力媒体がタッチした表示面上の位置を示す。これは、タッチ面上のタッチ位置に対応する表示面上の位置の一例である。 The user I / F 54 of the information processing terminal includes a position sensor that outputs position information indicating a position on the touch surface where the input medium is touched. As an example, the touch surface of the user I / F 54 may be superimposed on the display surface of the display 53. That is, the display 53 and the user I / F 54 may constitute a touch panel display. Then, the position information in this case indicates the position on the display surface touched by the input medium. This is an example of a position on the display surface corresponding to the touch position on the touch surface.

他の例として、ユーザI/F54のタッチ面は、ディスプレイ53と異なるタッチパッド上に設けられていてもよい。この場合のユーザI/F54は、位置センサを有するタッチパッドとなる。さらに他の例として、ユーザI/F54のタッチ面は、机や床などの任意の面であってもよい。この場合のユーザI/F54は、位置センサを有する入力媒体であるタッチペンとなる。また、この場合のOS64は、タッチ面上を移動する入力媒体に追従して表示面上を移動するポインタ画像(例えば、矢印を表す画像)を、ディスプレイ53に表示させる。そして、この場合の位置情報は、ポインタ画像が表示された表示面上の位置を示す。これは、タッチ面上のタッチ位置に対応する表示面上の位置の他の例である。 As another example, the touch surface of the user I / F 54 may be provided on a touch pad different from the display 53. In this case, the user I / F 54 is a touch pad having a position sensor. As yet another example, the touch surface of the user I / F 54 may be any surface such as a desk or floor. In this case, the user I / F 54 is a touch pen which is an input medium having a position sensor. Further, the OS 64 in this case causes the display 53 to display a pointer image (for example, an image representing an arrow) that moves on the display surface following the input medium that moves on the touch surface. Then, the position information in this case indicates the position on the display surface on which the pointer image is displayed. This is another example of a position on the display surface that corresponds to a touch position on the touch surface.

本明細書において、タッチ面に当接させた状態の入力媒体を移動させる入力操作を、「スワイプ操作」と表記する。スワイプ操作は、タッチ面上を任意の向きに移動させることが可能な入力操作である。より詳細には、スワイプ操作を行うユーザは、任意の形状(例えば、直線、円弧、或いはこれらの組み合わせ等)の軌跡を描くように、タッチ面上で入力媒体を移動させることができる。 In the present specification, the input operation of moving the input medium in contact with the touch surface is referred to as "swipe operation". The swipe operation is an input operation that can be moved in any direction on the touch surface. More specifically, the user performing the swipe operation can move the input medium on the touch surface so as to draw a locus of an arbitrary shape (for example, a straight line, an arc, or a combination thereof).

メモリ62は、例えば図2(A)に示されるように、複数のテンプレート画像データを記憶することができる。テンプレート画像データは、ハガキの通信面に記録されるテンプレート画像を示すデータである。本実施形態では、年賀状の通信面に記録されるテンプレート画像の例を説明するが、テンプレート画像の用途はこれに限定されず、例えば、暑中見舞い、クリスマスカード等にも応用することができる。テンプレート画像データは背景画像データの一例であり、テンプレート画像は背景画像の一例である。 The memory 62 can store a plurality of template image data, for example, as shown in FIG. 2 (A). The template image data is data indicating a template image recorded on the communication surface of the postcard. In this embodiment, an example of a template image recorded on the communication surface of a New Year's card will be described, but the use of the template image is not limited to this, and can be applied to, for example, summer greeting cards, Christmas cards, and the like. The template image data is an example of background image data, and the template image is an example of a background image.

また、メモリ62は、テンプレート画像データに対応付けて、禁止領域情報を記憶することができる。禁止領域情報は、対応するテンプレート画像データで示されるテンプレート画像上の禁止領域を特定するための情報である。一例として、禁止領域は、横1000ピクセル×縦1500ピクセルのテンプレート画像の左上端位置を基準として特定される。より詳細には、テンプレート画像データ“テンプレートA”の禁止領域情報は、テンプレート画像上の左端位置“left”、上端位置“top”、右端位置“right”、及び下端位置“bottom”の組み合わせによって、禁止領域を特定する。 Further, the memory 62 can store the prohibited area information in association with the template image data. The prohibited area information is information for specifying the prohibited area on the template image indicated by the corresponding template image data. As an example, the prohibited area is specified with reference to the upper left edge position of the template image having a width of 1000 pixels and a height of 1500 pixels. More specifically, the prohibited area information of the template image data "template A" is obtained by a combination of the left end position "left", the upper end position "top", the right end position "right", and the lower end position "bottom" on the template image. Identify prohibited areas.

他の例として、禁止領域は、テンプレート画像を構成する画素の特徴によって特定される。より詳細には、テンプレート画像データ“テンプレートC”の禁止領域情報は、テンプレート画像を構成する複数の画素のうち、透過画素が連続する領域(以下、「透過領域」と表記する。)を、禁止領域と特定する。透過画素とは、例えば、各画素に設定された4つの値(例えば、R、G、B、α)のうち、α値で示される透過度が閾値(例えば、90%)以上の画素を指す。なお、禁止領域は、透過領域を含む相似形の領域であってもよい。すなわち、禁止領域は、透過領域を囲む帯状のマージン領域を含んでもよい。 As another example, the prohibited area is specified by the characteristics of the pixels that make up the template image. More specifically, the prohibited area information of the template image data "template C" prohibits a region in which transparent pixels are continuous (hereinafter, referred to as "transparent region") among a plurality of pixels constituting the template image. Identify as an area. The transparent pixel refers to, for example, a pixel in which the transparency indicated by the α value is a threshold value (for example, 90%) or more among the four values (for example, R, G, B, α) set for each pixel. .. The prohibited area may be a similar figure area including a transparent area. That is, the prohibited area may include a band-shaped margin area surrounding the transparent area.

さらに、禁止領域情報は、例えば図15(A)に示されるように、禁止領域に含まれる複数の画素それぞれのZ方向の高さを示す情報(以下、「高さ情報」と表記する。)を含むことができる。Z方向とは、表示面に交差する方向を指す。より詳細には、Z方向とは、表示面に平行なX方向及びY方向に直交する方向を指す。高さ情報の具体例は特に限定されないが、例えば、禁止領域の各画素と基準面とのZ方向の距離を示す情報でもよいし、禁止領域内の座標を入力すると高さ情報が出力される関数でもよい。 Further, the prohibited area information is information indicating the height of each of the plurality of pixels included in the prohibited area in the Z direction (hereinafter, referred to as "height information"), as shown in FIG. 15A, for example. Can be included. The Z direction refers to a direction that intersects the display surface. More specifically, the Z direction refers to a direction parallel to the display surface and orthogonal to the X and Y directions. Specific examples of the height information are not particularly limited, but for example, information indicating the distance between each pixel in the prohibited area and the reference plane in the Z direction may be used, or height information is output when the coordinates in the prohibited area are input. It may be a function.

禁止領域情報は、例えば、テンプレート画像データの制作者或いは端末プログラム65の開発者によって予め設定される。また、禁止領域情報が対応付けられていないテンプレート画像データがメモリ62に記憶されていてもよい。すなわち、テンプレート画像データの制作者或いは端末プログラム65の開発者は、例えば、耐言おうするテンプレート画像上の強調したい絵や文字列、写真や差出人の情報を合成するために予め予約された領域等を、禁止領域に設定すればよい。 The prohibited area information is set in advance by, for example, the creator of the template image data or the developer of the terminal program 65. Further, the template image data to which the prohibited area information is not associated may be stored in the memory 62. That is, the creator of the template image data or the developer of the terminal program 65, for example, has a picture or character string to be emphasized on the template image to be endured, an area reserved in advance for synthesizing a photograph or sender information, or the like. Should be set in the prohibited area.

また図示は省略するが、メモリ62には、写真フォルダが設けられていてもよい。写真フォルダには、例えば、不図示のカメラで撮影した写真データ、或いは不図示のサーバからダウンロードした写真データ等が格納される。 Although not shown, the memory 62 may be provided with a photo folder. In the photo folder, for example, photo data taken by a camera (not shown), photo data downloaded from a server (not shown), or the like is stored.

[システム100の動作]
図3〜図6を参照して、本実施形態に係るシステム100の動作を説明する。
[Operation of system 100]
The operation of the system 100 according to the present embodiment will be described with reference to FIGS. 3 to 6.

本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU31、61の処理を表している。CPU31、61による処理は、OS34、64を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU61が要求することなくデータを受信するという処理も、「CPU61がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。 The flowchart of the present specification basically shows the processing of the CPUs 31 and 61 according to the instructions described in the program. That is, the processes such as "judgment", "extraction", "selection", "calculation", "decision", "specification", "acquisition", "acceptance", and "control" in the following description are performed by the CPUs 31 and 61. Represents processing. The processing by the CPUs 31 and 61 also includes hardware control via the OSs 34 and 64. Note that "acquisition" is used in a concept that does not require a request. That is, the process of receiving data without the CPU 61 requesting is also included in the concept of "the CPU 61 acquires the data". Further, the "data" in the present specification is represented by a bit string that can be read by a computer. Then, data having the same substantial meaning and contents but different formats are treated as the same data. The same applies to "information" in the present specification.

まず、情報処理端末50の端末プログラム65は、ユーザの指示に従ってOS64によって起動されたことに応じて、図7(A)に示されるテンプレート選択画面をディスプレイ53に表示させる(S11)。テンプレート選択画面は、複数のテンプレートアイコン111、112、113、114を含む。テンプレートアイコン111〜114は、メモリ62に記憶された複数のテンプレート画像データの1つに対応する。そして、端末プログラム65は、テンプレート選択画面に対する入力操作を、ユーザI/F54を通じて受け付ける(S12)。S12の処理は、第3受付処理の一例である。 First, the terminal program 65 of the information processing terminal 50 causes the template selection screen shown in FIG. 7A to be displayed on the display 53 in response to being activated by the OS 64 according to the user's instruction (S11). The template selection screen includes a plurality of template icons 111, 112, 113, 114. The template icons 111 to 114 correspond to one of a plurality of template image data stored in the memory 62. Then, the terminal program 65 accepts an input operation for the template selection screen through the user I / F 54 (S12). The process of S12 is an example of the third reception process.

次に、端末プログラム65は、例えばテンプレートアイコン113を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S12:Yes)、指定されたテンプレートアイコン113に対応付けられたテンプレート画像データ“テンプレートC”を、メモリ62から読み出す。次に、端末プログラム65は、図7(B)に示されるテンプレート編集画面を、テンプレート選択画面に代えてディスプレイ53に表示させる(S13)。S13の処理は、第1表示処理及び表示処理の一例である。そして、端末プログラム65は、テンプレート編集画面に対する入力操作を、ユーザI/F54を通じて受け付ける(S14〜S16)。 Next, the terminal program 65 receives, for example, a designated operation for designating the template icon 113 through the user I / F 54 (S12: Yes), and the template image data associated with the designated template icon 113 ". The template C "is read from the memory 62. Next, the terminal program 65 causes the template editing screen shown in FIG. 7B to be displayed on the display 53 instead of the template selection screen (S13). The process of S13 is an example of the first display process and the display process. Then, the terminal program 65 accepts an input operation on the template edit screen through the user I / F54 (S14 to S16).

テンプレート編集画面は、テンプレート画像121と、[テキスト]アイコン125と、[プリント]アイコン126とを含む。テンプレート画像121は、メモリ62から読み出したテンプレート画像データ“テンプレートC”で示される画像である。また、テンプレート画像121は、透過領域122を含む。なお、本実施形態では、透過領域122=禁止領域なので、「禁止領域122」と表記することがある。[テキスト]アイコン125は、テンプレート画像121に文字列を合成する指示に対応する。[プリント]アイコン126は、後述する処理によって編集されたテンプレート画像121をハガキの通信面に記録する指示に対応する。 The template editing screen includes a template image 121, a [text] icon 125, and a [print] icon 126. The template image 121 is an image represented by the template image data “template C” read from the memory 62. Further, the template image 121 includes a transparent area 122. In the present embodiment, since the transparent area 122 = the prohibited area, it may be described as "prohibited area 122". The [text] icon 125 corresponds to an instruction for synthesizing a character string with the template image 121. The [Print] icon 126 corresponds to an instruction to record the template image 121 edited by the process described later on the communication surface of the postcard.

端末プログラム65は、例えば、透過領域122を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S14:Yes)、図8(A)に示される写真選択画面を、テンプレート編集画面に代えてディスプレイ53に表示させる(S17)。写真選択画面は、写真アイコン131、132、133、134、135、136を含む。写真アイコン131〜136それぞれは、メモリ62の写真フォルダに格納された複数の写真データの1つに対応する。そして、端末プログラム65は、写真選択画面に対する入力操作を、ユーザI/F54を通じて受け付ける(S18)。 The terminal program 65, for example, displays the photo selection screen shown in FIG. 8A on the template editing screen in response to the reception of the designation operation for designating the transparent area 122 through the user I / F54 (S14: Yes). Instead, it is displayed on the display 53 (S17). The photo selection screen includes photo icons 131, 132, 133, 134, 135, 136. Each of the photo icons 131 to 136 corresponds to one of a plurality of photo data stored in the photo folder of the memory 62. Then, the terminal program 65 accepts an input operation on the photo selection screen through the user I / F 54 (S18).

次に、端末プログラム65は、例えば、写真アイコン135を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S18:Yes)、指定された写真アイコン135に対応する写真データで示される写真を、テンプレート画像121の透過領域122に合成する(S19)。そして、端末プログラム65は、図8に示されるように、透過領域122に写真が合成されたテンプレート画像121を含むテンプレート編集画面を、写真選択画面に代えてディスプレイ53に表示させる(S13)。 Next, the terminal program 65 is indicated by the photo data corresponding to the designated photo icon 135, for example, in response to the reception of the designated operation for designating the photo icon 135 through the user I / F 54 (S18: Yes). The photograph is combined with the transparent region 122 of the template image 121 (S19). Then, as shown in FIG. 8, the terminal program 65 causes the display 53 to display the template editing screen including the template image 121 in which the photo is synthesized in the transparent area 122 on the display 53 instead of the photo selection screen (S13).

端末プログラム65は、写真を合成したテンプレート画像121を含むテンプレート編集画面をディスプレイ53に表示する処理を、APIを介してOS64に指示してもよい。写真を合成したテンプレート画像121とは、例えば、写真アイコン135に対応する写真データで示される写真をZ方向の奥側、テンプレート画像121をZ方向の手前側とし、且つ透過領域122の中心と写真の中心とが一致するように、テンプレート画像121に写真を合成した画像である。これにより、テンプレート画像121に合成された写真のうち、透過領域と重なる部分が表示され、透過領域と異なる領域と重なる部分がテンプレート画像121によって塗りつぶされる。 The terminal program 65 may instruct the OS 64 via the API to display the template editing screen including the template image 121 in which the photographs are combined on the display 53. The template image 121 in which the photographs are combined is, for example, the photograph indicated by the photograph data corresponding to the photograph icon 135 on the back side in the Z direction, the template image 121 on the front side in the Z direction, and the center of the transparent region 122 and the photograph. It is an image in which a photograph is combined with a template image 121 so as to coincide with the center of. As a result, the portion of the photograph combined with the template image 121 that overlaps with the transparent region is displayed, and the portion that overlaps with the region different from the transparent region is filled with the template image 121.

また、端末プログラム65は、例えば、図8(B)の[テキスト]アイコン125を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S15:Yes)、テキスト合成処理を実行する(S20)。テキスト合成処理は、ユーザが入力した文字列を、ユーザが指定したレイアウトでテンプレート画像121上に合成する処理である。図4を参照して、テキスト合成処理の詳細を説明する。 Further, the terminal program 65 executes the text composition process in response to the reception of the designation operation for designating the [text] icon 125 in FIG. 8 (B) through the user I / F54 (S15: Yes) (S15: Yes). S20). The text composition process is a process of synthesizing a character string input by the user on the template image 121 in a layout specified by the user. The details of the text composition process will be described with reference to FIG.

まず、端末プログラム65は、図9(A)に示されるテキスト入力画面を、テンプレート編集画面に代えてディスプレイ53に表示させる(S31)。テキスト入力画面は、テンプレート画像121と、[A]アイコン141と、[〜]アイコン142と、[属]アイコン143とを含む。そして、端末プログラム65は、テキスト入力画面に対する入力操作を、ユーザI/F54を通じて受け付ける(S32、S33)。テキスト入力画面において、[A]アイコン141、[〜]アイコン142、及び[属]アイコン143のうちの1つが選択状態となり、その他が非選択状態となる。 First, the terminal program 65 causes the text input screen shown in FIG. 9A to be displayed on the display 53 instead of the template editing screen (S31). The text input screen includes a template image 121, an [A] icon 141, a [~] icon 142, and a [genus] icon 143. Then, the terminal program 65 accepts an input operation on the text input screen through the user I / F54 (S32, S33). On the text input screen, one of the [A] icon 141, the [~] icon 142, and the [genus] icon 143 is in the selected state, and the others are in the non-selected state.

図9(A)に示されるテキスト入力画面は、[A]アイコン141が選択状態であり、[〜]アイコン142及び[属]アイコン143が非選択状態であり、テキストボックス144及びソフトウェアキーボード145を含む。すなわち、[A]アイコン141を選択状態とすることによって、テキスト入力画面を通じて文字列が入力可能となる。また、端末プログラム65は、例えば、図9(B)及び図10に示されるテキスト入力画面の[A]アイコン141を指定する指定操作をユーザI/F54を通じて受け付けたことに応じても、図9(A)に示されるテキスト入力画面をディスプレイ53に表示させる。 In the text input screen shown in FIG. 9A, the [A] icon 141 is in the selected state, the [~] icon 142 and the [genus] icon 143 are in the non-selected state, and the text box 144 and the software keyboard 145 are displayed. Including. That is, by selecting the [A] icon 141, a character string can be input through the text input screen. Further, even if the terminal program 65 receives, for example, a designation operation for designating the [A] icon 141 on the text input screen shown in FIGS. 9 (B) and 10 through the user I / F 54, FIG. 9 The text input screen shown in (A) is displayed on the display 53.

また、端末プログラム65は、例えば、図9(A)に示される[〜]アイコン142を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて、[〜]アイコン142を選択状態とし、[A]アイコン141及び[属]アイコン143を非選択状態とする。そして、端末プログラム65は、図10(A)に示されるように、[完了]アイコン146をテキスト入力画面に表示させる。[〜]アイコン142を選択状態とすることによって、ソフトウェアキーボード145を通じて入力された文字列のレイアウトが指定可能となる。 Further, the terminal program 65 selects the [~] icon 142 in response to the reception of the designation operation for designating the [~] icon 142 shown in FIG. 9A through the user I / F 54, for example. The [A] icon 141 and the [genus] icon 143 are set to the non-selected state. Then, the terminal program 65 displays the [Done] icon 146 on the text input screen as shown in FIG. 10 (A). By selecting the [~] icon 142, the layout of the character string input through the software keyboard 145 can be specified.

さらに、端末プログラム65は、例えば、図10(A)に示される[属]アイコン143を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて、[属]アイコン143を選択状態とし、[A]アイコン141及び[〜]アイコン142を非選択状態とする。そして、端末プログラム65は、文字列の属性(例えば、フォントタイプ、フォントサイズ、色など)の指定を受け付ける不図示のオブジェクトをテキスト入力画面に表示させる。そして、端末プログラム65は、ソフトウェアキーボード145を通じて入力された文字列の属性を、当該オブジェクトを通じて受け付けた属性に変更する。 Further, the terminal program 65 selects the [genus] icon 143 in response to the reception of the designation operation for designating the [genus] icon 143 shown in FIG. 10A through the user I / F 54, for example. The [A] icon 141 and the [~] icon 142 are set to the non-selected state. Then, the terminal program 65 displays an unillustrated object that accepts the designation of the character string attribute (for example, font type, font size, color, etc.) on the text input screen. Then, the terminal program 65 changes the attribute of the character string input through the software keyboard 145 to the attribute received through the object.

端末プログラム65は、例えば、N(=4)個の文字を含む文字列“よろしく”の入力操作及び[確定]アイコンを指定する指定操作を、図9(A)に示されるソフトウェアキーボード145を通じて受け付ける(S32:Yes)。この処理は、第1受付処理及び受付処理の一例である。次に、端末プログラム65は、入力された文字数N(Nは2以上の整数であって、本実施形態では“4”)と要素数が一致する配列“文字[i]”をメモリ62内に確保する。そして、端末プログラム65は、入力された各文字“よ”、“ろ”、“し”、“く”の文字コードを、文字[i]に入力順に記憶させる(S34)。 The terminal program 65 accepts, for example, an input operation of the character string “regards” including N (= 4) characters and a designation operation of designating the [confirm] icon through the software keyboard 145 shown in FIG. 9 (A). (S32: Yes). This process is an example of the first reception process and the reception process. Next, the terminal program 65 stores in the memory 62 an array "character [i]" whose number of elements matches the number of input characters N (N is an integer of 2 or more and is "4" in this embodiment). Secure. Then, the terminal program 65 stores the character codes of the input characters "yo", "ro", "shi", and "ku" in the character [i] in the input order (S34).

入力された文字列内における文字[i]の順番は、変数iの昇順である。すなわち、ソフトウェアキーボード145を通じて1文字ずつ順番に入力された場合の「順番」は、入力順に対応する。一方、所謂コピー&ペースト機能を用いて複数の文字が纏めて入力された場合の「順番」は、横書きの場合は左端から右向きの順、縦書きの場合は上端から下向きの順である。但し、「順番」の具体例は前述の例に限定されず、例えば、横書きの場合の右端から左向きの順、縦書きの場合の下端から上向きの順等でもよい。 The order of the characters [i] in the input character string is the ascending order of the variable i. That is, the "order" when characters are input one by one through the software keyboard 145 corresponds to the input order. On the other hand, when a plurality of characters are input together using the so-called copy and paste function, the "order" is the order from the left end to the right in the case of horizontal writing, and the order from the upper end to the bottom in the case of vertical writing. However, the specific example of the "order" is not limited to the above-mentioned example, and may be, for example, the order from the right end to the left in the case of horizontal writing, the order from the lower end to the upward in the case of vertical writing, and the like.

次に、端末プログラム65は、テンプレート画像121上のテキストボックス144の表示位置(以下、「初期位置」と表記する。)に、入力された文字列“よろしく”示す文字画像を合成する(S35)。そして、端末プログラム65は、図9(B)に示されるように、文字列“よろしく”が初期位置に合成されたテンプレート画像121を含むテキスト入力画面を、ディスプレイ53に表示させる(S31)。 Next, the terminal program 65 synthesizes a character image indicating the input character string "regards" at the display position of the text box 144 on the template image 121 (hereinafter, referred to as "initial position") (S35). .. Then, as shown in FIG. 9B, the terminal program 65 causes the display 53 to display a text input screen including the template image 121 in which the character string “regards” is synthesized at the initial position (S31).

次に、端末プログラム65は、例えば、図9(B)の[〜]アイコン142を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S32:No&S33:レイアウト)、ソフトウェアキーボード145に代えて、[完了]アイコン146をテキスト入力画面に表示させる。また、端末プログラム65は、軌跡情報を記憶する配列“軌跡[i]”をメモリ62内に確保する。軌跡[i]は、位置センサから出力される位置情報を記憶する。すなわち、軌跡情報は、複数の位置情報を含む。軌跡[i]の要素数は、後述するS36で位置情報を記憶させるのに十分な数とする。 Next, the terminal program 65 receives, for example, a designation operation for designating the [~] icon 142 in FIG. 9B through the user I / F54 (S32: No & S33: layout) on the software keyboard 145. Instead, the [Done] icon 146 is displayed on the text input screen. Further, the terminal program 65 secures an array “trajectory [i]” for storing locus information in the memory 62. The locus [i] stores the position information output from the position sensor. That is, the locus information includes a plurality of position information. The number of elements of the locus [i] is set to a sufficient number to store the position information in S36 described later.

次に、端末プログラム65は、[〜]アイコン142が選択状態にされたテキスト入力画面のテンプレート画像121上において、ユーザI/F54を通じてスワイプ操作を受け付ける(S37:No)。そして、端末プログラム65は、例えば図2(B)に示されるように、スワイプ操作中に所定の時間間隔でユーザI/F54から出力される位置情報を、軌跡[i]に出力順に記憶させる(S36)。S36、S37の処理は、タッチ面上を移動する入力媒体の軌跡を示す軌跡情報を取得する取得処理の一例である。なお、図2(B)に示される軌跡情報は、ユーザI/F54から出力される位置情報に基づいて、端末プログラム65が生成してもよいし、OS64が生成して端末プログラム65に引き渡してもよい。 Next, the terminal program 65 accepts a swipe operation through the user I / F 54 on the template image 121 of the text input screen in which the [~] icon 142 is selected (S37: No). Then, as shown in FIG. 2B, for example, the terminal program 65 stores the position information output from the user I / F 54 at predetermined time intervals during the swipe operation in the locus [i] in the order of output ( S36). The processing of S36 and S37 is an example of the acquisition processing for acquiring the locus information indicating the locus of the input medium moving on the touch surface. The locus information shown in FIG. 2B may be generated by the terminal program 65 based on the position information output from the user I / F 54, or may be generated by the OS 64 and handed over to the terminal program 65. May be good.

なお、本実施形態では、繰り返し実行されるS36において、図2(B)に示されるように、位置情報が軌跡[1]〜[200]に記憶されたものとする。また、端末プログラム65は、例えば図10(A)に示されるように、スワイプ操作によってタッチ面上を移動する入力媒体に追従して、軌跡を示す軌跡画像147を表示面上の対応する位置に表示させる。軌跡画像147は、図2(B)に示される位置情報で示される表示面上の位置を結ぶ線である。 In the present embodiment, in S36 which is repeatedly executed, it is assumed that the position information is stored in the loci [1] to [200] as shown in FIG. 2 (B). Further, as shown in FIG. 10A, for example, the terminal program 65 follows the input medium moving on the touch surface by the swipe operation, and positions the locus image 147 showing the locus at the corresponding position on the display surface. Display it. The locus image 147 is a line connecting the positions on the display surface shown by the position information shown in FIG. 2 (B).

次に、端末プログラム65は、スワイプ操作が終了したと判断したことに応じて(S37:Yes)、軌跡情報で示される軌跡が禁止領域122に重なっているか否かを判断する(S38)。換言すれば、端末プログラム65は、軌跡情報に含まれる複数の位置情報の一部が禁止領域122内の位置を示すか否かを判断する。さらに換言すれば、端末プログラム65は、表示面に表示させた軌跡画像147が透過領域122に重なるか否かを判断する。S38の処理は、第1判断処理の一例である。 Next, the terminal program 65 determines whether or not the locus indicated by the locus information overlaps the prohibited area 122 in response to the determination that the swipe operation is completed (S37: Yes) (S38). In other words, the terminal program 65 determines whether or not a part of the plurality of position information included in the locus information indicates a position in the prohibited area 122. In other words, the terminal program 65 determines whether or not the locus image 147 displayed on the display surface overlaps the transparent region 122. The process of S38 is an example of the first determination process.

次に、端末プログラム65は、軌跡が禁止領域122に重ならないと判断したことに応じて(S38:No)、レイアウト処理Aを実行する(S39)。スワイプ操作の終了は、入力媒体がタッチ面から離間されたこと、より詳細には、位置情報がユーザI/F54から出力されなくなったことによって判断できる。レイアウト処理Aは、ソフトウェアキーボード145を通じて入力された文字列“よろしく”を、S366で記憶した軌跡情報で示される入力媒体の移動軌跡に沿って、テンプレート画像121に合成する処理である。図5を参照して、レイアウト処理Aの詳細を説明する。 Next, the terminal program 65 executes the layout process A (S39) in response to the determination that the locus does not overlap the prohibited area 122 (S38: No). The end of the swipe operation can be determined by the fact that the input medium is separated from the touch surface, and more specifically, the position information is no longer output from the user I / F 54. The layout process A is a process of synthesizing the character string “regards” input through the software keyboard 145 into the template image 121 along the movement locus of the input medium indicated by the locus information stored in S366. The details of the layout process A will be described with reference to FIG.

まず、端末プログラム65は、軌跡情報に含まれる位置情報のうち、ソフトウェアキーボード145を通じて入力された文字数Nに一致する数の位置情報を抽出する(S41〜S45)。換言すれば、端末プログラム65は、スワイプ操作の軌跡上の点を対象点として抽出する抽出処理(S41、S44)を、対象点をN個抽出するまで繰り返し実行する。本実施形態では、Ramer−Douglas−Peuckerアルゴリズムを用いて、スワイプ操作の軌跡上の対象点を抽出する。図11を参照して、スワイプ操作の軌跡から4つの対象点を抽出する方法を説明する。 First, the terminal program 65 extracts a number of position information that matches the number of characters N input through the software keyboard 145 from the position information included in the locus information (S41 to S45). In other words, the terminal program 65 repeatedly executes the extraction process (S41, S44) for extracting points on the trajectory of the swipe operation as target points until N target points are extracted. In the present embodiment, the Ramer-Douglas-Pucker algorithm is used to extract a target point on the trajectory of the swipe operation. A method of extracting four target points from the trajectory of the swipe operation will be described with reference to FIG.

端末プログラム65は、図11(A)に示されるように、軌跡の始点及び終点を対象点として抽出する(S41)。すなわち、端末プログラム65は、軌跡[1]の要素である位置情報(x,y)と、軌跡[200]の要素である位置情報(x200,y200)とで示される表示面上の点を、対象点として抽出する。そして、端末プログラム65は、対象点を示す配列“軌跡[j]”のインデックス“1”、“200”をメモリ62に一時記憶させる。そして、端末プログラム65は、抽出した特徴点の数を示す変数iに2をセットする(S42)。S41の処理は、1回目の抽出処理の一例である。 As shown in FIG. 11A, the terminal program 65 extracts the start point and the end point of the locus as target points (S41). That is, the terminal program 65 is displayed on the display surface represented by the position information (x 1 , y 1 ) which is an element of the locus [1] and the position information (x 200 , y 200 ) which is an element of the locus [200]. Is extracted as a target point. Then, the terminal program 65 temporarily stores the indexes "1" and "200" of the array "trajectory [j]" indicating the target points in the memory 62. Then, the terminal program 65 sets 2 in the variable i indicating the number of extracted feature points (S42). The process of S41 is an example of the first extraction process.

次に、端末プログラム65は、変数iが文字数Nに達するまで(S43:No)、S44、S45の処理を繰り返し実行する。より詳細には、端末プログラム65は、既に抽出した対象点を結ぶ仮想線から最も遠い軌跡上の点を、対象点として抽出する(S44)。そして、端末プログラム65は、変数iに1を加算する(S45)。S44の処理は、2回目以降の抽出処理の一例である。 Next, the terminal program 65 repeatedly executes the processes of S44 and S45 until the variable i reaches the number of characters N (S43: No). More specifically, the terminal program 65 extracts the point on the locus farthest from the virtual line connecting the already extracted target points as the target point (S44). Then, the terminal program 65 adds 1 to the variable i (S45). The process of S44 is an example of the second and subsequent extraction processes.

まず、端末プログラム65は、図11(B)に示されるように、2つの対象点を結ぶ破線から最も遠い軌跡上の点として、軌跡[72]で示される対象点を抽出し、インデックス“72”をメモリ62に一時記憶させる。また、端末プログラム65は、図11(C)に示されるように、3つの対象点を結ぶ破線から最も遠い軌跡上の点として、軌跡[38]で示される対象点を抽出し、インデックス“38”をメモリ62に一時記憶させる。これにより、例えば、軌跡の始点、終点、曲点、及び閾値長さ以上の直線の中点のうちのN点が、対象点として抽出される。曲点とは、例えば、軌跡の向きが大きく変わる点(例えば、Uターンする点、鋭角に曲がる点)であって、一般的に「エッジ」或いは「コーナー」等と呼ばれる点を指す。また、数学上の変曲点、極大点、極小点等に相当する点は、曲点に含まれてもよい。 First, as shown in FIG. 11B, the terminal program 65 extracts the target point indicated by the locus [72] as the point on the locus farthest from the broken line connecting the two target points, and the index “72”. Is temporarily stored in the memory 62. Further, as shown in FIG. 11C, the terminal program 65 extracts the target point indicated by the locus [38] as the point on the locus farthest from the broken line connecting the three target points, and the index “38”. Is temporarily stored in the memory 62. As a result, for example, the N point of the start point, the end point, the curved point, and the midpoint of the straight line having the threshold length or more is extracted as the target points. The curved point is, for example, a point at which the direction of the locus changes significantly (for example, a point at which a U-turn is made or a point at which the locus turns at an acute angle), and generally refers to a point called an "edge" or a "corner". In addition, points corresponding to mathematical inflection points, maximum points, minimum points, and the like may be included in the inflection points.

次に、端末プログラム65は、変数iが文字数Nに達したことに応じて(S43:Yes)、軌跡[1]、[200]、[72]、[38]で示される対象点を、軌跡の方向に沿って並び替える(S46)。より詳細には、端末プログラム65は、入力された文字数N(=4)と要素数が一致する配列“対象点[i]”をメモリ62内に確保する。そして、端末プログラム65は、軌跡[1]、[200]、[72]、[38]の要素である位置情報を、メモリ62に一時記憶させたインデックスの昇順[1]、[38]、[72]、[200]に、対象点[1]〜[4]に記憶させる。 Next, the terminal program 65 sets the target points indicated by the loci [1], [200], [72], and [38] according to the variable i reaching the number of characters N (S43: Yes). Sort along the direction of (S46). More specifically, the terminal program 65 secures an array “target point [i]” in the memory 62 whose number of input characters N (= 4) and the number of elements match. Then, the terminal program 65 temporarily stores the position information which is an element of the locus [1], [200], [72], and [38] in the memory 62 in ascending order of the index [1], [38], [ 72] and [200] are stored in the target points [1] to [4].

次に、端末プログラム65は、変数iに初期値(=1)をセットする(S47)。そして、端末プログラム65は、文字[i]で示される文字を対象点[i]で示されるテンプレート画像121上の位置に合成する処理(S48)を、変数iをインクリメントしながら繰り返し実行する(S49:No→S50)。次に図4に戻って、端末プログラム65は、図10(B)に示されるように、文字列“よろしく”がスワイプ操作の軌跡に沿って合成されたテンプレート画像121を含むテキスト入力画面を、ディスプレイ53に表示させる(S31)。 Next, the terminal program 65 sets the initial value (= 1) in the variable i (S47). Then, the terminal program 65 repeatedly executes the process (S48) of synthesizing the character indicated by the character [i] at the position on the template image 121 indicated by the target point [i] while incrementing the variable i (S49). : No → S50). Next, returning to FIG. 4, the terminal program 65 displays a text input screen including the template image 121 in which the character string “regards” is synthesized along the trajectory of the swipe operation, as shown in FIG. 10 (B). It is displayed on the display 53 (S31).

すなわち、端末プログラム65は、対象点[1]の位置情報(x、y)で示されるテンプレート画像121上の位置に、文字[1]で示される文字“よ”を合成する。また、端末プログラム65は、対象点[2]の位置情報(x38、y38)で示されるテンプレート画像121上の位置に、文字[2]で示される文字“ろ”を合成する。また、端末プログラム65は、対象点[3]の位置情報(x72、y72)で示されるテンプレート画像121上の位置に、文字[3]で示される文字“し”を合成する。さらに、端末プログラム65は、対象点[4]の位置情報(x200、y200)で示されるテンプレート画像121上の位置に、文字[4]で示される文字“く”を合成する。 That is, the terminal program 65 synthesizes the character "yo" indicated by the character [1] at the position on the template image 121 indicated by the position information (x 1 , y 1) of the target point [1]. Further, the terminal program 65 synthesizes the character "ro" indicated by the character [2] at the position on the template image 121 indicated by the position information (x 38 , y 38) of the target point [2]. Further, the terminal program 65 synthesizes the character "" indicated by the character [3] at the position on the template image 121 indicated by the position information (x 72 , y 72) of the target point [3]. Further, the terminal program 65 synthesizes the character "ku" indicated by the character [4] at the position on the template image 121 indicated by the position information (x 200 , y 200) of the target point [4].

端末プログラム65は、図10(B)に示される[プリント]アイコン126を指定する指定操作をユーザI/F54を通じて受け付けたことに応じて(S16:Yes)、通信I/F55を通じてMFP10にプリント指示情報を送信する(S21)。プリント指示情報は、編集されたテンプレート画像121をハガキの通信面に記録するプリント動作を、MFP10に実行させるための情報である。プリント指示情報は、編集されたテンプレート画像121を示すテンプレート画像データを含む。なお、出力処理の具体例はこれに限定されず、テンプレート画像データをメモリ62の所定の領域に記憶させることでもよいし、インターネット上の不図示のサーバにアップロードすることでもよい。 The terminal program 65 instructs the MFP 10 to print through the communication I / F 55 in response to the reception of the designation operation for designating the [print] icon 126 shown in FIG. 10 (B) through the user I / F 54 (S16: Yes). Information is transmitted (S21). The print instruction information is information for causing the MFP 10 to execute a print operation of recording the edited template image 121 on the communication surface of the postcard. The print instruction information includes template image data indicating the edited template image 121. The specific example of the output process is not limited to this, and the template image data may be stored in a predetermined area of the memory 62, or may be uploaded to a server (not shown) on the Internet.

一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて情報処理端末50からプリント指示情報を受信する。そして、装置プログラム35は、受信したプリント指示情報に従ったプリント動作をプリンタ11に実行させる。すなわち、プリンタ11は、プリント指示情報に含まれるテンプレート画像データで示されるテンプレート画像121を、ハガキの通信面に印刷する。 On the other hand, although not shown, the apparatus program 35 of the MFP 10 receives print instruction information from the information processing terminal 50 through the communication I / F 25. Then, the device program 35 causes the printer 11 to execute a print operation according to the received print instruction information. That is, the printer 11 prints the template image 121 indicated by the template image data included in the print instruction information on the communication surface of the postcard.

一方、端末プログラム65は、例えば、図12(A)、図12(C)、及び図14(A)に示されるように、ユーザI/F54を通じて入力された軌跡が禁止領域122に重なると判断したことに応じて(S38:Yes)、レイアウト処理Bを実行する(S40)。レイアウト処理Bは、入力された軌跡が禁止領域122と重ならないように軌跡情報を補正し、補正した軌跡情報で示される軌跡に沿って、テンプレート画像121に文字列を合成する処理である。以下、ソフトウェアキーボード145を通じて文字列“おめでとう”が入力されたことを前提として、レイアウト処理Bの詳細を説明する。 On the other hand, the terminal program 65 determines that the locus input through the user I / F 54 overlaps the prohibited area 122, for example, as shown in FIGS. 12 (A), 12 (C), and 14 (A). In response to the above (S38: Yes), the layout process B is executed (S40). The layout process B is a process of correcting the locus information so that the input locus does not overlap with the prohibited area 122, and synthesizing a character string with the template image 121 along the locus indicated by the corrected locus information. Hereinafter, the details of the layout process B will be described on the premise that the character string “Congratulations” is input through the software keyboard 145.

まず、端末プログラム65は、テンプレート画像121に含まれる禁止領域122が勾配を有するか否かを判断する(S61)。すなわち、端末プログラム65は、S12で指定されたテンプレート画像データに対応付けられた禁止領域情報が高さ情報を含むか否かを判断すればよい。また、端末プログラム65は、入力された軌跡の終点が禁止領域122内に位置するか否かを判断する(S62)。すなわち、端末プログラム65は、軌跡情報の最後の位置情報で示される位置が禁止領域122内か否かを判断すればよい。S61の処理は第3判断処理の一例であり、S62の処理は第2判断処理の一例である。 First, the terminal program 65 determines whether or not the prohibited area 122 included in the template image 121 has a gradient (S61). That is, the terminal program 65 may determine whether or not the prohibited area information associated with the template image data specified in S12 includes height information. Further, the terminal program 65 determines whether or not the end point of the input locus is located in the prohibited area 122 (S62). That is, the terminal program 65 may determine whether or not the position indicated by the last position information of the locus information is within the prohibited area 122. The process of S61 is an example of the third determination process, and the process of S62 is an example of the second determination process.

端末プログラム65は、例えば図12(A)或いは図12(C)に示されるように、禁止領域情報が高さ情報を含まず且つ終点153が禁止領域122内だと判断したことに応じて(S61:なし&S62:Yes)、図12(B)或いは図12(D)に示されるように、軌跡が禁止領域122を避けるように軌跡情報を補正する(S63、S64)。S63、S64の処理は、補正処理の一例である。 The terminal program 65 determines that the prohibited area information does not include the height information and the end point 153 is within the prohibited area 122, for example, as shown in FIG. 12 (A) or FIG. 12 (C). S61: None & S62: Yes), as shown in FIG. 12 (B) or FIG. 12 (D), the locus information is corrected so that the locus avoids the prohibited area 122 (S63, S64). The processing of S63 and S64 is an example of correction processing.

一例として、端末プログラム65は、図12(A)に示される軌跡の終点153を、禁止領域122の輪郭のうちの終点153に最も近い位置154に移動させる(S63)。すなわち、端末プログラム65は、メモリ62に記憶された軌跡情報の最後の位置情報を、禁止領域122の輪郭上の位置154を示す位置情報で上書きすればよい。次に、端末プログラム65は、図12(B)に示されるように、軌跡の進入点152及び移動後の終点154の間の軌跡が、禁止領域122の輪郭に沿って最短距離で結ばれるように、メモリ62に記憶された軌跡情報を補正する(S64)。進入点152とは、禁止領域122外から禁止領域122内に進入する軌跡と輪郭との交点である。すなわち、端末プログラム65は、進入点152及び移動後の終点154の間の軌跡を、禁止領域122の輪郭に沿って時計回りに延びる軌跡に補正する。 As an example, the terminal program 65 moves the end point 153 of the locus shown in FIG. 12A to the position 154 closest to the end point 153 in the contour of the prohibited area 122 (S63). That is, the terminal program 65 may overwrite the last position information of the locus information stored in the memory 62 with the position information indicating the position 154 on the contour of the prohibited area 122. Next, in the terminal program 65, as shown in FIG. 12B, the locus between the approach point 152 of the locus and the end point 154 after movement is connected at the shortest distance along the contour of the prohibited area 122. In addition, the locus information stored in the memory 62 is corrected (S64). The approach point 152 is an intersection of a locus and a contour that enter the prohibited area 122 from outside the prohibited area 122. That is, the terminal program 65 corrects the locus between the approach point 152 and the end point 154 after movement to a locus extending clockwise along the contour of the prohibited area 122.

他の例として、端末プログラム65は、図12(C)に示される軌跡の終点163を、禁止領域122の輪郭のうちの終点163に最も近い位置164に移動させる(S63)。 次に、端末プログラム65は、図12(D)に示されるように、軌跡の進入点162及び移動後の終点164の間の軌跡(以下、軌跡の両端の参照番号を用いて、「軌跡162−164」のように表記する。)が、禁止領域122の輪郭に沿って最短距離で結ばれるように、メモリ62に記憶された軌跡情報を補正する(S64)。すなわち、端末プログラム65は、軌跡162−164を、禁止領域122の輪郭に沿って反時計回りに延びる軌跡に補正する。 As another example, the terminal program 65 moves the end point 163 of the locus shown in FIG. 12C to the position 164 closest to the end point 163 in the contour of the prohibited area 122 (S63). Next, as shown in FIG. 12 (D), the terminal program 65 uses the locus between the entry point 162 of the locus and the end point 164 after the movement (hereinafter, reference numbers at both ends of the locus are used to “trajectory 162”. -164 ”is corrected so that the locus information stored in the memory 62 is connected at the shortest distance along the contour of the prohibited area 122 (S64). That is, the terminal program 65 corrects the locus 162-164 to a locus extending counterclockwise along the contour of the prohibited area 122.

次に、端末プログラム65は、レイアウト処理Aを実行する(S65)。以下、ソフトウェアキーボード145を通じて入力された文字列“おめでとう”を、図12に示される軌跡に沿って、テンプレート画像121に合成するレイアウト処理Aを説明する。なお、前述の説明との共通点の詳細な説明は省略し、相違点を中心に説明する。 Next, the terminal program 65 executes the layout process A (S65). Hereinafter, the layout process A for synthesizing the character string “Congratulations” input through the software keyboard 145 with the template image 121 along the trajectory shown in FIG. 12 will be described. The detailed description of the common points with the above description will be omitted, and the differences will be mainly described.

まず、端末プログラム65は、入力された文字列“おめでとう”の文字数に対応する5個の対象点を抽出する(S41〜S45)。そして、端末プログラム65は、S63、S64で補正した軌跡情報で示される軌跡に沿った表示面上の複数の位置それぞれにおいて、入力された文字列に含まれる複数の文字それぞれを、文字列内における順番に従ってテンプレート画像121に合成する(S48〜S50)。 First, the terminal program 65 extracts five target points corresponding to the number of characters of the input character string "Congratulations" (S41 to S45). Then, the terminal program 65 sets each of the plurality of characters included in the input character string in the character string at each of the plurality of positions on the display surface along the locus indicated by the locus information corrected in S63 and S64. It is combined with the template image 121 according to the order (S48 to S50).

図12(B)の例では、始点151、進入点152、及び移動後の終点154の他に、2つの対象点155、156が抽出されるものとする。そして、始点151に対応する位置に文字“お”が合成され、進入点152に対応する位置に文字“め”が合成され、対象点155に対応する位置に文字“で”が合成され、対象点156に対応する位置に文字“と”が合成され、移動後の終点154に対応する位置に文字“う”が合成される。S65で実行されるS48の処理は、第1合成処理及び合成処理の一例である。 In the example of FIG. 12B, it is assumed that two target points 155 and 156 are extracted in addition to the start point 151, the approach point 152, and the end point 154 after movement. Then, the character "o" is synthesized at the position corresponding to the start point 151, the character "me" is synthesized at the position corresponding to the approach point 152, and the character "de" is synthesized at the position corresponding to the target point 155. The character "to" is combined at the position corresponding to the point 156, and the character "u" is combined at the position corresponding to the end point 154 after the movement. The process of S48 executed in S65 is an example of the first synthesis process and the synthesis process.

また、端末プログラム65は、S48〜S50の処理に先立って、進入点152及び移動後の終点154の間に合成する文字“め”、“で”、“と”、“う”を、当該文字が配置される位置の輪郭の形状に合わせてエンベロープ変形してもよい。図13を参照して、対象点156に対応する位置に合成する文字“と”を、エンベロープ変形する処理を説明する。エンベロープ変形のアルゴリズムは既に周知なので、詳細な説明は省略するが、例えば以下のような考え方で実現される。 Further, the terminal program 65 sets the characters "me", "de", "to", and "u" to be synthesized between the approach point 152 and the end point 154 after movement prior to the processing of S48 to S50. The envelope may be deformed according to the shape of the contour at the position where the is arranged. With reference to FIG. 13, a process of envelope-transforming the character “to” to be synthesized at the position corresponding to the target point 156 will be described. Since the envelope deformation algorithm is already well known, detailed description thereof will be omitted, but it is realized by, for example, the following concept.

まず、端末プログラム65は、図13(A)に示されるように、変形前の文字“と”を囲む正方形の頂点、各辺の中点、及び対角線の交点の位置に、9個のグリッド171〜179を仮想的に配置する。次に、端末プログラム65は、図13(B)に示されるように、グリッド171〜179で画定される矩形が文字“と”を合成する位置の輪郭の形状に沿うように、グリッド171〜179の少なくとも1つを移動させる。図13の例では、グリッド174がグリッド174’の位置に移動される。 First, as shown in FIG. 13A, the terminal program 65 has nine grids 171 at the positions of the vertices of the square surrounding the characters “and” before transformation, the midpoints of each side, and the intersections of the diagonal lines. ~ 179 are virtually arranged. Next, the terminal program 65 determines the grids 171 to 179 so that the rectangle defined by the grids 171 to 179 follows the contour shape of the position where the characters "and" are combined, as shown in FIG. 13 (B). Move at least one of them. In the example of FIG. 13, the grid 174 is moved to the position of the grid 174'.

そして、端末プログラム65は、図13(B)に示されるグリッド171〜173、174’、175〜179で画定される矩形の形状に合わせて、文字“と”を変形させる。一例として、グリッド174をグリッド175から離れる向きに移動させると、文字“と”が左向きに引き延ばされる。他の例として、グリッド174をグリッド175に近づく向きに移動させると、文字“と”が右向きに押し潰される。 Then, the terminal program 65 deforms the characters "and" according to the rectangular shape defined by the grids 171 to 173, 174'and 175 to 179 shown in FIG. 13 (B). As an example, when the grid 174 is moved away from the grid 175, the characters "and" are stretched to the left. As another example, when the grid 174 is moved closer to the grid 175, the characters "and" are crushed to the right.

また図6に戻って、端末プログラム65は、例えば図14(A)に示されるように、禁止領域情報が高さ情報を含まず且つ終点184が禁止領域122外だと判断したことに応じて(S61:なし&S62:No)、例えば図14(B)〜(D)に示される方法で、軌跡が禁止領域122を避けるように軌跡情報を補正する(S66)。S66の処理は、補正処理の一例である。 Further, returning to FIG. 6, the terminal program 65 determines that the prohibited area information does not include the height information and the end point 184 is outside the prohibited area 122, as shown in FIG. 14A, for example. (S61: None & S62: No), for example, by the method shown in FIGS. 14 (B) to 14 (D), the locus information is corrected so that the locus avoids the prohibited area 122 (S66). The process of S66 is an example of the correction process.

一例として、端末プログラム65は、図14(B)に示されるように、軌跡182−184を示す軌跡情報を、当該軌跡の進入点182が退出点183に一致するように補正する(S66)。退出点183とは、禁止領域122内から禁止領域122外に退出する軌跡と輪郭との交点を指す。すなわち、軌跡182−184の進入点182が退出点183の位置に一致するように、軌跡182−184が平衡移動される。 As an example, as shown in FIG. 14B, the terminal program 65 corrects the locus information indicating the locus 182-184 so that the entry point 182 of the locus coincides with the exit point 183 (S66). The exit point 183 refers to the intersection of the locus and the contour of exiting from the prohibited area 122 to the outside of the prohibited area 122. That is, the locus 182-184 is equilibrium-moved so that the entry point 182 of the locus 182-184 coincides with the position of the exit point 183.

他の例として、端末プログラム65は、図14(C)に示されるように、軌跡182−184を削除し、且つ退出点183から終点184に向かう向きに直線的に延びる代替軌跡183”−184”を追加してもよい。すなわち、端末プログラム65は、進入点182及び終点184の間の位置情報を軌跡情報から削除し、代替軌跡183”−184”を示す位置情報を軌跡情報に追加すればよい。代替軌跡183”−184”は、例えば、予め定められた長さの直線であって、退出点183における禁止領域122の法線方向に延びる。さらに他の例として、端末プログラム65は、図14(D)に示されるように、軌跡182−184を削除してもよい。 As another example, the terminal program 65 deletes the locus 182-184 and extends linearly from the exit point 183 to the end point 184 as shown in FIG. 14 (C). May be added. That is, the terminal program 65 may delete the position information between the approach point 182 and the end point 184 from the locus information, and add the position information indicating the alternative locus 183 "-184" to the locus information. The alternative locus 183 "-184" is, for example, a straight line having a predetermined length and extends in the normal direction of the prohibited area 122 at the exit point 183. As yet another example, the terminal program 65 may delete loci 182-184 as shown in FIG. 14 (D).

次に、端末プログラム65は、軌跡の始点181及び進入点182の間に合成する文字数Nと、軌跡の退出点183及び終点184の間に合成する文字数Nとを決定する(S67)。具体的には、端末プログラム65は、始点181から進入点182までの軌跡(以下、「第1軌跡」と表記する。)に沿った長さをLと、退出点183から終点184までの軌跡(以下、「第2軌跡」と表記する。)に沿った長さをLとで、入力された文字数Nを比例配分する。すなわち、N=N×L/(L+L)、N=N×L/(L+L)となる。S67の処理は、決定処理の一例である。 Then, the terminal program 65 determines the number of characters N 1 to be synthesized during the start 181 and entry point 182 of the trajectory, and a number N 2 of synthesizing between the exit point 183 and ending point 184 of the trajectory (S67). Specifically, in the terminal program 65, the length along the locus from the start point 181 to the entry point 182 (hereinafter, referred to as "first locus") is L 1, and the length from the exit point 183 to the end point 184 is 184. The length along the locus (hereinafter referred to as "second locus") is L 2, and the number of input characters N is proportionally distributed. That is, N 1 = N × L 1 / (L 1 + L 2 ) and N 2 = N × L 1 / (L 1 + L 2 ). The process of S67 is an example of the determination process.

次に、端末プログラム65は、第1軌跡及び第2軌跡それぞれに対するレイアウト処理Aを実行する(S68)。すなわち、端末プログラム65は、第1軌跡からN個の対象点を抽出し、抽出した対象点に対応する表示面上の位置に文字列内における順番の先頭からN個の文字を合成する。また、端末プログラム65は、第2軌跡からN個の対象点を抽出し、抽出した対象点に対応する表示面上の位置に文字列内における順番の(N+1)個目からN個の文字を合成する。 Next, the terminal program 65 executes the layout process A for each of the first locus and the second locus (S68). That is, the terminal program 65 extracts N 1 target points from the first locus and synthesizes N 1 characters from the beginning of the order in the character string at the positions on the display surface corresponding to the extracted target points. .. The terminal program 65 from the second path to extract N 2 pieces of object points, extracted into position on the display surface corresponding to the point of interest sequence in the string (N 1 +1) th from N 2 Combining the characters.

再び図6に戻って、端末プログラム65は、例えば図15(A)に示されるように、禁止領域情報が高さ情報を含むと判断したことに応じて(S61:あり)、レイアウト処理Aを実行する(S69)。S69で実行するレイアウト処理Aは、禁止領域122に重なる文字を変形する処理を、テンプレート画像121に合成するのに先立って実行する点で前述の説明と相違し、その他の点は前述の説明と共通する。S69で実行されるS48の処理は、第2合成処理の一例である。 Returning to FIG. 6 again, the terminal program 65 performs the layout process A in response to the determination that the prohibited area information includes the height information (S61: Yes), for example, as shown in FIG. 15 (A). Execute (S69). The layout process A executed in S69 differs from the above description in that the process of transforming the characters overlapping the prohibited area 122 is executed prior to compositing with the template image 121, and the other points are the same as the above description. Common. The process of S48 executed in S69 is an example of the second synthesis process.

より詳細には、端末プログラム65は、図15(C)に示されるように、禁止領域122に重なる位置に合成する文字を、高さ情報で示される禁止領域122の勾配に沿って、禁止領域122に投影した形状に変形する。すなわち、端末プログラム65は、右上から左下に向かって上り勾配となる面に文字“め”を投影したように、文字“め”を射影変換する。また、端末プログラム65は、右上から左下に向かって下り勾配となる面に文字“と”を投影したように、文字“と”を射影変換する。禁止領域122の勾配とは、例えば、禁止領域122に含まれる複数の画素それぞれのZ方向の高さが連続的に変化することによって生じる「表示面に対する仮想的な傾斜」を指す。 More specifically, as shown in FIG. 15C, the terminal program 65 synthesizes a character to be synthesized at a position overlapping the prohibited area 122 along the gradient of the prohibited area 122 indicated by the height information. It transforms into the shape projected on 122. That is, the terminal program 65 projects and transforms the character "me" as if the character "me" was projected onto a surface having an upward gradient from the upper right to the lower left. Further, the terminal program 65 projects and transforms the characters "to" as if the characters "to" were projected onto a surface having a downward gradient from the upper right to the lower left. The gradient of the prohibited area 122 refers to, for example, a "virtual inclination with respect to the display surface" caused by the continuous change in the height of each of the plurality of pixels included in the prohibited area 122 in the Z direction.

また、端末プログラム65は、禁止領域122に重なる位置に合成する文字を、合成する位置の高さが高いほど大きくしてもよい。すなわち、端末プログラム65は、文字“め”、“と”を文字“お”、“う”より大きくしてもよい。さらに、端末プログラム65は、文字“で”を文字“め”、“と”より大きくしてもよい。 Further, the terminal program 65 may increase the character to be synthesized at the position overlapping the prohibited area 122 as the height of the combining position increases. That is, the terminal program 65 may make the characters "me" and "to" larger than the characters "o" and "u". Further, the terminal program 65 may make the character "de" larger than the characters "me" and "to".

[本実施形態の作用効果]
上記の実施形態によれば、ユーザが入力媒体を用いてタッチ面上に描いた軌跡に沿ってレイアウトされた文字列がテンプレート画像121に合成される。これにより、直感的な操作で柔軟且つ簡単に文字列をレイアウトすることができる。また、ユーザが描いた軌跡が予め定められた禁止領域122に重なる場合に、当該禁止領域122を避けるように軌跡情報が補正される。これにより、強調したい絵或いは文字が配置されるテンプレート画像121上の領域を禁止領域122に設定しておけば、当該絵(例えば、写真)或いは文字が入力された文字列で隠れてしまうことを抑制できる。
[Action and effect of this embodiment]
According to the above embodiment, the character string laid out along the locus drawn on the touch surface by the user using the input medium is combined with the template image 121. This makes it possible to lay out character strings flexibly and easily with intuitive operations. Further, when the locus drawn by the user overlaps the predetermined prohibited area 122, the locus information is corrected so as to avoid the prohibited area 122. As a result, if the area on the template image 121 on which the picture or character to be emphasized is arranged is set as the prohibited area 122, the picture (for example, a photograph) or the character is hidden by the input character string. Can be suppressed.

なお図12の例のように、禁止領域122内に位置する終点153、163を、禁止領域122の輪郭上の最も近い位置に移動させ、進入点152、162及び移動後の終点154、164の間の軌跡を輪郭に沿わせることによって、補正の前後における軌跡の変化を最小限にすることができる。これにより、ユーザの所望する文字列のレイアウトを大きく変化させることなく、強調したい絵或いは文字が隠れることを抑制できる。 As in the example of FIG. 12, the end points 153 and 163 located in the prohibited area 122 are moved to the closest positions on the contour of the prohibited area 122, and the approach points 152 and 162 and the end points 154 and 164 after the movement are moved. By aligning the locus between them along the contour, the change in the locus before and after the correction can be minimized. As a result, it is possible to prevent the picture or character to be emphasized from being hidden without significantly changing the layout of the character string desired by the user.

また、図13の例のように、禁止領域122の輪郭上に合成される文字を、合成位置の輪郭の形状に合わせてエンベロープ変形させることによって、テンプレート画像121に合成する文字列のレイアウトを、さらに多様化することができる。但し、文字の変形のさせ方はエンベロープ変形に限定されず、輪郭線の向きに応じて文字を傾けてもよいし、輪郭の形状に応じて文字の大きさを変更してもよい。 Further, as in the example of FIG. 13, the layout of the character string to be combined with the template image 121 by deforming the envelope of the character to be combined on the outline of the prohibited area 122 according to the shape of the outline of the composition position can be obtained. It can be further diversified. However, the method of deforming the character is not limited to the envelope deformation, and the character may be tilted according to the direction of the contour line, or the size of the character may be changed according to the shape of the contour.

また図14の例のように、軌跡の始点181、進入点182、及び退出点183の位置を変更せずに軌跡を補正する異によって、ユーザが描いた軌跡の全体の流れを維持しつつ、強調したい絵或いは文字が隠れることを抑制できる。また、第1軌跡181−182及び第2軌跡183”−184”上に配置する文字数を、長さL1、L2で比例配分することによって、軌跡上に配置される文字の間隔を平準化することができる。 Further, as in the example of FIG. 14, the locus is corrected without changing the positions of the start point 181 and the entry point 182, and the exit point 183 of the locus, so that the entire flow of the locus drawn by the user is maintained. It is possible to prevent the picture or character to be emphasized from being hidden. Further, by proportionally distributing the number of characters arranged on the first locus 181-182 and the second locus 183 "-184" by the lengths L1 and L2, the spacing between the characters arranged on the locus is leveled. Can be done.

さらに図15の例のように、高さ情報で特定される勾配に沿って文字を射影変換することによって、立体の禁止領域122の表面に文字を貼り付けたように見える。これにより、立体感のあるレイアウトを実現できる。 Further, as in the example of FIG. 15, by projecting and transforming the characters along the gradient specified by the height information, it appears that the characters are pasted on the surface of the prohibited area 122 of the solid. As a result, a layout with a three-dimensional effect can be realized.

また、上記の実施形態によれば、テンプレート画像データ毎に禁止領域情報を対応付けるので、ユーザが指定したテンプレート画像121に対応する禁止領域122を避けるように軌跡情報が補正される。すなわち、テンプレート画像データの制作者或いは端末プログラム65の開発者は、対応するテンプレート画像データ上で強調したい絵或いは文字を含む領域を、禁止領域に設定することができる。 Further, according to the above embodiment, since the prohibited area information is associated with each template image data, the locus information is corrected so as to avoid the prohibited area 122 corresponding to the template image 121 specified by the user. That is, the creator of the template image data or the developer of the terminal program 65 can set an area including a picture or a character to be emphasized on the corresponding template image data as a prohibited area.

なお、上記の実施形態のように、Ramer−Douglas−Peuckerアルゴリズムを用いて、軌跡上から対象点を抽出することによって、文字列を軌跡上に適切に配置することができる。但し、対象点の抽出方法は、これに限定されない。他の例として、端末プログラム65は、入力媒体の移動距離或いは移動時間で軌跡を(N−1)等分した境界のN点を、対象点として抽出してもよい。 As in the above embodiment, the character string can be appropriately arranged on the locus by extracting the target point from the locus using the Ramer-Douglas-Pucker algorithm. However, the method of extracting the target points is not limited to this. As another example, the terminal program 65 may extract the N point of the boundary whose locus is equally divided by (N-1) by the moving distance or moving time of the input medium as the target point.

また、上記の実施形態において、端末プログラム65は、S63&S64、S66で補正した軌跡情報で示される軌跡と、[OK]アイコンとを含む確認画面を、ディスプレイ53に表示させてもよい。この処理は、第2表示処理の一例である。次に、端末プログラム65は、[OK]アイコンを指定する指定操作をユーザI/F54を通じて受け付けたことに応じて、S65、S67&S68の処理を実行してもよい。この処理は、第2受付処理の一例である。また、[OK]アイコンの指定は、確認画面に表示された補正後の軌跡を確認したことに対応する確認操作の一例である。これにより、ユーザの意図と大きく異なる軌跡に沿って文字列がレイアウトされるのを抑制できる。 Further, in the above embodiment, the terminal program 65 may display a confirmation screen including the locus indicated by the locus information corrected in S63 & S64 and S66 and the [OK] icon on the display 53. This process is an example of the second display process. Next, the terminal program 65 may execute the processes of S65, S67 & S68 in response to the reception of the designated operation for designating the [OK] icon through the user I / F54. This process is an example of the second reception process. Further, the designation of the [OK] icon is an example of the confirmation operation corresponding to the confirmation of the corrected trajectory displayed on the confirmation screen. As a result, it is possible to prevent the character string from being laid out along a trajectory that is significantly different from the user's intention.

なお、図13を参照して説明した文字のエンベロープ変形は、補正後の軌跡に沿って文字を合成する場合の他、例えば以下のような用途にも利用できる。端末プログラム65は、文字列を入力する入力操作と、テンプレート画像121に含まれる輪郭線の一部を指定する指定操作とを、ユーザI/F54を通じて受け付ける。次に、端末プログラム65は、指定を受け付けた輪郭線から文字数に対応する数の対象点を抽出する。次に、端末プログラム65は、入力を受け付けた文字列に含まれる複数の文字それぞれを、対応する対象点の位置における輪郭線の形状に合わせてエンベロープ変形する。そして、端末プログラム65は、エンベロープ変形した文字を対応する対象点の位置に合成する。 The character envelope deformation described with reference to FIG. 13 can be used not only for synthesizing characters along the corrected locus, but also for the following purposes, for example. The terminal program 65 accepts an input operation for inputting a character string and a designation operation for designating a part of the contour line included in the template image 121 through the user I / F 54. Next, the terminal program 65 extracts a number of target points corresponding to the number of characters from the contour line that has received the designation. Next, the terminal program 65 transforms each of the plurality of characters included in the input character string into an envelope according to the shape of the contour line at the position of the corresponding target point. Then, the terminal program 65 synthesizes the envelope-deformed character at the position of the corresponding target point.

なお、上記の実施形態では、スワイプ操作が終了してから対象点を抽出する処理を実行する例(S28:Yes→S29)を説明したが、対象点を抽出するタイミングはこれに限定されない。他の例として、端末プログラム65は、スワイプ操作中に軌跡の始点、終点、曲点、及び閾値長さ以上の直線の中点等の対象点を検出したことに応じて、検出した対象点に入力された文字を入力順に配置してもよい。すなわち、入力媒体が表示面上を移動するのに追従して、入力された文字が入力順に配置されていってもよい。 In the above embodiment, an example (S28: Yes → S29) of executing the process of extracting the target point after the swipe operation is completed has been described, but the timing of extracting the target point is not limited to this. As another example, the terminal program 65 determines the detected target points in response to the detection of target points such as the start point, end point, curved point, and midpoint of a straight line having a threshold length or more during the swipe operation. The input characters may be arranged in the input order. That is, the input characters may be arranged in the input order following the movement of the input medium on the display surface.

また、上記の実施形態では、図10(B)に示されるように、軌跡上にレイアウトした各文字の上下方向を、ディスプレイ53の長手方向に統一した例を説明した。しかしながら、軌跡上における各文字のレイアウトは、これに限定されない。他の例として、端末プログラム65は、例えば図10(B)に示される各文字“よ”、“ろ”、“し”、“く”を、当該文字の上下方向と対象点における軌跡の法線方向とが一致する向きに回転させて、テンプレート画像121に合成してもよい。すなわち、図10(B)の例によれば、文字“よ”、“く”が反時計周りに回転された状態でディスプレイ53に表示される。 Further, in the above embodiment, as shown in FIG. 10B, an example has been described in which the vertical direction of each character laid out on the locus is unified in the longitudinal direction of the display 53. However, the layout of each character on the trajectory is not limited to this. As another example, the terminal program 65 uses, for example, each character "yo", "ro", "shi", and "ku" shown in FIG. 10B in the vertical direction of the character and the method of the locus at the target point. It may be rotated in a direction that coincides with the line direction and combined with the template image 121. That is, according to the example of FIG. 10B, the letters “yo” and “ku” are displayed on the display 53 in a state of being rotated counterclockwise.

また、上記の実施形態では、年賀状の通信面に記録するテンプレート画像121に合成する文字をレイアウト或いは変形させる例を説明したが、本発明の用途はこれに限定されない。他の例として、刺繍データに従って布地に糸を縫い込むミシン、ラベルに文字列を記録するラベルプリンタ、円盤形状の画像をCD−ROMの表面に記録するレーベルプリンタ、布地に画像を記録するガーメントプリンタ等において、入力された文字をタッチ面に対する入力操作に従ってレイアウト或いは変形させてもよい。 Further, in the above embodiment, an example of laying out or transforming the characters to be combined with the template image 121 recorded on the communication surface of the New Year's card has been described, but the use of the present invention is not limited to this. Other examples include sewing machines that sew threads into fabric according to embroidery data, label printers that record character strings on labels, label printers that record disk-shaped images on the surface of CD-ROMs, and garment printers that record images on fabrics. Etc., the input characters may be laid out or deformed according to the input operation on the touch surface.

また、上記の実施形態のMFP10及び情報処理端末50において、メモリ32、62に記憶された各種プログラムがCPU31、61によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。 Further, in the MFP 10 and the information processing terminal 50 of the above embodiment, each process executed by the controller of the present invention is realized by executing various programs stored in the memories 32 and 62 by the CPUs 31 and 61. Explained. However, the configuration of the controller is not limited to this, and a part or all of the controller configuration may be realized by hardware such as an integrated circuit.

さらに、本発明は、MFP10及び情報処理端末50として実現できるだけでなく、MFP10及び情報処理端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じてMFP10及び情報処理端末50に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。 Further, the present invention can be realized not only as the MFP 10 and the information processing terminal 50, but also as a program for causing the MFP 10 and the information processing terminal 50 to execute processing. Then, the program may be recorded and provided on a non-transitory recording medium. The non-transitory recording medium may include a memory mounted on a server that can be connected to the MFP 10 and the information processing terminal 50 through the communication network 101, in addition to a CD-ROM, a DVD-ROM, and the like. Then, the program stored in the memory of the server may be distributed through a communication network 101 such as the Internet as information or a signal indicating the program.

10・・・MFP
11・・・プリンタ
50・・・情報処理端末
53・・・ディスプレイ
54・・・ユーザI/F
55・・・通信I/F
61・・・CPU
62・・・メモリ
65・・・端末プログラム
10 ... MFP
11 ... Printer 50 ... Information processing terminal 53 ... Display 54 ... User I / F
55 ... Communication I / F
61 ... CPU
62 ... Memory 65 ... Terminal program

Claims (14)

表示面を有するディスプレイと、前記表示面に対応付けられたタッチ面を有するユーザインタフェースとを備える情報処理端末によって実行可能なプログラムであって、前記ユーザインタフェースは、前記タッチ面に入力媒体がタッチされた場合に、前記入力媒体がタッチされた前記タッチ面上の位置を示す位置情報を出力するインタフェースであり、
該プログラムは、
予め定められた禁止領域を含む背景画像を前記ディスプレイに表示させる第1表示処理と、
文字列を入力する入力操作を前記ユーザインタフェースを通じて受け付ける第1受付処理と、
前記タッチ面上を移動する前記入力媒体の軌跡を示す軌跡情報を取得する取得処理とを前記情報処理端末に実行させ、前記軌跡情報は、前記ユーザインタフェースから出力される前記位置情報に基づいて生成される情報であり、
該プログラムは、
前記取得処理で取得した前記軌跡情報が前記表示面上の前記禁止領域に重なる前記軌跡を示しているか否かを判断する第1判断処理と、
前記第1判断処理で前記禁止領域に重なる前記軌跡を示していると判断したことに応じて、前記軌跡が前記禁止領域を避けるように、前記取得処理で取得した前記軌跡情報を補正する補正処理と、
前記補正処理で補正した前記軌跡情報で示される前記軌跡に沿った前記表示面上の複数の位置それぞれにおいて、前記第1受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って前記背景画像に合成する第1合成処理とを前記情報処理端末に実行させるプログラム。
A program that can be executed by an information processing terminal including a display having a display surface and a user interface having a touch surface associated with the display surface. In the user interface, an input medium is touched on the touch surface. In this case, it is an interface that outputs position information indicating the position on the touch surface to which the input medium is touched.
The program
The first display process of displaying a background image including a predetermined prohibited area on the display, and
The first reception process that accepts an input operation for inputting a character string through the user interface, and
The information processing terminal is made to execute an acquisition process for acquiring locus information indicating a locus of the input medium moving on the touch surface, and the locus information is generated based on the position information output from the user interface. Information to be processed
The program
The first determination process for determining whether or not the locus information acquired in the acquisition process indicates the locus overlapping the prohibited area on the display surface.
A correction process for correcting the locus information acquired in the acquisition process so that the locus avoids the prohibited area in response to the determination in the first determination process that the locus overlaps the prohibited area. When,
At each of the plurality of positions on the display surface along the locus indicated by the locus information corrected by the correction process, each of the plurality of characters included in the character string input in the first reception process is described. A program that causes the information processing terminal to execute a first compositing process for compositing the background image according to the order in the character string.
該プログラムは、
前記第1判断処理で前記禁止領域に重なる前記軌跡を示していると判断したことに応じて、前記取得処理で取得した前記軌跡情報で示される前記軌跡の終点が前記禁止領域内に位置するか否かを判断する第2判断処理を前記情報処理端末に実行させ、
前記第2判断処理で前記禁止領域内だと判断した場合の前記補正処理において、
前記禁止領域の輪郭のうちの前記終点に最も近い位置に前記終点が移動し、
進入点及び移動後の前記終点の間の前記軌跡が前記輪郭に沿うように、前記軌跡情報を補正し、前記進入点は、前記禁止領域外から前記禁止領域内に進入する前記軌跡と前記輪郭との交点である請求項1に記載のプログラム。
The program
Whether the end point of the locus indicated by the locus information acquired in the acquisition process is located in the prohibited area in response to the determination in the first determination process that the locus overlaps the prohibited area. The information processing terminal is made to execute a second judgment process for determining whether or not the information processing terminal is used.
In the correction process when it is determined that the area is within the prohibited area in the second determination process.
The end point moves to the position closest to the end point in the contour of the prohibited area,
The locus information is corrected so that the locus between the approach point and the end point after movement follows the contour, and the approach point is the locus and the contour that enter the prohibited area from outside the prohibited area. The program according to claim 1, which is an intersection with.
該プログラムは、前記第2判断処理で前記禁止領域内だと判断した場合の前記補正処理において、前記進入点及び移動後の前記終点が前記輪郭に沿って最短距離で結ばれるように、前記進入点及び移動後の前記終点の間の前記軌跡情報を補正する請求項2に記載のプログラム。 In the correction process when the second determination process determines that the program is within the prohibited area, the program enters the approach point and the end point after the movement so as to be connected at the shortest distance along the contour. The program according to claim 2, wherein the locus information between the point and the end point after movement is corrected. 該プログラムは、前記第1合成処理において、前記進入点及び移動後の前記終点の間に合成する前記文字を、当該文字が配置される位置の前記輪郭の形状に合わせてエンベロープ変形して、前記背景画像に合成する請求項2又は3に記載のプログラム。 In the first synthesis process, the program envelope-transforms the character to be synthesized between the approach point and the end point after movement in accordance with the shape of the contour at the position where the character is arranged. The program according to claim 2 or 3, which is combined with a background image. 該プログラムは、前記第2判断処理で前記禁止領域外だと判断した場合の前記補正処理において、進入点及び前記終点の間の前記軌跡を示す前記軌跡情報を、当該軌跡の前記進入点が退出点に一致するように補正し、前記進入点は、前記禁止領域外から前記禁止領域内に進入する前記軌跡と前記輪郭との交点であり、前記退出点は、前記禁止領域内から前記禁止領域外に退出する前記軌跡と前記輪郭との交点である請求項2から4のいずれかに記載のプログラム。 In the correction process when the program determines that the area is outside the prohibited area in the second determination process, the program exits the locus information indicating the locus between the approach point and the end point, and the approach point of the locus exits. Corrected so as to coincide with the points, the entry point is the intersection of the locus and the contour that enter the prohibited area from outside the prohibited area, and the exit point is from the inside of the prohibited area to the prohibited area. The program according to any one of claims 2 to 4, which is an intersection of the locus and the contour that exits outside. 該プログラムは、前記第2判断処理で前記禁止領域外だと判断した場合の前記補正処理において、進入点及び前記終点の間の前記軌跡が削除され、且つ退出点から前記終点に向かう向きに直線的に延びる代替軌跡が追加されるように前記軌跡情報を補正し、前記進入点は、前記禁止領域外から前記禁止領域内に進入する前記軌跡と前記輪郭との交点であり、前記退出点は、前記禁止領域内から前記禁止領域外に退出する前記軌跡と前記輪郭との交点である請求項2から4のいずれかに記載のプログラム。 In the correction process when the program determines that the area is outside the prohibited area in the second determination process, the locus between the approach point and the end point is deleted, and a straight line is formed from the exit point toward the end point. The locus information is corrected so that an alternative locus that extends is added, and the approach point is an intersection of the locus and the contour that enter the prohibited area from outside the prohibited area, and the exit point is. The program according to any one of claims 2 to 4, which is an intersection of the locus and the contour that exits from the prohibited area to the outside of the prohibited area. 該プログラムは、前記第2判断処理で前記禁止領域外だと判断した場合の前記補正処理において、進入点及び退出点の間の前記軌跡が削除されるように前記軌跡情報を補正し、前記進入点は、前記禁止領域外から前記禁止領域内に進入する前記軌跡と前記輪郭との交点であり、前記退出点は、前記禁止領域内から前記禁止領域外に退出する前記軌跡と前記輪郭との交点である請求項2から4のいずれかに記載のプログラム。 The program corrects the locus information so that the locus between the entry point and the exit point is deleted in the correction process when the second determination process determines that the area is outside the prohibited area, and the program corrects the locus information so that the locus between the entry point and the exit point is deleted. The point is the intersection of the locus that enters the prohibited area from outside the prohibited area and the contour, and the exit point is the locus and the contour that exit from the prohibited area to the outside of the prohibited area. The program according to any one of claims 2 to 4, which is an intersection. 該プログラムは、前記第1受付処理で入力を受け付けた前記文字列に含まれるN(Nは2以上の整数)個の文字のうち、前記軌跡の始点及び前記進入点の間に合成する文字数NをN×L/(L+L)に決定し、前記軌跡の前記退出点及び前記終点の間に合成する文字数NをN×L/(L+L)に決定する決定処理を前記情報処理端末に実行させ、前記Lは、前記始点から前記進入点までの前記軌跡に沿った長さであり、前記Lは、前記退出点から前記終点までの前記軌跡に沿った長さであり、
該プログラムは、前記第1合成処理において、
前記始点から前記進入点までの前記軌跡に対応する前記表示面上の位置に、前記文字列内における順番の先頭からN個の前記文字を合成し、
前記退出点から前記終点までの前記軌跡に対応する前記表示面上の位置に、次のN個の前記文字を合成する請求項5から7のいずれかに記載のプログラム。
Of the N (N is an integer of 2 or more) characters included in the character string input received in the first reception process, the program synthesizes the number of characters N between the start point of the locus and the entry point. 1 is determined to be N × L 1 / (L 1 + L 2 ), and the number of characters N 2 to be combined between the exit point and the end point of the locus is determined to be N × L 1 / (L 1 + L 2 ). The processing is executed by the information processing terminal, where L 1 is a length along the locus from the start point to the entry point, and L 2 is along the locus from the exit point to the end point. Is the length
The program is used in the first synthesis process.
A position on the display surface corresponding to the track from the start point to the entry point, the N 1 pieces of said character synthesized from the head of the order within the character string,
The program according to any one of claims 5 to 7, wherein the next N two characters are synthesized at a position on the display surface corresponding to the locus from the exit point to the end point.
該プログラムは、
前記補正処理で補正した前記軌跡情報で示される前記軌跡を前記ディスプレイに表示させる第2表示処理と、
前記第2表示処理で表示させた前記軌跡を確認したことに対応する確認操作を、前記ユーザインタフェースを通じて受け付ける第2受付処理と、
前記第2受付処理で前記確認操作を受け付けたことに応じて、前記第1合成処理とを前記情報処理端末に実行させる請求項1から8のいずれかに記載のプログラム。
The program
A second display process for displaying the locus indicated by the locus information corrected by the correction process on the display,
A second reception process that accepts a confirmation operation corresponding to the confirmation of the locus displayed in the second display process through the user interface, and
The program according to any one of claims 1 to 8, which causes the information processing terminal to execute the first synthesis process in response to receiving the confirmation operation in the second reception process.
該プログラムは、
前記第1判断処理で前記禁止領域に重なる前記軌跡を示していると判断したことに応じて、前記禁止領域が前記表示面に交差する方向の勾配を有するか否かを判断する第3判断処理を前記情報処理端末に実行させ、
前記第3判断処理で前記勾配を有しないと判断したことに応じて、前記補正処理及び前記第1合成処理を前記情報処理端末に実行させ、
前記第3判断処理で前記勾配を有すると判断したことに応じて、前記取得処理で取得した前記軌跡情報で示される前記軌跡に沿った前記表示面上の複数の位置それぞれにおいて、前記第1受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って前記背景画像に合成する第2合成処理を前記情報処理端末に実行させ、
前記第2合成処理において、前記禁止領域に重なる位置に合成する前記文字を、前記勾配に沿って前記禁止領域に投影した形状に変形して、前記背景画像に合成する請求項1から9のいずれかに記載のプログラム。
The program
A third determination process for determining whether or not the prohibited area has a gradient in a direction intersecting the display surface in response to the determination in the first determination process that the locus overlaps the prohibited area. To the information processing terminal
In response to the determination that the third determination process does not have the gradient, the information processing terminal is made to execute the correction process and the first synthesis process.
In response to the determination of having the gradient in the third determination process, the first reception is performed at each of a plurality of positions on the display surface along the trajectory indicated by the trajectory information acquired in the acquisition process. The information processing terminal is made to execute a second synthesis process of synthesizing each of the plurality of characters included in the character string input in the process into the background image according to the order in the character string.
Any of claims 1 to 9 in which the character to be combined at a position overlapping the prohibited area in the second composition process is transformed into a shape projected onto the prohibited area along the gradient and combined with the background image. The program described in Crab.
該プログラムは、
前記情報処理端末が備えるメモリに記憶された複数の背景画像データのうちの1つを指定する指定操作を、前記ユーザインタフェースを通じて受け付ける第3受付処理を前記情報処理端末に実行させ、
前記第1表示処理において、前記第3受付処理で指定を受け付けた背景画像データで示される前記背景画像を前記ディスプレイに表示させ、
前記第1判断処理において、前記第3受付処理で指定を受け付けた前記背景画像データに対応付けて設定された前記禁止領域に前記軌跡が重なるか否かを判断する請求項1から10のいずれかに記載のプログラム。
The program
The information processing terminal is made to execute a third reception process for accepting a designation operation for designating one of a plurality of background image data stored in the memory included in the information processing terminal through the user interface.
In the first display process, the background image indicated by the background image data designated in the third reception process is displayed on the display.
Any of claims 1 to 10 for determining whether or not the locus overlaps the prohibited area set in association with the background image data designated in the third reception process in the first determination process. The program described in.
該プログラムは、
前記補正処理で補正した前記軌跡情報で示される前記軌跡上の対象点を抽出する抽出処理を、前記第1受付処理で入力された文字数Nに相当する数の前記対象点を抽出するまで前記情報処理端末に繰り返し実行させ、
1回目の前記抽出処理において、前記軌跡の始点及び終点を前記対象点として抽出し、
2回目以降の前記抽出処理において、既に抽出した前記対象点を結ぶ仮想線から最も遠い前記軌跡上の点を前記対象点として抽出し、
前記第1合成処理において、前記入力媒体の移動方向に沿って配列したN個の前記対象点に対応する前記表示面上の位置において、前記第1受付処理で入力されたN個の文字それぞれを、前記文字列内における順番に従って前記背景画像に合成する請求項1から11のいずれかに記載のプログラム。
The program
The information is extracted until the number of target points corresponding to the number of characters N input in the first reception process is extracted by the extraction process for extracting the target points on the locus indicated by the locus information corrected by the correction process. Let the processing terminal execute it repeatedly
In the first extraction process, the start point and the end point of the locus are extracted as the target points.
In the second and subsequent extraction processes, the point on the locus farthest from the virtual line connecting the already extracted target points is extracted as the target point.
In the first synthesis process, each of the N characters input in the first reception process is displayed at a position on the display surface corresponding to the N target points arranged along the moving direction of the input medium. , The program according to any one of claims 1 to 11, which is combined with the background image according to the order in the character string.
表示面を有するディスプレイと、前記表示面に対応付けられたタッチ面を有するユーザインタフェースとを備える情報処理端末によって実行可能なプログラムであって、前記ユーザインタフェースは、前記タッチ面に入力媒体がタッチされた場合に、前記入力媒体がタッチされた前記タッチ面上の位置を示す位置情報を出力するインタフェースであり、
該プログラムは、
輪郭線を含む背景画像を前記ディスプレイに表示させる表示処理と、
文字列を入力する入力操作を前記ユーザインタフェースを通じて受け付ける受付処理と、
前記背景画像の前記輪郭線に沿って、前記受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って合成する合成処理とを前記情報処理端末に実行させ、
前記合成処理において、前記受付処理で入力された前記複数の文字それぞれを、当該文字が配置される位置の前記輪郭線の形状に合わせてエンベロープ変形して、前記背景画像に合成するプログラム。
A program that can be executed by an information processing terminal including a display having a display surface and a user interface having a touch surface associated with the display surface. In the user interface, an input medium is touched on the touch surface. In this case, it is an interface that outputs position information indicating the position on the touch surface to which the input medium is touched.
The program
Display processing to display a background image including contour lines on the display,
Reception processing that accepts input operations for inputting character strings through the user interface,
The information processing terminal is made to execute a synthesis process of synthesizing each of a plurality of characters included in the character string input in the reception process along the contour line of the background image in the order in the character string. ,
A program in which, in the compositing process, each of the plurality of characters input in the reception process is envelope-deformed according to the shape of the contour line at a position where the characters are arranged, and synthesized with the background image.
表示面を有するディスプレイと、
前記表示面に対応付けられたタッチ面を有するユーザインタフェースと、
コントローラとを備える情報処理端末であって、
前記ユーザインタフェースは、前記タッチ面に入力媒体がタッチされた場合に、前記入力媒体がタッチされた前記タッチ面上の位置を示す位置情報を出力するインタフェースであり、
前記コントローラは、
予め定められた禁止領域を含む背景画像を前記ディスプレイに表示させる第1表示処理と、
文字列を入力する入力操作を前記ユーザインタフェースを通じて受け付ける第1受付処理と、
前記タッチ面上を移動する前記入力媒体の軌跡を示す軌跡情報を取得する取得処理とを実行し、前記軌跡情報は、前記ユーザインタフェースから出力される前記位置情報に基づいて生成される情報であり、
前記コントローラは、
前記取得処理で取得した前記軌跡情報が前記表示面上の前記禁止領域に重なる前記軌跡を示しているか否かを判断する第1判断処理と、
前記第1判断処理で前記禁止領域に重なる前記軌跡を示していると判断したことに応じて、前記軌跡が前記禁止領域を避けるように、前記取得処理で取得した前記軌跡情報を補正する補正処理と、
前記補正処理で補正した前記軌跡情報で示される前記軌跡に沿った前記表示面上の複数の位置それぞれにおいて、前記第1受付処理で入力された前記文字列に含まれる複数の文字それぞれを、前記文字列内における順番に従って前記背景画像に合成する第1合成処理とを実行する情報処理端末。
A display with a display surface and
A user interface having a touch surface associated with the display surface and
An information processing terminal equipped with a controller
The user interface is an interface that outputs position information indicating a position on the touch surface to which the input medium is touched when the input medium is touched on the touch surface.
The controller
The first display process of displaying a background image including a predetermined prohibited area on the display, and
The first reception process that accepts an input operation for inputting a character string through the user interface, and
The acquisition process of acquiring the locus information indicating the locus of the input medium moving on the touch surface is executed, and the locus information is information generated based on the position information output from the user interface. ,
The controller
The first determination process for determining whether or not the locus information acquired in the acquisition process indicates the locus overlapping the prohibited area on the display surface.
A correction process for correcting the locus information acquired in the acquisition process so that the locus avoids the prohibited area in response to the determination in the first determination process that the locus overlaps the prohibited area. When,
At each of the plurality of positions on the display surface along the locus indicated by the locus information corrected by the correction process, each of the plurality of characters included in the character string input in the first reception process is described. An information processing terminal that executes a first compositing process for compositing with the background image according to the order in the character string.
JP2017121126A 2017-06-21 2017-06-21 Program and information processing terminal Active JP6848713B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017121126A JP6848713B2 (en) 2017-06-21 2017-06-21 Program and information processing terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017121126A JP6848713B2 (en) 2017-06-21 2017-06-21 Program and information processing terminal

Publications (2)

Publication Number Publication Date
JP2019008388A JP2019008388A (en) 2019-01-17
JP6848713B2 true JP6848713B2 (en) 2021-03-24

Family

ID=65029544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017121126A Active JP6848713B2 (en) 2017-06-21 2017-06-21 Program and information processing terminal

Country Status (1)

Country Link
JP (1) JP6848713B2 (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3164617B2 (en) * 1991-11-07 2001-05-08 株式会社日立製作所 Apparatus and method for deforming character / graphics
JP3054545B2 (en) * 1994-07-15 2000-06-19 三洋電機株式会社 Character / graphic editing method and apparatus
US5831632A (en) * 1995-12-28 1998-11-03 Adobe Systems Incorporated Automatic graphical pattern placement
US20040119762A1 (en) * 2002-12-24 2004-06-24 Fuji Xerox Co., Ltd. Systems and methods for freeform pasting
JP4579106B2 (en) * 2005-09-05 2010-11-10 株式会社メイクソフトウェア PHOTOGRAPHING APPARATUS, PHOTOGRAPHING APPARATUS CONTROL METHOD, AND PHOTOGRAPHING APPARATUS CONTROL PROGRAM
JP4779902B2 (en) * 2006-09-15 2011-09-28 ブラザー工業株式会社 Image editing apparatus and image editing program
JP5625615B2 (en) * 2010-08-20 2014-11-19 株式会社リコー Electronic information board device
JP2012088969A (en) * 2010-10-20 2012-05-10 Sharp Corp Input display apparatus, input display method, computer program, and recording medium
JP5601547B2 (en) * 2012-12-28 2014-10-08 フリュー株式会社 Image editing apparatus, image editing method, and program
KR102284238B1 (en) * 2015-05-28 2021-07-30 미쓰비시덴키 가부시키가이샤 Input display device, input display method, and program

Also Published As

Publication number Publication date
JP2019008388A (en) 2019-01-17

Similar Documents

Publication Publication Date Title
JP5269851B2 (en) Image editing apparatus, image editing method and program thereof
US20130286435A1 (en) Image processing apparatus, method for controlling the same, and recording medium
CN109739372B (en) Graph drawing method for handwriting input equipment and handwriting reading equipment
JP5437340B2 (en) Viewer device, server device, display control method, electronic comic editing method and program
CN107133615B (en) Information processing apparatus, information processing method, and computer program
JP2022034030A (en) Image processing apparatus, method, and program
JP5340048B2 (en) Image processing apparatus, image processing method, and program
JP5366699B2 (en) Image processing apparatus, image processing method, and image processing program
JP6053291B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP2003308310A (en) Display method, display, display program, and recording medium recorded with display program
JP2017215661A (en) Image processing device, control method of the same and computer program
US20110320933A1 (en) Editing apparatus, layout editing method performed by editing apparatus, and storage medium storing program
JP2011215824A (en) Apparatus, method and program for displaying image
JP2018049319A (en) Document browsing device and program
JP6848713B2 (en) Program and information processing terminal
JP3388451B2 (en) Handwriting input device
JP6939304B2 (en) Control program
JP6880676B2 (en) Program and image forming equipment
JP7329957B2 (en) Virtual object display device and program
JP6330488B2 (en) Information processing apparatus, recording system, and program
JP6456203B2 (en) Information processing apparatus, information processing program, and information processing method
JP2013134640A (en) Fold position controller, method for controlling the same, and program therefor
JP5528410B2 (en) Viewer device, server device, display control method, electronic comic editing method and program
JP6805757B2 (en) Program and image forming equipment
JP6617448B2 (en) Mobile terminal and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6848713

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150