画像処理方法、プログラムおよび画像処理装置
【課題】複数の文字列を複数行に渡り配置した背景画像の行に含まれる文字列の見栄えと可読性を向上させる。
【解決手段】背景画像を生成する画像処理方法は、文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも配置領域内に設定するステップS100と、配置開始ラインの開始位置から所定方向に向かって複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置するステップS160〜S220と、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成するステップS230と、を含む。
【解決手段】背景画像を生成する画像処理方法は、文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも配置領域内に設定するステップS100と、配置開始ラインの開始位置から所定方向に向かって複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置するステップS160〜S220と、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成するステップS230と、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法、プログラムおよび画像処理装置に関する。
【背景技術】
【0002】
従来、画像処理方法としては、主画像の上に重ね合わせる付加画像(背景画像やウォーターマーク、スタンプマークともいう)を複数種用い、各々の付加画像をそれぞれ1つの行に配置させることにより複数行に亘って付加画像を配置した画像を生成し、この画像を回転させ主画像のサイズに切り取ることによりすかし画像を生成するものが提案されている(例えば、特許文献1参照)。また、主画像の上に重ね合わせる付加画像を、入力された回転角度に回転させた状態のタイル形状とし、設定範囲内に収まるよう付加画像の位置・大きさを決定しこの決定された位置にタイル形状の付加画像を配置させることにより付加画像を回転してもはみ出ないようにすることができるものが提案されている(例えば、特許文献2参照)。
【特許文献1】特開2005−210538号公報(図32)
【特許文献2】特開2001−103271号公報(図7)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、この特許文献1に記載された画像処理方法では、画像の端部ではみ出してしまう文字列については考慮されておらず、画像の端部で必ず文字が切れてしまうので、背景画像を読みにくいことがあった。また、特許文献2に記載された画像処理方法では、配置されている文字列の最後の文字と、隣接して配置されている文字列の最初の文字の開始位置がずれていることが多く、配置された複数の文字列を一連のものとして読み取りにくいことがあった。また、長さの異なる複数種の文字列を配置させる点は考慮されておらず、長さの異なる複数の文字列を配置させようとしたときには、文字数が少ない文字列は、小さなタイルサイズとなり、文字数が多い文字列は、大きなタイルサイズとなるなど各文字列のタイル形状のサイズが異なることとなり、そのまま配置するものとすればより文字数が多い文字列の専有面積が大きくなってしまうし、同程度の面積とするものとすればより長い文字列のタイルはより小さい文字となってしまうなど、背景画像が読みにくくなることがあった。
【0004】
本発明は、このような課題に鑑みなされたものであり、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性をより高めることができる画像処理方法、そのプログラム及び画像処理装置を提供することを主目的とする。
【課題を解決するための手段】
【0005】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0006】
[適用例1]
本適用例にかかる画像処理方法は、複数の文字列を配置した背景画像を生成する画像処理方法であって、(a)前記文字列が配置される配置領域を設定するステップと、(b)前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するステップと、(c)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置するステップと、(d)前記ステップ(c)で前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成するステップと、を含むことを特徴とする。
【0007】
この画像処理方法では、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【0008】
[適用例2]
上記適用例にかかる画像処理方法において、前記ステップ(c)は、(e)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した前記配置領域外となるときには、前記文字列と他の文字列とを入れ替え、前記行を前記開始位置に配置するステップと、(f)前記ステップ(e)を複数行に亘って順次繰り返すステップと、(g)前記ステップ(f)により前記開始位置に順次配置された前記複数行のうち、少なくとも前記配置領域をはみ出した行に含まれる複数の文字列に対して、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行するステップと、を含むことが好ましい。
【0009】
このような方法によれば、配置開始ラインの開始位置に配置された行毎に文字列が入れ替えられ、複数行に渡り配置された複数行のうち、少なくとも配置領域をはみ出した行に含まれる複数の文字列に対して、文字列間の距離の変更、および文字列の文字の大きさの変更の少なくとも1つが実行されるため、行毎に文字列のはみ出しが改善され、背景画像の見栄えの向上を図ることができる。
【0010】
[適用例3]
上記適用例にかかる画像処理方法において、前記ステップ(e)は、前記ステップ(f)により複数行に亘って前記文字列を配置するときに、前記複数行での前記文字列の使用頻度および前記文字列の長さの少なくとも1つに基づき、入れ替える2つの前記文字列を決めることが好ましい。
【0011】
このような方法によれば、文字列の使用頻度と文字列の長さの少なくとも1つに基づいて、背景画像の文字列を均等かつバランス良く配置できる。
【0012】
[適用例4]
上記適用例にかかる画像処理方法において、前記ステップ(e)は、前記開始位置に配置した前記行に含まれる前記文字列が前記配置領域をはみ出す場合、はみ出した量に関する情報を記憶し、前記ステップ(g)は、記憶した前記情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行しても良い。
【0013】
[適用例5]
上記適用例にかかる画像処理方法において、前記ステップ(g)は、決められた情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の優先順位を決めても良い。
【0014】
[適用例6]
上記適用例にかかる画像処理方法において、前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を下回るときは、前記はみ出した文字列の次の文字列を次行の先頭に配置すると共に、前記文字列を含む前記行が前記配置範囲内に収まるよう縮小しても良い。
【0015】
[適用例7]
上記適用例にかかる画像処理方法において、前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を上回るときは、前記はみ出した文字列を次行の先頭に配置し、前記文字列を含む前記行が前記配置範囲内に収まるよう拡大し、前記配置範囲内に収まるように配置しても良い。
【0016】
[適用例8]
上記適用例にかかる画像処理方法において、前記文字列間の距離、および前記文字列の文字の大きさは、それぞれ変更可能な範囲が決められても良い。
【0017】
[適用例9]
上述した画像処理方法の少なくとも1つを、1又は複数のコンピュータに実現させるためのプログラムに適用することにより、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【0018】
[適用例10]
本適用例にかかる画像処理装置は、複数の文字列を配置した背景画像を生成する画像処理装置であって、前記文字列が配置される配置領域を設定する配置領域設定手段と、前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するライン設定手段と、前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置する文字列配置手段と、前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成する画像生成手段と、を備えることを特徴とする。
【0019】
この画像処理装置では、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【発明を実施するための最良の形態】
【0020】
以下、画像処理装置について図面を参照して説明する。
【0021】
(実施形態)
【0022】
図1は、本発明の一実施形態である画像処理装置としてのユーザパソコン(PC)20と印刷装置としてのプリンタ30の構成の概略を示す構成図である。ユーザPC20は、ユーザが使用する画像処理装置として構成された周知の汎用パソコンであり、各種制御を実行するCPU22や各種制御プログラムを記憶するフラッシュROM23、データを一時記憶するRAM24などを備えたコントローラ21と、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるHDD25と、USBポート26aに接続された外部機器との間でデータの入出力を行うUSBコントローラ26と、を備えている。
HDD25には、プリンタ30へ印刷ジョブを送信して印刷処理を行うときに用いられるプリンタドライバなどが記憶されている。また、ユーザPC20は、ユーザが各種指令を入力するキーボード及びマウス等の入力装置27や、各種情報を画面表示するディスプレイ28等を備え、ディスプレイ28に表示されたカーソル等をユーザが入力装置27を介して入力操作すると、その入力操作に応じた動作を実行する機能を有している。コントローラ21やHDD25、USBコントローラ26、入力装置27及びディスプレイ28は、バス29によって電気的に接続され、各種制御信号やデータのやり取りができるよう構成されている。このユーザPC20は、インストールされたプログラムによりプリンタ30に対して印刷処理を指令したり、プリンタ30の情報を表示したりする。
【0023】
プリンタ30は、各種処理プログラムを記憶したROM33と一時的にデータを記憶するRAM34とを備え、CPU32を中心とするマイクロプロセッサとして装置全体の制御を司るコントローラ31と、記録紙Sへ画像を印刷処理する印刷機構35と、USBポート36aに接続された外部機器との間で情報の入出力が可能なUSBコントローラ36と、ユーザへ情報を表示可能な表示部38aやユーザの指示を入力可能である操作部38bなどを有する操作パネル38と、を備えている。コントローラ31や印刷機構35、USBコントローラ36、操作パネル38は、図示しないバスによって電気的に接続されている。印刷機構35は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Sに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしても良いし、ヒータの熱による気泡の発生によるものとしても良い。
【0024】
次に、こうして構成された本実施形態のユーザPC20の動作について説明する。本実施形態では、特に、主画像に重ね合わせて印刷する「透かし画像」である、複数種の文字列を複数行に亘って配置した背景画像(スタンプマーク)を生成する動作について説明する。図2は、スタンプマーク設定画面50の説明図であり、図3は、テキスト詳細設定画面70の説明図であり、図4は、繰返詳細設定画面80の説明図である。まず、ユーザは、アプリケーションプログラムの実行中などに、画像の印刷を選択する。すると、ユーザPC20のCPU22は、HDD25からプリンタドライバを読み出し、図示しない印刷設定画面をディスプレイ28に表示させる。ユーザは、この印刷設定画面上に配置された図示しないスタンプマーク設定ボタンをクリックする。すると、CPU22は、図2に示すスタンプマーク設定画面50をHDD25から読み出し、ディスプレイ28に表示させる。
【0025】
このスタンプマーク設定画面50には、左上側に配置され主画像と重ね合わせる背景画像のプレビュー画像を表示する背景画像表示部51と、右上段に配置され予め登録した背景画像をプルダウンによって選択可能なマーク名表示部52と、右上段に配置され現在入力されている背景画像のテキスト(文字列)を表示するテキスト表示部53と、テキスト表示部53に配置されテキストの詳細設定を行うときにクリックされるテキスト詳細設定ボタン54と、画像がテキストであるかビットマップであるかを指定するタイプ表示部55と、中段に配置され背景画像の文字列の位置・角度などを入力する位置入力部56と、文字列の繰り返しの詳細を設定するときにクリックされる繰返詳細設定ボタン56aと、右側下段に配置され文字列のフォントを入力するフォント入力部57と、右側下段に配置され文字列の角度やサイズを入力するスタイル入力部58と、左側中段に配置され背景画像の色合いや透過度などの情報を入力する色情報入力部59と、左側最下段に配置され前面か背面かの背景画像の配置位置を入力する配置入力部60とが配置されている。また、このスタンプマーク設定画面50の右側最下段には、入力した内容を確定する際にクリックする決定ボタン61と、入力した内容をキャンセルする際にクリックするキャンセルボタン62と、ヘルプ画面を読み出す際にクリックするヘルプボタン63と、初期値へ戻す際にクリックする初期設定読出ボタン64とが配置されている。これらのスタンプマーク設定画面50の入力部分に適宜ユーザが入力すると、CPU22は、入力された内容をHDD25の所定領域に記憶する。
【0026】
スタンプマーク設定画面50に配置されたテキスト詳細設定ボタン54がユーザによりクリックされると、CPU22は、HDD25の所定領域に記憶されたテキスト詳細設定画面70(図3参照)を読み出し、ディスプレイ28に表示させる。このテキスト詳細設定画面70には、予め登録した背景画像をプルダウンによって選択可能なマーク名表示部72と、現在入力されている背景画像のテキスト(文字列)を表示するテキスト表示部73と、背景画像に現在設定されている文字列を表示する設定テキスト表示部74と、更に背景画像に追加可能なテキストを表示する追加可能テキスト表示部76と、を備えている。また、このテキスト詳細設定画面70の最下段にも、決定ボタン61、キャンセルボタン62及びヘルプボタン63が配置されている。ユーザが設定テキスト表示部74や追加可能テキスト表示部76に表示されているテキストを選択して追加ボタンや削除ボタンをクリックすると、CPU22は、それに応じてテキストの追加や削除などを行うと共に、テキスト表示部73の内容に操作結果を反映させる。
【0027】
スタンプマーク設定画面50(図2参照)に配置された繰返詳細設定ボタン56aがユーザによりクリックされると、CPU22は、HDD25の所定領域に記憶された繰返詳細設定画面80(図4参照)を読み出し、ディスプレイ28に表示させる。この繰返詳細設定画面80には、背景画像を重ね合わせる主画像のサイズに基づいて定められた配置領域に、文字列の配置をどのような基準で行うかを入力する繰返パターン入力部81と、文字列の自動的な配置を選択する自動配置選択部82と、自動的に配置する場合の調整方法を選択する調整方法選択部83と、文字列の繰り返しを文字の欠け方により設定する欠け割合入力部84と、先頭文字列の切り替えを入力可能な先頭文字切り替え入力部85と、が配置されている。
繰返パターン入力部81には、配置領域に文字列の配置を行う「矩形で繰り返す」、又は入力された値を文字列の配置幅として文字列の配置を行う「幅で繰り返す」を入力することが可能となっている。この配置領域は、主画像の印刷用紙サイズよりも一回り程度小さな領域に設定されている。また、配置幅は、背景画像が重ね合わされる主画像のサイズやこれの印刷用紙サイズに関係なく設定可能であり、入力ボックスに数値を入力することにより設定することができるようになっている。
【0028】
自動配置選択部82には、「自動的に配置する」をチェックボックスにより選択できるようになっている。このチェックボックスがチェックされた場合、繰返パターン入力部81、欠け割合入力部84および先頭文字切り替え入力部85で入力された情報に基づき、指定された文字列が配置領域や配置幅(以降、これらをまとめて配置領域と呼ぶ。)を超える場合に調整方法選択部83で選択された方法に従い、配置領域や配置幅を超えないように文字列が再配置される。本実施形態では、CPU22は、最初に、調整方法選択部83で選択された方法に従い仮配置を行い、仮配置の結果をRAM24やHDD25等に一時的に記憶し、全ての仮配置が終了した後、調整方法選択部83で選択された方法に従い、再配置を行うことにより、背景画像を決定する。
調整方法選択部83には、「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」をチェックボックスにより選択できるようになっている。これらのチェックボックスは、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされた場合に有効になる。
「文字列の順序を自動的に決定する」のチェックボックスがチェックされた場合、CPU22は、仮配置の際、使用する文字列の偏りや、無駄なスペースを生じさせないように、各行で使用される頻度を所定の基準で計数した使用頻度を考慮して配置領域に収まる文字列を検索する。例えば、3種類の文字列を使用する場合、これらの3つの文字列を使用した回数をそれぞれ計数し、回数の少ない文字列を優先して使用する。尚、CPU22は、各ラインの仮配置が終了する度に、配置領域からのはみ出し量をラインごとに記憶し、再配置の際に、記憶したはみ出し量を使用して、次に説明する文字列間のスペースと文字サイズを調整する。
【0029】
「文字列間スペースを自動的に調整する」のチェックボックスがチェックされた場合、CPU22は、再配置の際、記憶した各ラインのはみ出し量に基づき、そのラインが配置領域に収まるような文字間スペースを算出し、算出した文字間スペースで再配置を行う。この場合、ライン内に空白(スペース)が生じた場合、配置領域内で均等割り付けを行っても良い。また、算出した文字間スペースにおいて、文字が重なる場合は、文字が重ならないような文字間スペースの最小値を越えないように調整しても良い。この最小値は、予めフォント等に応じて定められて内部に保持しても良く、図示を略した設定画面を介してユーザが設定しても良い。
「文字サイズを自動的に調整する」のチェックボックスがチェックされた場合、CPU22は、再配置の際、記憶したはみ出し量の最大値の文字列が、配置領域に収まるように、文字のサイズを算出し、算出した文字のサイズで再配置する。例えば、はみ出した領域が所定のはみ出し率を下回るときは、はみ出した文字列の次の文字列を次行の先頭に配置すると共に、文字列を含む行が配置範囲内に収まるよう縮小しても良い。他方で、はみ出し量の最大値が負値、即ち、何れのラインもはみ出さない場合、文字のサイズを拡大しても良い。例えば、はみ出した領域が所定のはみ出し率を上回るときは、はみ出した文字列を次行の先頭に配置し、文字列を含む行が配置範囲内に収まるよう拡大し、配置範囲内に収まるように配置しても良い。また、文字のサイズの最大値および最小値は、予め定められて内部に保持しても良く、図示を略した設定画面を介してユーザが設定しても良い。
「文字列間スペースを自動的に調整する」、および「文字サイズを自動的に調整する」のチェックボックスが共にチェックされた場合、CPU22は、それぞれの再配置を連続して実行するが、何れを優先するかの優先度は、予め定められていても良く、図示を略した設定画面を介してユーザが設定しても良い。
【0030】
欠け割合入力部84には、「欠けたら同じ文字列を繰り返す」を設定するチェックボックスや、欠ける割合を入力する入力部が設けられている。また、先頭文字切り替え入力部85には、「先頭文字列を切り替える」を設定するチェックボックスや、切り替える文字列を入力可能な入力ボックスが設けられている。なお、欠け割合入力部84及び先頭文字切り替え入力部85のチェックボックスは、そのいずれか一方にのみチェックすることができるように設定されている。ユーザがこれらのチェックボックスや入力ボックスに入力すると、CPU22は、それに応じて設定内容をHDD25の所定領域に記憶させる処理を行う。
【0031】
次に、背景画像の生成処理について説明する。図5は、背景画像生成ルーチンの一例を表すフローチャートである。このルーチンは、HDD25に記憶され、スタンプマーク設定画面50を表示したあとCPU22によって実行される。
【0032】
このルーチンを実行すると、まず、CPU22は、文字列が配置される基準線である配置開始ラインの設定および配置領域の設定を実行する(ステップS100)。配置領域の設定は、繰返パターン入力部81に「矩形で繰り返す」が入力されているときには主画像の印刷用紙のサイズの内側に所定のマージンを設けた領域に設定されるよう定められている。ここで、図11は、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、矩形繰り返しで複数種の文字列を配列する際の一例の説明図である。このときは、背景画像は、配置領域と略同じサイズとなるように設定されている。一方、図12は、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、繰返パターン入力部81に「幅で繰り返す」が入力されているときには、配置領域は、主画像(印刷用紙)の左端部から繰返パターン入力部81に入力されている幅の間の領域に設定されるよう定められている。
また、配置開始ラインは、スタイル入力部58に入力されている文字列の角度と、繰返パターン入力部81に入力されている繰り返しパターンとに基づいて、少なくとも配置領域内に設定される。例えば、繰返パターン入力部81で「矩形で繰り返す」が設定され、文字列が右上がりの角度に設定されているときには、配置開始ラインは、配置領域の下端及び左端の辺となるよう定められており、文字列が右下がりの角度に設定されているときには、配置開始ラインは、配置領域の上端及び左端の辺となるよう定められている。また、繰返パターン入力部81で「幅で繰り返す」が設定されているときには、配置開始ラインは、文字列の角度にかかわらず、配置領域の左端の辺の延長ラインとなるよう定められている。なお、スタンプマーク設定画面50やテキスト詳細設定画面70、繰返詳細設定画面80の各入力値は、前回までに入力した値がHDD25に記憶されており、上述したように各画面で新たな値がユーザにより入力されると、入力された値に更新される。
【0033】
次に、CPU22は、背景画像の文字情報を読み出す(ステップS110)。ここでは、設定テキスト表示部74に設定されている文字列と、フォント入力部57に入力されているフォント、スタイル入力部58に入力されている角度及びサイズなどを読み出すものとした。次に、CPU22は、スタイル入力部58に入力されている角度に基づいて文字列の配置角度Aを設定する(ステップS120)。この処理は、例えば、文字列を適正に配列できない角度(例えば90°)や逆さまに配置されてしまう角度(例えば180°)が入力されているときに、適正に文字列を配置可能な角度に再設定する処理である。ここでは、例えば、入力されている角度が45°〜180°であるときは、配置角度Aに−135°〜0°を設定し、入力されている角度が−180°〜−135°であるときには配置角度Aに0°〜45°を設定するよう定められている。なお、この配置角度Aの設定は、上記角度範囲以外の角度に再設定してもよいし、入力可能な範囲を制限しこの処理を省略しても構わない。また、角度が45°〜180°や−180°〜−135°であるときには、角度を逆さまとなるように変換して最終的に画像を逆さまな状態とすることにより適正に文字列を配置するものとしてもよい。
【0034】
続いて、CPU22は、文字列の配置開始位置を設定する(ステップS130)。ここでは、例えば主画像(印刷用紙)の左端側で、上端から所定距離だけ下側となる配置開始ライン上の位置(X0,Y0)を配置開始位置に設定する(図11参照)。続いて、CPU22は、文字列nのサイズSnのX成分(SXn)とY成分(SYn)とを、配置角度Aを用いて次式(1),(2)により計算する(ステップS140)。ここでは、テキスト表示部53に設定されている複数種の文字列すべてについてX成分とY成分を計算するものとした。ここで、「n」は、複数種の文字列に対応する番号を表すものとした。続いて、CPU22は、文字列の間のスペースのサイズPのX成分(PX)とY成分(PY)とを、配置角度Aを用いて次式(3),(4)により計算する(ステップS150)。このように、文字列を傾けて配置する際に、文字列及び文字列間スペースのX,Y成分を求めておけば、文字列やスペースを配置した際に始点座標に各成分値を加算すればよいから、文字列の位置管理が容易となる。ここでは、文字列の長さを用いて文字列の位置管理を行うものとした。なお、式(1)〜(4)について、開始位置と角度の変換に基づいて、文字列が逆さまにならずに適正に配置されるように、適宜符号の変換などを行うものとした。
SXn=Sn×cos(A) …式(1)
SYn=Sn×sin(A) …式(2)
PX=P×cos(A) …式(3)
PY=P×sin(A) …式(4)
【0035】
続いて、CPU22は、配置する文字列nを設定し、配置位置に仮配置する(ステップS160)。尚、ステップS160はサブルーチンであり、図6は、このステップS160のサブルーチンの処理を説明するフローチャートである。ここで、図6を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、文字列の順序を自動的に設定するか、否か判定する(ステップS300)。本実施形態では、CPU22は、調整方法選択部83の「文字列の順序を自動的に決定する」チェックボックスがチェックされているか、否か判定する。
ここで、文字列の順序を自動的に設定するべく設定されている場合(ステップS300でYes)、CPU22は、N回の繰り返しが終了したか、否かを判定する(ステップS305)。ここで、N回の繰り返しが終了した場合(ステップS305でYes)、CPU22はサブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進み、N回の繰り返しが終了していない場合(ステップS305でNo)、CPU22は、使用頻度の低い文字列を順次1つ選び(ステップS310)、選んだ文字列を現文字列として(ステップS315)、配置領域でのはみ出し量を計算する(ステップS320)。
【0036】
次に、CPU22は、配置領域からのはみ出しを判定し(ステップS325)、配置領域からはみ出していると判定された場合(ステップS325でYes)、ステップS305に戻る。他方で、配置領域からはみ出していないと判定された場合(ステップS325でNo)、CPU22は、文字列nを配置角度Aで配置位置に仮配置すると共に、終点位置を計算し(ステップS345)、サブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進む。尚、配置領域からのはみ出しを判定する工程(ステップS325)において、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスまたは「文字サイズを自動的に調整する」のチェックボックスの何れかがチェックされている場合、予め設定された許容値を考慮して判定される。
他方で、文字列の順序を自動的に設定するべく設定されていない場合(ステップS300でNo)、CPU22は、選んだ文字列を現文字列とし(ステップS330)、nを1つ増分した(ステップS335)後、配置領域からのはみ出しを判定し(ステップS340)、配置領域からはみ出していないと判定された場合(ステップS340でNo)、ステップS345に進む。また、配置領域からはみ出していると判定された場合(ステップS340でYes)、サブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進む。
【0037】
図5に戻り、CPU22は、1行分が終了したか、否かを判定する(ステップS170)。ここで、1行分が終了していないと判定された場合(ステップS170でNo)、ステップS160に戻って、ステップS160が再度実行され1行分の仮配置が終了するまで繰り返される。他方で、1行分の仮配置が終了したと判定された場合(ステップS170でYes)、CPU22は、1行分のはみ出し情報を記憶する(ステップS175)。尚、ステップS175はサブルーチンであり、図7は、このステップS175のサブルーチンの処理を説明するフローチャートである。ここで、図7を参照して、この処理について説明する。
【0038】
このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS350)。ここで、文字サイズを自動的に設定すると判定された場合(ステップS350でYes)、ステップS360に進む。他方で、文字サイズを自動的に設定しないと判定された場合(ステップS350でNo)、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に調整するか、否かを判定する(ステップS355)。ここで、文字列間スペースを自動的に調整しないと判定された場合(ステップS355でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS180)に進む。他方で、文字列間スペースを自動的に調整すると判定された場合(ステップS355でYes)、ステップS360に進む。
ステップS360は、文字列のはみ出し情報を記憶する工程であり、CPU22は、はみ出し量の最大値やスペースの最小値を含む各行のはみ出し情報、即ち、文字列がどのくらいはみ出したか、あるいは、どのくらいスペースができたかという情報を記憶する。ステップS360の処理が終了すると、サブルーチンを終了して、図5に戻り、次の工程(ステップS180)に進む。
【0039】
図5に戻り、CPU22は、次の行があるか、否かを判定する(ステップS180)。ここで、次の行があると判定された場合(ステップS180でYes)、CPU22は、次の配置位置をセットし(ステップS190)、配置する文字列nを設定し、配置位置に仮配置する工程(ステップS160)に戻り、全ての行が仮配置されるまで繰り返す。他方で、次の行がないと判定された場合(ステップS180でNo)、CPU22は、全ての行の仮配置が終了したと判断し、はみ出し情報から、文字サイズを計算する工程(ステップS200)に進む。
尚、ステップS200はサブルーチンであり、図8は、このステップS200のサブルーチンの処理を説明するフローチャートである。ここで、図8を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS365)。ここで、文字サイズを自動的に設定すると判定された場合(ステップS365でYes)、CPU22は、はみ出し情報として記憶された情報の中から、はみ出し最大値を抽出し、抽出したはみ出し最大値に基づいて、文字のサイズの最大値および最小値を越えない範囲で最適な文字サイズを算出する(ステップS370)。続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS210)に進む。また、文字サイズを自動的に設定しないと判定された場合(ステップS365でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS210)に進む。
【0040】
図5に戻り、CPU22は、はみ出し情報から文字列間スペースを計算する(ステップS210)。ステップS210はサブルーチンであり、図9は、このステップS210のサブルーチンの処理を説明するフローチャートである。ここで、図9を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に設定するか、否かを判定する(ステップS375)。ここで、文字列間スペースを自動的に調整しないと判定された場合(ステップS375でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。
他方で、文字列間スペースを自動的に調整すると判定された場合(ステップS375でYes)、CPU22は、全ての行の繰り返しが終了したか、否かを判定する(ステップS380)。ここで、全ての行の繰り返しが終了していないと判定された場合(ステップS380でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。他方で、全ての行の繰り返しが終了したと判定された場合(ステップS380でYes)、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS385)。ここで、文字サイズを自動的に設定しないと判定された場合(ステップS385でNo)、各行のはみ出し情報を再度計算し(ステップS390)、ステップS395に進む。他方で、文字サイズを自動的に設定すると判定された場合(ステップS385でYes)、ステップS395に進む。
【0041】
ステップS395では、CPU22は、各行のはみ出し情報から、文字列間スペースを計算して記憶する。続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。
図5に戻り、CPU22は、すべての文字列を配置する(ステップS220)。ステップS220はサブルーチンであり、図10は、このステップS220のサブルーチンの処理を説明するフローチャートである。ここで、図10を参照して、この処理について説明する。
このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に設定するか、否かを判定する(ステップS400)。ここで、文字列間スペースを自動的に設定しないと判定された場合(ステップS400でNo)、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS405)。ここで、文字サイズを自動的に設定しないと判定された場合(ステップS405でNo)、ステップS425に進む。また、文字サイズを自動的に設定すると判定された場合(ステップS405でYes)、および、文字列間スペースを自動的に設定すると判定された場合(ステップS400でYes)、CPU22は、各文字列の配置位置を再計算し、仮配置を行う(ステップS410)。
【0042】
次に、CPU22は、各行の繰り返し終了を判定する(ステップS415)。ここで、各行の繰り返しが終了していないと判定された場合(ステップS415でNo)、各文字列の配置位置を再計算し、仮配置を行う工程(ステップS410)に戻る。また、各行の繰り返しが終了したと判定された場合(ステップS415でYes)、CPU22は、全行の繰り返しが終了したか、否かを判定する(ステップS420)。
ここで、全行の繰り返しが終了していないと判定された場合(ステップS420でNo)、各文字列の配置位置を再計算し、仮配置を行う工程(ステップS410)に戻る。また、全行の繰り返しが終了したと判定された場合(ステップS420でYes)、ステップS425に進む。
ステップS425では、CPU22は、仮配置された情報から正式に文字列を配置(再配置)し、続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS230)に進む。ステップS230では、CPU22は、文字列の配置が終了したものとみなし、文字列を配置した画像から切り出して、背景画像を生成する。続いて、CPU22は、終了したか否かをユーザの入力に基づいて判定する(ステップS240)。終了したと判定されていないときには、CPU22は、ステップS100以降の処理を繰り返し、終了したと判定されたときには、このルーチンを終了する。ここでは、例えばスタンプマーク設定画面50で決定ボタン61がクリックされその後印刷処理される場合や、スタンプマーク設定画面50がクローズされ処理が中止される場合などに終了判定するものとした。なお、生成した背景画像は、複製しサイズ変更して背景画像表示部51に表示しても良く、ユーザからの印刷指示を入力して主画像に重ね合わせてプリンタ30で印刷しても良い。尚、上述した各処理の少なくとも1つは、自動又はユーザによる設定を選択する手段により選択されても良い。
【0043】
次に、上述した処理により生成される配置画像について説明する。最初に、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、矩形繰り返しで複数種の文字列を配列する場合の例を、図11に従い説明する。最初に、テキスト表示部53の先頭の文字列である「2007/02/13」が配置開始位置に配置する文字列として設定され、この文字列が配置角度Aとなるように配置開始位置に配置される。次に、現文字列が配置領域をはみ出しているので、次に配置する文字列が配置領域外となると判定し、次行があるから、テキスト表示部53の次の文字列である「重要」が次行の先頭に配置する文字列に設定され、配置位置である次行の先頭にこの文字列が配置される。この文字列の次の文字列は配置領域外とならないから、次に配置する文字列として「秘密」が設定され、文字列間スペースを配置しこれに続けて行となるようにこの文字列が配置される。同様に、次の文字列として「持出厳禁」が配置されるが、その次の文字列「2007/02/13」は、配置領域外となるため、その次の行の先頭に配置される。これらの処理が複数行に亘り繰り返されることにより、図11に示す配置画像が生成される。
【0044】
次に、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、幅での繰り返しで複数種の文字列を配列する場合の例を、図12に従い説明する。最初に、配置領域の左端側の辺を上下に延長したラインが配置開始ラインに設定され、このラインから繰返パターン入力部81に入力されている幅値の間の領域に配置領域が設定される。次に、図11の場合と同様に、「2007/02/13」、「重要」、「持出厳禁」、「秘密」の文字列が、配置開始位置から配置角度Aの方向に行となるよう順番に配置される。そして、「持出厳禁」が配置されたあと、次に配置する文字列「秘密」は、配置領域外になると判定され、次行があるために、次の文字列である「秘密」が次行の先頭に配置する文字列として設定され、配置位置である次行の先頭にこの文字列が配置される。このような処理は、文字列により配置領域が埋まるまで複数行に亘り繰り返されることにより、図12に示す配置画像が生成される。なお、最終的には、図11および図12の図中破線で示した背景画像領域で切り出すことにより、背景画像を生成する。
【0045】
次に、図13は、自動配置選択部82の「自動的に配置する」チェックボックス、および調整方法選択部83の「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」チェックボックスの全てがチェックされている場合であって、矩形繰り返しパターンにより仮配置された配置領域の画像を示し、図14は、仮配置された配置領域の画像が再配置された場合の背景画像を示す。
図13では、文字列の順序が自動的に決定され、例えば、図11の1行目に示すように、配置領域を大きく超える文字列「2007/02/13」に替えて、使用頻度が低く配置領域に収まる文字列「重要」が配置領域に配置される。2行目では、1行目で除外された「2007/02/13」が配置され、続いて、配置領域を大きく超える文字列「持出厳禁」に替えて、使用頻度が低く、配置領域を大きく超えない文字列「秘密」が配置領域に配置される。この場合、文字列の許容される長さは、文字間スペースおよび文字サイズを、予め設定された最小値に設定することにより、その文字列が配置領域内に収まる程度の長さであり、その許容範囲は、ユーザにより設定されても良い。同様にして、3行目では、「持出厳禁」と「2007/02/13」が配置される。尚、これらの行(2行目および3行目)の「秘密」および「2007/02/13」のうち、配置領域からはみ出す量は、それぞれ記憶される。このような処理が繰り返されることにより、図13に示す仮配置された配置領域の画像が生成される。本実施形態では、図13のような画像は、形成されること無く、CPU22により各文字列の配置位置がメモリ上で計算されて記憶される。
図14では、文字サイズが調整されると共に、仮配置された各文字列の文字列間スペースが調整され、この結果、例えば、図13において配置領域からはみ出した2行目,3行目,4行目,5行目および7行目が配置領域内に収まる背景画像が生成される。
【0046】
次に、図15は、自動配置選択部82の「自動的に配置する」チェックボックス、および調整方法選択部83の「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」チェックボックスの全てがチェックされている場合であって、幅での繰り返しパターンにより仮配置された配置領域の画像を示し、図16は、仮配置された配置領域の画像が再配置された場合の背景画像を示す。
図15では、文字列の順序が自動的に決定され、例えば、図12の1行目に示すように、配置領域を大きく超える文字列「持出厳禁」に替えて、使用頻度が低く配置領域を大きく超えない文字列「秘密」が抽出され、配置領域内に配置される。次の行では、1行目で除外された「持出厳禁」が配置され、「持出厳禁」の次に「2007/02/13」が配置される。この場合、1行目の「秘密」や、2行目の「2007/02/13」において、配置領域からはみ出す量は、それぞれ記憶される。このような処理が複数行に亘り繰り返されることにより、図15に示す仮配置された配置領域の画像が生成される。
図16では、文字サイズが調整されると共に、仮配置された各文字列の文字列間スペースが調整され、この結果、例えば、図15において配置領域からはみ出した1〜7行目の全てが配置領域内に収まる背景画像が生成される。
【0047】
上述したように、矩形繰り返しパターンおよび幅での繰り返しパターンの何れにおいても、背景画像の行に含まれる文字列の文字切れが回避されると共に、文字列間スペースが適切に設定されるため、背景画像の文字列の見栄えが向上し、可読性が向上する。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0048】
例えば、上述した実施形態では、文字列を右上がりに配置するものとして説明したが、図示は略すが、文字列を右下がりに配置するものとしてもよい。
【0049】
上述した実施形態では、複数種の文字列を配置させた背景画像の生成について説明したが、1種の文字列を複数行に亘って配置させた背景画像を生成するものとしてもよい。このようにしても、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性をより高めることができる。
【0050】
上述した実施形態では、文字列を配置する配置領域を、背景画像を重ね合わせる主画像の印刷用紙サイズに基づいて設定するものとしたが、特にこれに限定されず、例えば、配置領域を背景画像の大きさとの兼ね合いで設定するものとしてもよいし、配置領域を主画像自体の大きさに基づいて設定するものとしてもよい。
【0051】
上述した実施形態では、文字列の位置管理をX,Y成分の長さに基づいて行うものとしたが、特にこれに限定されず、どのような方法を採用しても構わない。また、文字列のはみ出した領域についても配置領域からはみ出した文字列の長さを基準に行うものとしたが、特にこれに限定されず、文字列の面積を算出し、この面積に基づいて行うものとしてもよい。
【0052】
上述した実施形態では、ユーザPC20を本発明の画像処理装置として説明したが、背景画像を付記して印刷指令するものであれば特に限定されず、スキャナを備えたマルチファンクションプリンタ、FAX、ゲーム機器、デジタルカメラ、画像を再生するピクチャービューワ、デジタルビデオ、カメラ付き携帯電話などに適用してもよい。また、ユーザPC20の態様で説明したが、上述した画像処理方法を実行するプログラムの態様としてもよい。
【0053】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態で実行する背景画像生成ルーチンのステップS100の処理が本発明のステップ(a)及びステップ(b)の処理に相当し、ステップS160〜S220の処理がステップ(c)の処理に相当し、ステップS230の処理がステップ(d)の処理に相当する。また、ステップS160〜S175の処理がステップ(e)の処理に相当し、ステップS18〜S190の処理がステップ(f)の処理に相当し、ステップS200〜S220の処理がステップ(g)の処理に相当する。また、本実施形態のコントローラ21が本発明の配置領域設定手段、ライン設定手段、文字列配置手段及び画像生成手段に相当する。
【0054】
尚、本実施形態での背景画像とは、例えば、ウォーターマーク、スタンプマーク、透かし及び地紋などの画像、あるいは、これら以外の画像であっても良い。
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態に係る画像処理装置としてのユーザパソコンと印刷装置としてのプリンタの構成の概略を表す構成図。
【図2】スタンプマーク設定画面の説明図。
【図3】テキスト詳細設定画面の説明図。
【図4】繰り返し詳細設定画面の説明図。
【図5】背景画像生成ルーチンを表すフローチャート。
【図6】配置する文字列を設定し、配置位置に仮配置する処理を表すフローチャート。
【図7】はみ出し情報を記憶する処理を表すフローチャート。
【図8】はみ出し情報から文字サイズを計算する処理を表すフローチャート。
【図9】はみ出し情報から文字列間スペースを計算する処理を表すフローチャート。
【図10】すべての文字列を配置する処理を表すフローチャート。
【図11】矩形繰り返しで複数種の文字列を配列する際の一例を表す説明図。
【図12】幅繰り返しで複数種の文字列を配列する際の一例を表す説明図。
【図13】矩形繰り返しにより仮配置された配置領域の画像を表す説明図。
【図14】矩形繰り返しにより再配置された配置領域の画像を表す説明図。
【図15】幅繰り返しにより仮配置された配置領域の画像を表す説明図。
【図16】幅繰り返しにより再配置された配置領域の画像を表す説明図。
【符号の説明】
【0056】
20…ユーザPC、21…コントローラ、22…CPU、23…フラッシュROM、24…RAM、25…HDD、26…USBコントローラ、26a…USBポート、27…入力装置、28…ディスプレイ、29…バス、30…プリンタ、31…コントローラ、32…CPU、33…ROM、34…RAM、35…印刷機構、36…USBコントローラ、36a…USBポート、38…操作パネル、38a…表示部、38b…操作部、50…スタンプマーク設定画面、51…背景画像表示部、52…マーク名表示部、53…テキスト表示部、54…テキスト詳細設定ボタン、55…タイプ表示部、56…位置入力部、56a…繰返詳細設定ボタン、57…フォント入力部、58…スタイル入力部、59…色情報入力部、60…配置入力部、61…決定ボタン、62…キャンセルボタン、63…ヘルプボタン、64…初期設定読出ボタン、70…テキスト詳細設定画面、72…マーク名表示部、73…テキスト表示部、74…設定テキスト表示部、76…追加可能テキスト表示部、80…繰返詳細設定画面、81…繰返パターン入力部、82…自動配置選択部、83…調整方法選択部、84…欠け割合入力部、85…先頭文字切り替え入力部。
【技術分野】
【0001】
本発明は、画像処理方法、プログラムおよび画像処理装置に関する。
【背景技術】
【0002】
従来、画像処理方法としては、主画像の上に重ね合わせる付加画像(背景画像やウォーターマーク、スタンプマークともいう)を複数種用い、各々の付加画像をそれぞれ1つの行に配置させることにより複数行に亘って付加画像を配置した画像を生成し、この画像を回転させ主画像のサイズに切り取ることによりすかし画像を生成するものが提案されている(例えば、特許文献1参照)。また、主画像の上に重ね合わせる付加画像を、入力された回転角度に回転させた状態のタイル形状とし、設定範囲内に収まるよう付加画像の位置・大きさを決定しこの決定された位置にタイル形状の付加画像を配置させることにより付加画像を回転してもはみ出ないようにすることができるものが提案されている(例えば、特許文献2参照)。
【特許文献1】特開2005−210538号公報(図32)
【特許文献2】特開2001−103271号公報(図7)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、この特許文献1に記載された画像処理方法では、画像の端部ではみ出してしまう文字列については考慮されておらず、画像の端部で必ず文字が切れてしまうので、背景画像を読みにくいことがあった。また、特許文献2に記載された画像処理方法では、配置されている文字列の最後の文字と、隣接して配置されている文字列の最初の文字の開始位置がずれていることが多く、配置された複数の文字列を一連のものとして読み取りにくいことがあった。また、長さの異なる複数種の文字列を配置させる点は考慮されておらず、長さの異なる複数の文字列を配置させようとしたときには、文字数が少ない文字列は、小さなタイルサイズとなり、文字数が多い文字列は、大きなタイルサイズとなるなど各文字列のタイル形状のサイズが異なることとなり、そのまま配置するものとすればより文字数が多い文字列の専有面積が大きくなってしまうし、同程度の面積とするものとすればより長い文字列のタイルはより小さい文字となってしまうなど、背景画像が読みにくくなることがあった。
【0004】
本発明は、このような課題に鑑みなされたものであり、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性をより高めることができる画像処理方法、そのプログラム及び画像処理装置を提供することを主目的とする。
【課題を解決するための手段】
【0005】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0006】
[適用例1]
本適用例にかかる画像処理方法は、複数の文字列を配置した背景画像を生成する画像処理方法であって、(a)前記文字列が配置される配置領域を設定するステップと、(b)前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するステップと、(c)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置するステップと、(d)前記ステップ(c)で前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成するステップと、を含むことを特徴とする。
【0007】
この画像処理方法では、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【0008】
[適用例2]
上記適用例にかかる画像処理方法において、前記ステップ(c)は、(e)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した前記配置領域外となるときには、前記文字列と他の文字列とを入れ替え、前記行を前記開始位置に配置するステップと、(f)前記ステップ(e)を複数行に亘って順次繰り返すステップと、(g)前記ステップ(f)により前記開始位置に順次配置された前記複数行のうち、少なくとも前記配置領域をはみ出した行に含まれる複数の文字列に対して、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行するステップと、を含むことが好ましい。
【0009】
このような方法によれば、配置開始ラインの開始位置に配置された行毎に文字列が入れ替えられ、複数行に渡り配置された複数行のうち、少なくとも配置領域をはみ出した行に含まれる複数の文字列に対して、文字列間の距離の変更、および文字列の文字の大きさの変更の少なくとも1つが実行されるため、行毎に文字列のはみ出しが改善され、背景画像の見栄えの向上を図ることができる。
【0010】
[適用例3]
上記適用例にかかる画像処理方法において、前記ステップ(e)は、前記ステップ(f)により複数行に亘って前記文字列を配置するときに、前記複数行での前記文字列の使用頻度および前記文字列の長さの少なくとも1つに基づき、入れ替える2つの前記文字列を決めることが好ましい。
【0011】
このような方法によれば、文字列の使用頻度と文字列の長さの少なくとも1つに基づいて、背景画像の文字列を均等かつバランス良く配置できる。
【0012】
[適用例4]
上記適用例にかかる画像処理方法において、前記ステップ(e)は、前記開始位置に配置した前記行に含まれる前記文字列が前記配置領域をはみ出す場合、はみ出した量に関する情報を記憶し、前記ステップ(g)は、記憶した前記情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行しても良い。
【0013】
[適用例5]
上記適用例にかかる画像処理方法において、前記ステップ(g)は、決められた情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の優先順位を決めても良い。
【0014】
[適用例6]
上記適用例にかかる画像処理方法において、前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を下回るときは、前記はみ出した文字列の次の文字列を次行の先頭に配置すると共に、前記文字列を含む前記行が前記配置範囲内に収まるよう縮小しても良い。
【0015】
[適用例7]
上記適用例にかかる画像処理方法において、前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を上回るときは、前記はみ出した文字列を次行の先頭に配置し、前記文字列を含む前記行が前記配置範囲内に収まるよう拡大し、前記配置範囲内に収まるように配置しても良い。
【0016】
[適用例8]
上記適用例にかかる画像処理方法において、前記文字列間の距離、および前記文字列の文字の大きさは、それぞれ変更可能な範囲が決められても良い。
【0017】
[適用例9]
上述した画像処理方法の少なくとも1つを、1又は複数のコンピュータに実現させるためのプログラムに適用することにより、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【0018】
[適用例10]
本適用例にかかる画像処理装置は、複数の文字列を配置した背景画像を生成する画像処理装置であって、前記文字列が配置される配置領域を設定する配置領域設定手段と、前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するライン設定手段と、前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置する文字列配置手段と、前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成する画像生成手段と、を備えることを特徴とする。
【0019】
この画像処理装置では、複数の文字列が配置される配置領域を設定し、文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定し、設定した配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が配置領域外となるときには、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置し、配置領域内に配置した複数の文字列を用いて、配置開始ラインを含む範囲で背景画像を生成する。このように、配置領域内に少なくとも設定された配置開始ラインから所定方向へ向かって複数の文字列を配列させるから、配置された文字列がより切れにくく、複数の文字列が行となるように配列されるから、一連のものとして読み取りやすい。従って、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性を高めることができる。更に、行に含まれる文字列が配置領域外にはみ出す場合、行に配置した文字列の入れ替え、行に配置した文字列間の距離の変更、および、行に配置した文字列の文字の大きさの変更の少なくとも1つにより、行に配置した複数の文字列を配置領域内に配置できるため、背景画像の行に含まれる文字列の見栄えを向上させると共に、可読性をより高めることができる。
【発明を実施するための最良の形態】
【0020】
以下、画像処理装置について図面を参照して説明する。
【0021】
(実施形態)
【0022】
図1は、本発明の一実施形態である画像処理装置としてのユーザパソコン(PC)20と印刷装置としてのプリンタ30の構成の概略を示す構成図である。ユーザPC20は、ユーザが使用する画像処理装置として構成された周知の汎用パソコンであり、各種制御を実行するCPU22や各種制御プログラムを記憶するフラッシュROM23、データを一時記憶するRAM24などを備えたコントローラ21と、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリであるHDD25と、USBポート26aに接続された外部機器との間でデータの入出力を行うUSBコントローラ26と、を備えている。
HDD25には、プリンタ30へ印刷ジョブを送信して印刷処理を行うときに用いられるプリンタドライバなどが記憶されている。また、ユーザPC20は、ユーザが各種指令を入力するキーボード及びマウス等の入力装置27や、各種情報を画面表示するディスプレイ28等を備え、ディスプレイ28に表示されたカーソル等をユーザが入力装置27を介して入力操作すると、その入力操作に応じた動作を実行する機能を有している。コントローラ21やHDD25、USBコントローラ26、入力装置27及びディスプレイ28は、バス29によって電気的に接続され、各種制御信号やデータのやり取りができるよう構成されている。このユーザPC20は、インストールされたプログラムによりプリンタ30に対して印刷処理を指令したり、プリンタ30の情報を表示したりする。
【0023】
プリンタ30は、各種処理プログラムを記憶したROM33と一時的にデータを記憶するRAM34とを備え、CPU32を中心とするマイクロプロセッサとして装置全体の制御を司るコントローラ31と、記録紙Sへ画像を印刷処理する印刷機構35と、USBポート36aに接続された外部機器との間で情報の入出力が可能なUSBコントローラ36と、ユーザへ情報を表示可能な表示部38aやユーザの指示を入力可能である操作部38bなどを有する操作パネル38と、を備えている。コントローラ31や印刷機構35、USBコントローラ36、操作パネル38は、図示しないバスによって電気的に接続されている。印刷機構35は、図示しないが、各色のインクに圧力をかけ、この加圧されたインクを記録紙Sに吐出して印刷処理を実行するインクジェット方式の機構である。なお、インクへ圧力をかける機構は、圧電素子の変形によるものとしても良いし、ヒータの熱による気泡の発生によるものとしても良い。
【0024】
次に、こうして構成された本実施形態のユーザPC20の動作について説明する。本実施形態では、特に、主画像に重ね合わせて印刷する「透かし画像」である、複数種の文字列を複数行に亘って配置した背景画像(スタンプマーク)を生成する動作について説明する。図2は、スタンプマーク設定画面50の説明図であり、図3は、テキスト詳細設定画面70の説明図であり、図4は、繰返詳細設定画面80の説明図である。まず、ユーザは、アプリケーションプログラムの実行中などに、画像の印刷を選択する。すると、ユーザPC20のCPU22は、HDD25からプリンタドライバを読み出し、図示しない印刷設定画面をディスプレイ28に表示させる。ユーザは、この印刷設定画面上に配置された図示しないスタンプマーク設定ボタンをクリックする。すると、CPU22は、図2に示すスタンプマーク設定画面50をHDD25から読み出し、ディスプレイ28に表示させる。
【0025】
このスタンプマーク設定画面50には、左上側に配置され主画像と重ね合わせる背景画像のプレビュー画像を表示する背景画像表示部51と、右上段に配置され予め登録した背景画像をプルダウンによって選択可能なマーク名表示部52と、右上段に配置され現在入力されている背景画像のテキスト(文字列)を表示するテキスト表示部53と、テキスト表示部53に配置されテキストの詳細設定を行うときにクリックされるテキスト詳細設定ボタン54と、画像がテキストであるかビットマップであるかを指定するタイプ表示部55と、中段に配置され背景画像の文字列の位置・角度などを入力する位置入力部56と、文字列の繰り返しの詳細を設定するときにクリックされる繰返詳細設定ボタン56aと、右側下段に配置され文字列のフォントを入力するフォント入力部57と、右側下段に配置され文字列の角度やサイズを入力するスタイル入力部58と、左側中段に配置され背景画像の色合いや透過度などの情報を入力する色情報入力部59と、左側最下段に配置され前面か背面かの背景画像の配置位置を入力する配置入力部60とが配置されている。また、このスタンプマーク設定画面50の右側最下段には、入力した内容を確定する際にクリックする決定ボタン61と、入力した内容をキャンセルする際にクリックするキャンセルボタン62と、ヘルプ画面を読み出す際にクリックするヘルプボタン63と、初期値へ戻す際にクリックする初期設定読出ボタン64とが配置されている。これらのスタンプマーク設定画面50の入力部分に適宜ユーザが入力すると、CPU22は、入力された内容をHDD25の所定領域に記憶する。
【0026】
スタンプマーク設定画面50に配置されたテキスト詳細設定ボタン54がユーザによりクリックされると、CPU22は、HDD25の所定領域に記憶されたテキスト詳細設定画面70(図3参照)を読み出し、ディスプレイ28に表示させる。このテキスト詳細設定画面70には、予め登録した背景画像をプルダウンによって選択可能なマーク名表示部72と、現在入力されている背景画像のテキスト(文字列)を表示するテキスト表示部73と、背景画像に現在設定されている文字列を表示する設定テキスト表示部74と、更に背景画像に追加可能なテキストを表示する追加可能テキスト表示部76と、を備えている。また、このテキスト詳細設定画面70の最下段にも、決定ボタン61、キャンセルボタン62及びヘルプボタン63が配置されている。ユーザが設定テキスト表示部74や追加可能テキスト表示部76に表示されているテキストを選択して追加ボタンや削除ボタンをクリックすると、CPU22は、それに応じてテキストの追加や削除などを行うと共に、テキスト表示部73の内容に操作結果を反映させる。
【0027】
スタンプマーク設定画面50(図2参照)に配置された繰返詳細設定ボタン56aがユーザによりクリックされると、CPU22は、HDD25の所定領域に記憶された繰返詳細設定画面80(図4参照)を読み出し、ディスプレイ28に表示させる。この繰返詳細設定画面80には、背景画像を重ね合わせる主画像のサイズに基づいて定められた配置領域に、文字列の配置をどのような基準で行うかを入力する繰返パターン入力部81と、文字列の自動的な配置を選択する自動配置選択部82と、自動的に配置する場合の調整方法を選択する調整方法選択部83と、文字列の繰り返しを文字の欠け方により設定する欠け割合入力部84と、先頭文字列の切り替えを入力可能な先頭文字切り替え入力部85と、が配置されている。
繰返パターン入力部81には、配置領域に文字列の配置を行う「矩形で繰り返す」、又は入力された値を文字列の配置幅として文字列の配置を行う「幅で繰り返す」を入力することが可能となっている。この配置領域は、主画像の印刷用紙サイズよりも一回り程度小さな領域に設定されている。また、配置幅は、背景画像が重ね合わされる主画像のサイズやこれの印刷用紙サイズに関係なく設定可能であり、入力ボックスに数値を入力することにより設定することができるようになっている。
【0028】
自動配置選択部82には、「自動的に配置する」をチェックボックスにより選択できるようになっている。このチェックボックスがチェックされた場合、繰返パターン入力部81、欠け割合入力部84および先頭文字切り替え入力部85で入力された情報に基づき、指定された文字列が配置領域や配置幅(以降、これらをまとめて配置領域と呼ぶ。)を超える場合に調整方法選択部83で選択された方法に従い、配置領域や配置幅を超えないように文字列が再配置される。本実施形態では、CPU22は、最初に、調整方法選択部83で選択された方法に従い仮配置を行い、仮配置の結果をRAM24やHDD25等に一時的に記憶し、全ての仮配置が終了した後、調整方法選択部83で選択された方法に従い、再配置を行うことにより、背景画像を決定する。
調整方法選択部83には、「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」をチェックボックスにより選択できるようになっている。これらのチェックボックスは、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされた場合に有効になる。
「文字列の順序を自動的に決定する」のチェックボックスがチェックされた場合、CPU22は、仮配置の際、使用する文字列の偏りや、無駄なスペースを生じさせないように、各行で使用される頻度を所定の基準で計数した使用頻度を考慮して配置領域に収まる文字列を検索する。例えば、3種類の文字列を使用する場合、これらの3つの文字列を使用した回数をそれぞれ計数し、回数の少ない文字列を優先して使用する。尚、CPU22は、各ラインの仮配置が終了する度に、配置領域からのはみ出し量をラインごとに記憶し、再配置の際に、記憶したはみ出し量を使用して、次に説明する文字列間のスペースと文字サイズを調整する。
【0029】
「文字列間スペースを自動的に調整する」のチェックボックスがチェックされた場合、CPU22は、再配置の際、記憶した各ラインのはみ出し量に基づき、そのラインが配置領域に収まるような文字間スペースを算出し、算出した文字間スペースで再配置を行う。この場合、ライン内に空白(スペース)が生じた場合、配置領域内で均等割り付けを行っても良い。また、算出した文字間スペースにおいて、文字が重なる場合は、文字が重ならないような文字間スペースの最小値を越えないように調整しても良い。この最小値は、予めフォント等に応じて定められて内部に保持しても良く、図示を略した設定画面を介してユーザが設定しても良い。
「文字サイズを自動的に調整する」のチェックボックスがチェックされた場合、CPU22は、再配置の際、記憶したはみ出し量の最大値の文字列が、配置領域に収まるように、文字のサイズを算出し、算出した文字のサイズで再配置する。例えば、はみ出した領域が所定のはみ出し率を下回るときは、はみ出した文字列の次の文字列を次行の先頭に配置すると共に、文字列を含む行が配置範囲内に収まるよう縮小しても良い。他方で、はみ出し量の最大値が負値、即ち、何れのラインもはみ出さない場合、文字のサイズを拡大しても良い。例えば、はみ出した領域が所定のはみ出し率を上回るときは、はみ出した文字列を次行の先頭に配置し、文字列を含む行が配置範囲内に収まるよう拡大し、配置範囲内に収まるように配置しても良い。また、文字のサイズの最大値および最小値は、予め定められて内部に保持しても良く、図示を略した設定画面を介してユーザが設定しても良い。
「文字列間スペースを自動的に調整する」、および「文字サイズを自動的に調整する」のチェックボックスが共にチェックされた場合、CPU22は、それぞれの再配置を連続して実行するが、何れを優先するかの優先度は、予め定められていても良く、図示を略した設定画面を介してユーザが設定しても良い。
【0030】
欠け割合入力部84には、「欠けたら同じ文字列を繰り返す」を設定するチェックボックスや、欠ける割合を入力する入力部が設けられている。また、先頭文字切り替え入力部85には、「先頭文字列を切り替える」を設定するチェックボックスや、切り替える文字列を入力可能な入力ボックスが設けられている。なお、欠け割合入力部84及び先頭文字切り替え入力部85のチェックボックスは、そのいずれか一方にのみチェックすることができるように設定されている。ユーザがこれらのチェックボックスや入力ボックスに入力すると、CPU22は、それに応じて設定内容をHDD25の所定領域に記憶させる処理を行う。
【0031】
次に、背景画像の生成処理について説明する。図5は、背景画像生成ルーチンの一例を表すフローチャートである。このルーチンは、HDD25に記憶され、スタンプマーク設定画面50を表示したあとCPU22によって実行される。
【0032】
このルーチンを実行すると、まず、CPU22は、文字列が配置される基準線である配置開始ラインの設定および配置領域の設定を実行する(ステップS100)。配置領域の設定は、繰返パターン入力部81に「矩形で繰り返す」が入力されているときには主画像の印刷用紙のサイズの内側に所定のマージンを設けた領域に設定されるよう定められている。ここで、図11は、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、矩形繰り返しで複数種の文字列を配列する際の一例の説明図である。このときは、背景画像は、配置領域と略同じサイズとなるように設定されている。一方、図12は、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、繰返パターン入力部81に「幅で繰り返す」が入力されているときには、配置領域は、主画像(印刷用紙)の左端部から繰返パターン入力部81に入力されている幅の間の領域に設定されるよう定められている。
また、配置開始ラインは、スタイル入力部58に入力されている文字列の角度と、繰返パターン入力部81に入力されている繰り返しパターンとに基づいて、少なくとも配置領域内に設定される。例えば、繰返パターン入力部81で「矩形で繰り返す」が設定され、文字列が右上がりの角度に設定されているときには、配置開始ラインは、配置領域の下端及び左端の辺となるよう定められており、文字列が右下がりの角度に設定されているときには、配置開始ラインは、配置領域の上端及び左端の辺となるよう定められている。また、繰返パターン入力部81で「幅で繰り返す」が設定されているときには、配置開始ラインは、文字列の角度にかかわらず、配置領域の左端の辺の延長ラインとなるよう定められている。なお、スタンプマーク設定画面50やテキスト詳細設定画面70、繰返詳細設定画面80の各入力値は、前回までに入力した値がHDD25に記憶されており、上述したように各画面で新たな値がユーザにより入力されると、入力された値に更新される。
【0033】
次に、CPU22は、背景画像の文字情報を読み出す(ステップS110)。ここでは、設定テキスト表示部74に設定されている文字列と、フォント入力部57に入力されているフォント、スタイル入力部58に入力されている角度及びサイズなどを読み出すものとした。次に、CPU22は、スタイル入力部58に入力されている角度に基づいて文字列の配置角度Aを設定する(ステップS120)。この処理は、例えば、文字列を適正に配列できない角度(例えば90°)や逆さまに配置されてしまう角度(例えば180°)が入力されているときに、適正に文字列を配置可能な角度に再設定する処理である。ここでは、例えば、入力されている角度が45°〜180°であるときは、配置角度Aに−135°〜0°を設定し、入力されている角度が−180°〜−135°であるときには配置角度Aに0°〜45°を設定するよう定められている。なお、この配置角度Aの設定は、上記角度範囲以外の角度に再設定してもよいし、入力可能な範囲を制限しこの処理を省略しても構わない。また、角度が45°〜180°や−180°〜−135°であるときには、角度を逆さまとなるように変換して最終的に画像を逆さまな状態とすることにより適正に文字列を配置するものとしてもよい。
【0034】
続いて、CPU22は、文字列の配置開始位置を設定する(ステップS130)。ここでは、例えば主画像(印刷用紙)の左端側で、上端から所定距離だけ下側となる配置開始ライン上の位置(X0,Y0)を配置開始位置に設定する(図11参照)。続いて、CPU22は、文字列nのサイズSnのX成分(SXn)とY成分(SYn)とを、配置角度Aを用いて次式(1),(2)により計算する(ステップS140)。ここでは、テキスト表示部53に設定されている複数種の文字列すべてについてX成分とY成分を計算するものとした。ここで、「n」は、複数種の文字列に対応する番号を表すものとした。続いて、CPU22は、文字列の間のスペースのサイズPのX成分(PX)とY成分(PY)とを、配置角度Aを用いて次式(3),(4)により計算する(ステップS150)。このように、文字列を傾けて配置する際に、文字列及び文字列間スペースのX,Y成分を求めておけば、文字列やスペースを配置した際に始点座標に各成分値を加算すればよいから、文字列の位置管理が容易となる。ここでは、文字列の長さを用いて文字列の位置管理を行うものとした。なお、式(1)〜(4)について、開始位置と角度の変換に基づいて、文字列が逆さまにならずに適正に配置されるように、適宜符号の変換などを行うものとした。
SXn=Sn×cos(A) …式(1)
SYn=Sn×sin(A) …式(2)
PX=P×cos(A) …式(3)
PY=P×sin(A) …式(4)
【0035】
続いて、CPU22は、配置する文字列nを設定し、配置位置に仮配置する(ステップS160)。尚、ステップS160はサブルーチンであり、図6は、このステップS160のサブルーチンの処理を説明するフローチャートである。ここで、図6を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、文字列の順序を自動的に設定するか、否か判定する(ステップS300)。本実施形態では、CPU22は、調整方法選択部83の「文字列の順序を自動的に決定する」チェックボックスがチェックされているか、否か判定する。
ここで、文字列の順序を自動的に設定するべく設定されている場合(ステップS300でYes)、CPU22は、N回の繰り返しが終了したか、否かを判定する(ステップS305)。ここで、N回の繰り返しが終了した場合(ステップS305でYes)、CPU22はサブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進み、N回の繰り返しが終了していない場合(ステップS305でNo)、CPU22は、使用頻度の低い文字列を順次1つ選び(ステップS310)、選んだ文字列を現文字列として(ステップS315)、配置領域でのはみ出し量を計算する(ステップS320)。
【0036】
次に、CPU22は、配置領域からのはみ出しを判定し(ステップS325)、配置領域からはみ出していると判定された場合(ステップS325でYes)、ステップS305に戻る。他方で、配置領域からはみ出していないと判定された場合(ステップS325でNo)、CPU22は、文字列nを配置角度Aで配置位置に仮配置すると共に、終点位置を計算し(ステップS345)、サブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進む。尚、配置領域からのはみ出しを判定する工程(ステップS325)において、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスまたは「文字サイズを自動的に調整する」のチェックボックスの何れかがチェックされている場合、予め設定された許容値を考慮して判定される。
他方で、文字列の順序を自動的に設定するべく設定されていない場合(ステップS300でNo)、CPU22は、選んだ文字列を現文字列とし(ステップS330)、nを1つ増分した(ステップS335)後、配置領域からのはみ出しを判定し(ステップS340)、配置領域からはみ出していないと判定された場合(ステップS340でNo)、ステップS345に進む。また、配置領域からはみ出していると判定された場合(ステップS340でYes)、サブルーチンを終了して、図5に戻り、次の工程(ステップS170)に進む。
【0037】
図5に戻り、CPU22は、1行分が終了したか、否かを判定する(ステップS170)。ここで、1行分が終了していないと判定された場合(ステップS170でNo)、ステップS160に戻って、ステップS160が再度実行され1行分の仮配置が終了するまで繰り返される。他方で、1行分の仮配置が終了したと判定された場合(ステップS170でYes)、CPU22は、1行分のはみ出し情報を記憶する(ステップS175)。尚、ステップS175はサブルーチンであり、図7は、このステップS175のサブルーチンの処理を説明するフローチャートである。ここで、図7を参照して、この処理について説明する。
【0038】
このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS350)。ここで、文字サイズを自動的に設定すると判定された場合(ステップS350でYes)、ステップS360に進む。他方で、文字サイズを自動的に設定しないと判定された場合(ステップS350でNo)、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に調整するか、否かを判定する(ステップS355)。ここで、文字列間スペースを自動的に調整しないと判定された場合(ステップS355でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS180)に進む。他方で、文字列間スペースを自動的に調整すると判定された場合(ステップS355でYes)、ステップS360に進む。
ステップS360は、文字列のはみ出し情報を記憶する工程であり、CPU22は、はみ出し量の最大値やスペースの最小値を含む各行のはみ出し情報、即ち、文字列がどのくらいはみ出したか、あるいは、どのくらいスペースができたかという情報を記憶する。ステップS360の処理が終了すると、サブルーチンを終了して、図5に戻り、次の工程(ステップS180)に進む。
【0039】
図5に戻り、CPU22は、次の行があるか、否かを判定する(ステップS180)。ここで、次の行があると判定された場合(ステップS180でYes)、CPU22は、次の配置位置をセットし(ステップS190)、配置する文字列nを設定し、配置位置に仮配置する工程(ステップS160)に戻り、全ての行が仮配置されるまで繰り返す。他方で、次の行がないと判定された場合(ステップS180でNo)、CPU22は、全ての行の仮配置が終了したと判断し、はみ出し情報から、文字サイズを計算する工程(ステップS200)に進む。
尚、ステップS200はサブルーチンであり、図8は、このステップS200のサブルーチンの処理を説明するフローチャートである。ここで、図8を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS365)。ここで、文字サイズを自動的に設定すると判定された場合(ステップS365でYes)、CPU22は、はみ出し情報として記憶された情報の中から、はみ出し最大値を抽出し、抽出したはみ出し最大値に基づいて、文字のサイズの最大値および最小値を越えない範囲で最適な文字サイズを算出する(ステップS370)。続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS210)に進む。また、文字サイズを自動的に設定しないと判定された場合(ステップS365でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS210)に進む。
【0040】
図5に戻り、CPU22は、はみ出し情報から文字列間スペースを計算する(ステップS210)。ステップS210はサブルーチンであり、図9は、このステップS210のサブルーチンの処理を説明するフローチャートである。ここで、図9を参照して、この処理について説明する。このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に設定するか、否かを判定する(ステップS375)。ここで、文字列間スペースを自動的に調整しないと判定された場合(ステップS375でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。
他方で、文字列間スペースを自動的に調整すると判定された場合(ステップS375でYes)、CPU22は、全ての行の繰り返しが終了したか、否かを判定する(ステップS380)。ここで、全ての行の繰り返しが終了していないと判定された場合(ステップS380でNo)、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。他方で、全ての行の繰り返しが終了したと判定された場合(ステップS380でYes)、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS385)。ここで、文字サイズを自動的に設定しないと判定された場合(ステップS385でNo)、各行のはみ出し情報を再度計算し(ステップS390)、ステップS395に進む。他方で、文字サイズを自動的に設定すると判定された場合(ステップS385でYes)、ステップS395に進む。
【0041】
ステップS395では、CPU22は、各行のはみ出し情報から、文字列間スペースを計算して記憶する。続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS220)に進む。
図5に戻り、CPU22は、すべての文字列を配置する(ステップS220)。ステップS220はサブルーチンであり、図10は、このステップS220のサブルーチンの処理を説明するフローチャートである。ここで、図10を参照して、この処理について説明する。
このサブルーチンを実行すると、CPU22は、調整方法選択部83の「文字列間スペースを自動的に調整する」のチェックボックスから、文字列間スペースを自動的に設定するか、否かを判定する(ステップS400)。ここで、文字列間スペースを自動的に設定しないと判定された場合(ステップS400でNo)、CPU22は、調整方法選択部83の「文字サイズを自動的に調整する」のチェックボックスから、文字サイズを自動的に設定するか、否かを判定する(ステップS405)。ここで、文字サイズを自動的に設定しないと判定された場合(ステップS405でNo)、ステップS425に進む。また、文字サイズを自動的に設定すると判定された場合(ステップS405でYes)、および、文字列間スペースを自動的に設定すると判定された場合(ステップS400でYes)、CPU22は、各文字列の配置位置を再計算し、仮配置を行う(ステップS410)。
【0042】
次に、CPU22は、各行の繰り返し終了を判定する(ステップS415)。ここで、各行の繰り返しが終了していないと判定された場合(ステップS415でNo)、各文字列の配置位置を再計算し、仮配置を行う工程(ステップS410)に戻る。また、各行の繰り返しが終了したと判定された場合(ステップS415でYes)、CPU22は、全行の繰り返しが終了したか、否かを判定する(ステップS420)。
ここで、全行の繰り返しが終了していないと判定された場合(ステップS420でNo)、各文字列の配置位置を再計算し、仮配置を行う工程(ステップS410)に戻る。また、全行の繰り返しが終了したと判定された場合(ステップS420でYes)、ステップS425に進む。
ステップS425では、CPU22は、仮配置された情報から正式に文字列を配置(再配置)し、続いて、サブルーチンを終了して、図5に戻り、次の工程(ステップS230)に進む。ステップS230では、CPU22は、文字列の配置が終了したものとみなし、文字列を配置した画像から切り出して、背景画像を生成する。続いて、CPU22は、終了したか否かをユーザの入力に基づいて判定する(ステップS240)。終了したと判定されていないときには、CPU22は、ステップS100以降の処理を繰り返し、終了したと判定されたときには、このルーチンを終了する。ここでは、例えばスタンプマーク設定画面50で決定ボタン61がクリックされその後印刷処理される場合や、スタンプマーク設定画面50がクローズされ処理が中止される場合などに終了判定するものとした。なお、生成した背景画像は、複製しサイズ変更して背景画像表示部51に表示しても良く、ユーザからの印刷指示を入力して主画像に重ね合わせてプリンタ30で印刷しても良い。尚、上述した各処理の少なくとも1つは、自動又はユーザによる設定を選択する手段により選択されても良い。
【0043】
次に、上述した処理により生成される配置画像について説明する。最初に、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、矩形繰り返しで複数種の文字列を配列する場合の例を、図11に従い説明する。最初に、テキスト表示部53の先頭の文字列である「2007/02/13」が配置開始位置に配置する文字列として設定され、この文字列が配置角度Aとなるように配置開始位置に配置される。次に、現文字列が配置領域をはみ出しているので、次に配置する文字列が配置領域外となると判定し、次行があるから、テキスト表示部53の次の文字列である「重要」が次行の先頭に配置する文字列に設定され、配置位置である次行の先頭にこの文字列が配置される。この文字列の次の文字列は配置領域外とならないから、次に配置する文字列として「秘密」が設定され、文字列間スペースを配置しこれに続けて行となるようにこの文字列が配置される。同様に、次の文字列として「持出厳禁」が配置されるが、その次の文字列「2007/02/13」は、配置領域外となるため、その次の行の先頭に配置される。これらの処理が複数行に亘り繰り返されることにより、図11に示す配置画像が生成される。
【0044】
次に、自動配置選択部82の「自動的に配置する」チェックボックスがチェックされていない場合であって、幅での繰り返しで複数種の文字列を配列する場合の例を、図12に従い説明する。最初に、配置領域の左端側の辺を上下に延長したラインが配置開始ラインに設定され、このラインから繰返パターン入力部81に入力されている幅値の間の領域に配置領域が設定される。次に、図11の場合と同様に、「2007/02/13」、「重要」、「持出厳禁」、「秘密」の文字列が、配置開始位置から配置角度Aの方向に行となるよう順番に配置される。そして、「持出厳禁」が配置されたあと、次に配置する文字列「秘密」は、配置領域外になると判定され、次行があるために、次の文字列である「秘密」が次行の先頭に配置する文字列として設定され、配置位置である次行の先頭にこの文字列が配置される。このような処理は、文字列により配置領域が埋まるまで複数行に亘り繰り返されることにより、図12に示す配置画像が生成される。なお、最終的には、図11および図12の図中破線で示した背景画像領域で切り出すことにより、背景画像を生成する。
【0045】
次に、図13は、自動配置選択部82の「自動的に配置する」チェックボックス、および調整方法選択部83の「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」チェックボックスの全てがチェックされている場合であって、矩形繰り返しパターンにより仮配置された配置領域の画像を示し、図14は、仮配置された配置領域の画像が再配置された場合の背景画像を示す。
図13では、文字列の順序が自動的に決定され、例えば、図11の1行目に示すように、配置領域を大きく超える文字列「2007/02/13」に替えて、使用頻度が低く配置領域に収まる文字列「重要」が配置領域に配置される。2行目では、1行目で除外された「2007/02/13」が配置され、続いて、配置領域を大きく超える文字列「持出厳禁」に替えて、使用頻度が低く、配置領域を大きく超えない文字列「秘密」が配置領域に配置される。この場合、文字列の許容される長さは、文字間スペースおよび文字サイズを、予め設定された最小値に設定することにより、その文字列が配置領域内に収まる程度の長さであり、その許容範囲は、ユーザにより設定されても良い。同様にして、3行目では、「持出厳禁」と「2007/02/13」が配置される。尚、これらの行(2行目および3行目)の「秘密」および「2007/02/13」のうち、配置領域からはみ出す量は、それぞれ記憶される。このような処理が繰り返されることにより、図13に示す仮配置された配置領域の画像が生成される。本実施形態では、図13のような画像は、形成されること無く、CPU22により各文字列の配置位置がメモリ上で計算されて記憶される。
図14では、文字サイズが調整されると共に、仮配置された各文字列の文字列間スペースが調整され、この結果、例えば、図13において配置領域からはみ出した2行目,3行目,4行目,5行目および7行目が配置領域内に収まる背景画像が生成される。
【0046】
次に、図15は、自動配置選択部82の「自動的に配置する」チェックボックス、および調整方法選択部83の「文字列の順序を自動的に決定する」、「文字列間スペースを自動的に調整する」および「文字サイズを自動的に調整する」チェックボックスの全てがチェックされている場合であって、幅での繰り返しパターンにより仮配置された配置領域の画像を示し、図16は、仮配置された配置領域の画像が再配置された場合の背景画像を示す。
図15では、文字列の順序が自動的に決定され、例えば、図12の1行目に示すように、配置領域を大きく超える文字列「持出厳禁」に替えて、使用頻度が低く配置領域を大きく超えない文字列「秘密」が抽出され、配置領域内に配置される。次の行では、1行目で除外された「持出厳禁」が配置され、「持出厳禁」の次に「2007/02/13」が配置される。この場合、1行目の「秘密」や、2行目の「2007/02/13」において、配置領域からはみ出す量は、それぞれ記憶される。このような処理が複数行に亘り繰り返されることにより、図15に示す仮配置された配置領域の画像が生成される。
図16では、文字サイズが調整されると共に、仮配置された各文字列の文字列間スペースが調整され、この結果、例えば、図15において配置領域からはみ出した1〜7行目の全てが配置領域内に収まる背景画像が生成される。
【0047】
上述したように、矩形繰り返しパターンおよび幅での繰り返しパターンの何れにおいても、背景画像の行に含まれる文字列の文字切れが回避されると共に、文字列間スペースが適切に設定されるため、背景画像の文字列の見栄えが向上し、可読性が向上する。
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0048】
例えば、上述した実施形態では、文字列を右上がりに配置するものとして説明したが、図示は略すが、文字列を右下がりに配置するものとしてもよい。
【0049】
上述した実施形態では、複数種の文字列を配置させた背景画像の生成について説明したが、1種の文字列を複数行に亘って配置させた背景画像を生成するものとしてもよい。このようにしても、複数の文字列を配置させた背景画像において、背景画像の文字列の可読性をより高めることができる。
【0050】
上述した実施形態では、文字列を配置する配置領域を、背景画像を重ね合わせる主画像の印刷用紙サイズに基づいて設定するものとしたが、特にこれに限定されず、例えば、配置領域を背景画像の大きさとの兼ね合いで設定するものとしてもよいし、配置領域を主画像自体の大きさに基づいて設定するものとしてもよい。
【0051】
上述した実施形態では、文字列の位置管理をX,Y成分の長さに基づいて行うものとしたが、特にこれに限定されず、どのような方法を採用しても構わない。また、文字列のはみ出した領域についても配置領域からはみ出した文字列の長さを基準に行うものとしたが、特にこれに限定されず、文字列の面積を算出し、この面積に基づいて行うものとしてもよい。
【0052】
上述した実施形態では、ユーザPC20を本発明の画像処理装置として説明したが、背景画像を付記して印刷指令するものであれば特に限定されず、スキャナを備えたマルチファンクションプリンタ、FAX、ゲーム機器、デジタルカメラ、画像を再生するピクチャービューワ、デジタルビデオ、カメラ付き携帯電話などに適用してもよい。また、ユーザPC20の態様で説明したが、上述した画像処理方法を実行するプログラムの態様としてもよい。
【0053】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態で実行する背景画像生成ルーチンのステップS100の処理が本発明のステップ(a)及びステップ(b)の処理に相当し、ステップS160〜S220の処理がステップ(c)の処理に相当し、ステップS230の処理がステップ(d)の処理に相当する。また、ステップS160〜S175の処理がステップ(e)の処理に相当し、ステップS18〜S190の処理がステップ(f)の処理に相当し、ステップS200〜S220の処理がステップ(g)の処理に相当する。また、本実施形態のコントローラ21が本発明の配置領域設定手段、ライン設定手段、文字列配置手段及び画像生成手段に相当する。
【0054】
尚、本実施形態での背景画像とは、例えば、ウォーターマーク、スタンプマーク、透かし及び地紋などの画像、あるいは、これら以外の画像であっても良い。
【図面の簡単な説明】
【0055】
【図1】本発明の実施形態に係る画像処理装置としてのユーザパソコンと印刷装置としてのプリンタの構成の概略を表す構成図。
【図2】スタンプマーク設定画面の説明図。
【図3】テキスト詳細設定画面の説明図。
【図4】繰り返し詳細設定画面の説明図。
【図5】背景画像生成ルーチンを表すフローチャート。
【図6】配置する文字列を設定し、配置位置に仮配置する処理を表すフローチャート。
【図7】はみ出し情報を記憶する処理を表すフローチャート。
【図8】はみ出し情報から文字サイズを計算する処理を表すフローチャート。
【図9】はみ出し情報から文字列間スペースを計算する処理を表すフローチャート。
【図10】すべての文字列を配置する処理を表すフローチャート。
【図11】矩形繰り返しで複数種の文字列を配列する際の一例を表す説明図。
【図12】幅繰り返しで複数種の文字列を配列する際の一例を表す説明図。
【図13】矩形繰り返しにより仮配置された配置領域の画像を表す説明図。
【図14】矩形繰り返しにより再配置された配置領域の画像を表す説明図。
【図15】幅繰り返しにより仮配置された配置領域の画像を表す説明図。
【図16】幅繰り返しにより再配置された配置領域の画像を表す説明図。
【符号の説明】
【0056】
20…ユーザPC、21…コントローラ、22…CPU、23…フラッシュROM、24…RAM、25…HDD、26…USBコントローラ、26a…USBポート、27…入力装置、28…ディスプレイ、29…バス、30…プリンタ、31…コントローラ、32…CPU、33…ROM、34…RAM、35…印刷機構、36…USBコントローラ、36a…USBポート、38…操作パネル、38a…表示部、38b…操作部、50…スタンプマーク設定画面、51…背景画像表示部、52…マーク名表示部、53…テキスト表示部、54…テキスト詳細設定ボタン、55…タイプ表示部、56…位置入力部、56a…繰返詳細設定ボタン、57…フォント入力部、58…スタイル入力部、59…色情報入力部、60…配置入力部、61…決定ボタン、62…キャンセルボタン、63…ヘルプボタン、64…初期設定読出ボタン、70…テキスト詳細設定画面、72…マーク名表示部、73…テキスト表示部、74…設定テキスト表示部、76…追加可能テキスト表示部、80…繰返詳細設定画面、81…繰返パターン入力部、82…自動配置選択部、83…調整方法選択部、84…欠け割合入力部、85…先頭文字切り替え入力部。
【特許請求の範囲】
【請求項1】
複数の文字列を配置した背景画像を生成する画像処理方法であって、
(a)前記文字列が配置される配置領域を設定するステップと、
(b)前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するステップと、
(c)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置するステップと、
(d)前記ステップ(c)で前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成するステップと、を含むことを特徴とする画像処理方法。
【請求項2】
請求項1に記載の画像処理方法において、
前記ステップ(c)は、
(e)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した前記配置領域外となるときには、前記文字列と他の文字列とを入れ替え、前記行を前記開始位置に配置するステップと、
(f)前記ステップ(e)を複数行に亘って順次繰り返すステップと、
(g)前記ステップ(f)により前記開始位置に順次配置された前記複数行のうち、少なくとも前記配置領域をはみ出した行に含まれる複数の文字列に対して、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行するステップと、を含むことを特徴とする画像処理方法。
【請求項3】
請求項2に記載の画像処理方法において、
前記ステップ(e)は、前記ステップ(f)により複数行に亘って前記文字列を配置するときに、前記複数行での前記文字列の使用頻度および前記文字列の長さの少なくとも1つに基づき、入れ替える2つの前記文字列を決めることを特徴とする画像処理方法。
【請求項4】
請求項2乃至3のいずれかに記載の画像処理方法において、
前記ステップ(e)は、前記開始位置に配置した前記行に含まれる前記文字列が前記配置領域をはみ出す場合、はみ出した量に関する情報を記憶し、
前記ステップ(g)は、記憶した前記情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行することを特徴とする画像処理方法。
【請求項5】
請求項2乃至4のいずれか1項に記載の画像処理方法において、
前記ステップ(g)は、決められた情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の優先順位を決めることを特徴とする画像処理方法。
【請求項6】
請求項2乃至5のいずれか1項に記載の画像処理方法において、
前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を下回るときは、前記はみ出した文字列の次の文字列を次行の先頭に配置すると共に、前記文字列を含む前記行が前記配置範囲内に収まるよう縮小することを特徴とする画像処理方法。
【請求項7】
請求項2乃至6のいずれか1項に記載の画像処理方法において、
前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を上回るときは、前記はみ出した文字列を次行の先頭に配置し、前記文字列を含む前記行が前記配置範囲内に収まるよう拡大し、前記配置範囲内に収まるように配置することを特徴とする画像処理方法。
【請求項8】
請求項2乃至7のいずれか1項に記載の画像処理方法において、
前記文字列間の距離、および前記文字列の文字の大きさは、それぞれ変更可能な範囲が決められていることを特徴とする画像処理方法。
【請求項9】
請求項1乃至8のいずれか1項に記載の画像処理方法の少なくとも1つを、1又は複数のコンピュータに実現させるためのプログラム。
【請求項10】
複数の文字列を配置した背景画像を生成する画像処理装置であって、
前記文字列が配置される配置領域を設定する配置領域設定手段と、
前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するライン設定手段と、
前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置する文字列配置手段と、
前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成する画像生成手段と、を備えることを特徴とする画像処理装置。
【請求項1】
複数の文字列を配置した背景画像を生成する画像処理方法であって、
(a)前記文字列が配置される配置領域を設定するステップと、
(b)前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するステップと、
(c)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置するステップと、
(d)前記ステップ(c)で前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成するステップと、を含むことを特徴とする画像処理方法。
【請求項2】
請求項1に記載の画像処理方法において、
前記ステップ(c)は、
(e)前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した前記配置領域外となるときには、前記文字列と他の文字列とを入れ替え、前記行を前記開始位置に配置するステップと、
(f)前記ステップ(e)を複数行に亘って順次繰り返すステップと、
(g)前記ステップ(f)により前記開始位置に順次配置された前記複数行のうち、少なくとも前記配置領域をはみ出した行に含まれる複数の文字列に対して、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行するステップと、を含むことを特徴とする画像処理方法。
【請求項3】
請求項2に記載の画像処理方法において、
前記ステップ(e)は、前記ステップ(f)により複数行に亘って前記文字列を配置するときに、前記複数行での前記文字列の使用頻度および前記文字列の長さの少なくとも1つに基づき、入れ替える2つの前記文字列を決めることを特徴とする画像処理方法。
【請求項4】
請求項2乃至3のいずれかに記載の画像処理方法において、
前記ステップ(e)は、前記開始位置に配置した前記行に含まれる前記文字列が前記配置領域をはみ出す場合、はみ出した量に関する情報を記憶し、
前記ステップ(g)は、記憶した前記情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の少なくとも1つを実行することを特徴とする画像処理方法。
【請求項5】
請求項2乃至4のいずれか1項に記載の画像処理方法において、
前記ステップ(g)は、決められた情報に基づき、前記文字列間の距離の変更、および前記文字列の文字の大きさの変更の優先順位を決めることを特徴とする画像処理方法。
【請求項6】
請求項2乃至5のいずれか1項に記載の画像処理方法において、
前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を下回るときは、前記はみ出した文字列の次の文字列を次行の先頭に配置すると共に、前記文字列を含む前記行が前記配置範囲内に収まるよう縮小することを特徴とする画像処理方法。
【請求項7】
請求項2乃至6のいずれか1項に記載の画像処理方法において、
前記ステップ(c)で前記配置した文字列が前記配置範囲をはみ出す場合、はみ出した領域が所定のはみ出し率を上回るときは、前記はみ出した文字列を次行の先頭に配置し、前記文字列を含む前記行が前記配置範囲内に収まるよう拡大し、前記配置範囲内に収まるように配置することを特徴とする画像処理方法。
【請求項8】
請求項2乃至7のいずれか1項に記載の画像処理方法において、
前記文字列間の距離、および前記文字列の文字の大きさは、それぞれ変更可能な範囲が決められていることを特徴とする画像処理方法。
【請求項9】
請求項1乃至8のいずれか1項に記載の画像処理方法の少なくとも1つを、1又は複数のコンピュータに実現させるためのプログラム。
【請求項10】
複数の文字列を配置した背景画像を生成する画像処理装置であって、
前記文字列が配置される配置領域を設定する配置領域設定手段と、
前記文字列が配置される基準線である配置開始ラインを少なくとも前記配置領域内に設定するライン設定手段と、
前記配置開始ラインの開始位置から所定方向に向かって前記複数の文字列を所定の順番で行となるように配置し、次に配置した文字列が前記ステップ(b)で設定した配置領域外となるときには、前記行に配置した前記文字列の入れ替え、前記行に配置した文字列間の距離の変更、および、前記行に配置した前記文字列の文字の大きさの変更の少なくとも1つにより、前記行に配置した複数の前記文字列を前記配置領域内に配置する文字列配置手段と、
前記配置領域内に配置した複数の文字列を用いて、前記配置開始ラインを含む範囲で前記背景画像を生成する画像生成手段と、を備えることを特徴とする画像処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−62974(P2010−62974A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−227980(P2008−227980)
【出願日】平成20年9月5日(2008.9.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願日】平成20年9月5日(2008.9.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]