JP7451106B2 - 情報処理装置、制御方法、プログラム及び記憶媒体 - Google Patents

情報処理装置、制御方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP7451106B2
JP7451106B2 JP2019146640A JP2019146640A JP7451106B2 JP 7451106 B2 JP7451106 B2 JP 7451106B2 JP 2019146640 A JP2019146640 A JP 2019146640A JP 2019146640 A JP2019146640 A JP 2019146640A JP 7451106 B2 JP7451106 B2 JP 7451106B2
Authority
JP
Japan
Prior art keywords
double
page spread
snapping
spread area
page
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
JP2019146640A
Other languages
English (en)
Other versions
JP2021026705A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019146640A priority Critical patent/JP7451106B2/ja
Priority to US16/936,938 priority patent/US11842042B2/en
Publication of JP2021026705A publication Critical patent/JP2021026705A/ja
Priority to JP2024032181A priority patent/JP2024055962A/ja
Application granted granted Critical
Publication of JP7451106B2 publication Critical patent/JP7451106B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00442Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、制御方法プログラム及び記憶媒体に関する。
プレゼンテーション資料作成ソフトやCADソフトにおいてオブジェクトの配置処理のユーザの操作性を向上するためにオブジェクトスナッピングという機能がある(特許文献1)。
特開2010-176275号公報
近年オブジェクトをレイアウトする機会の増加に伴い、レイアウト操作の利便性向上が求められている。
上記目的を達成するために、
見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置であって、
前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域の端部間の距離における最小値を用いて、前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定手段と、
前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行手段を備え、
前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置されることを特徴とする。
本発明によれば、簡易な操作で統一感のあるレイアウトを実現することが可能となる。
実施形態1に関わるフローチャート 実施形態1に関わるフローチャート 実施形態1に関わるフローチャート 実施形態1に関わるフローチャート バッファの一例を示す図 スナッピングポイントの一例を示す図 システム構成図 オブジェクトリストの一例を示す図 実施形態2に関わるフローチャート オブジェクトの位置関係の一例を示す図 実施形態2に関わるフローチャート オブジェクトスナッピングの一例を示す図 オブジェクトスナッピングの一例を示す図 オブジェクトスナッピングの一例を示す図 オブジェクトスナッピングの一例を示す図 編集画面の一例を示す図 スナッピングポイントの一例を示す図 オブジェクトスナッピングの一例を示す図 フォトアルバムの例
<実施形態1>
フォトアルバム発注システムの構成図を図7に示す。情報処理装置704は、インターネット703を通して、プリンタ701を有する印刷拠点にフォトアルバムの作成を依頼する。なお、情報処理装置704の一例は、PC、タブレット、またはスマートフォンである。
情報処理装置704には、アルバム編集アプリケーション712がインストールされている。アルバム編集アプリケーション712は、画像データから図19のようなアルバム(フォトアルバム、フォトブック)を作成するためのアルバムデータを生成可能である。情報処理装置704は、アルバムデータに基づく印刷データをプリンタ705へ送信する。また、情報処理装置704は、アルバムデータを外部サーバ702にアップロードすることが可能である。情報処理装置704は、ROM709とRAM710とCPU711を有する。また、情報処理装置704には、プリンタ705、モニタ706、入力装置707、外部記憶装置708が接続されている。また情報処理装置704は、ネットワーク703と接続するための入出力インターフェース(不図示)を有する。
CPU711は、中央演算装置であり、記憶装置708やROM709、RAM710に記憶されているオペレーティングシステム(以下、OSと略す)を実行することにより情報処理装置704全体の制御を行う。ROM709には、各プログラムが格納されている。RAM710は、ランダムアクセスメモリであり、CPU711のワークメモリとして使用される。また、RAM710が不揮発性のRAMであれば各プログラムがRAM710に格納される。
情報処理装置704は、インターネット703を介して外部サーバ702と通信可能である。外部サーバ702は、プリンタ701と接続するための入出力インターフェース(不図示)を有しており、入出力インターフェースを介してプリンタ701と通信可能である。
情報処理装置704において作成されたアルバムデータは、インターネット703を介して外部サーバ702にアップロードされる。外部サーバ702は、アップロードされたアルバムデータに基づく印刷データをプリンタ701へ送信する。たとえば、外部サーバ702は、アルバム作成の注文を受けたり、アルバム作成の注文を管理する。
ユーザは、情報処理装置704で作成したアルバムデータを外部サーバ702にアップロードし、必要なアルバム購入手続きを行う。これらのユーザの操作が適切に行われた場合、外部サーバ702は、アルバムデータに基づく印刷データをプリンタ701へ送信する。その後、プリンタ701により印刷された印刷物が製本されることでアルバムが生成され、ユーザの手元に届けられる。
プリンタ705は、情報処理装置704で作成されたアルバムデータに基づく印刷データを印刷する。例えば、プリンタ705において印刷された印刷物は、ユーザにより製本されることでアルバムが生成される。モニタ706は、情報処理装置704において出力された画像情報やアルバムデータを表示する表示装置である。入力装置707は、情報処理装置704に入力を行うためのキーボードやポインティングデバイスなどの入力装置である。なお、入力装置の形態によってはモニタと一体となっており、モニタに直接触れ入力するタッチパネルもある。記憶装置708は、画像データやテンプレートなどを保存するHDDやSSDなどの記憶装置である。なお、図7に示す構成は一例であり、別の形態でも構わない。例えば、情報処理装置704が、モニタ706、入力装置707、記憶装置708を含む構成でも構わない。
続いて、ユーザが図7のシステムを用いてフォトブックを発注するまでの工程について説明する。アルバム編集アプリケーション712が起動されると、ユーザは、アルバムデータの新規作成またはアルバムデータの再編集を行うことができる。なお、再編集が行われる場合、アルバムデータは、例えば、インターネット703を介して情報処理装置704に取得される。また、アルバムデータは、外部記憶装置708を介して情報処理装置704に取り込まれても良い。なお、本実施形態では、アルバムデータの新規作成を行う際の工程について説明する。
アルバムデータが新規に作成される場合、図16(a)の編集画面1601が表示される。図16(a)の編集画面1601の初期状態は、製本パラメータ設定領域1610以外はすべてグレーアウト(入力不可)の状態である。
ユーザは、製本パラメータとして、アルバムのサイズ(例えば、21cm正方形、A4等)、カバーの種類(ハードカバー、ソフトカバー等)、ページ数(20ページ、30ページ等)を選択する。なお、設定項目は他にあっても良く、例えば、用紙種類などがあっても良い。全ての設定項目にパラメータが入力されると、アルバムの価格が計算されて表示される。
価格の計算結果が表示されると、ページ一覧領域1609のグレーアウトが解除され、指定された製本パラメータに基づく見開きページの一覧が表示される。
ユーザはページ一覧領域1609から編集を開始したい見開きページを選択すると、見開きページ1614のページ画像が表示され、編集待ち状態となる。アルバムの材料である画像データを読み込むために、読み込みボタン1612が押下されると、ファイル選択ダイアログが表示される。ユーザは、ファイル選択ダイアログを使って画像データを選択する。
選択された画像データはリスト1606に表示されるので、ユーザは、所望の画像データを見開きページ1614にドラッグアンドドロップする。その結果、見開きページ1614に画像データが配置される(図16(b))。
ユーザがアルバムを注文する場合、情報処理装置704で作成されたアルバムデータは、ネットワーク703を介して外部サーバ702にアップロードされる。外部サーバ702は、アップロードされたアルバムデータが印刷可能であれば、アルバムデータに基づく印刷データをプリンタ701に出力する。
本実施形態は、ユーザが手動で画像データを配置してアルバムを作成する際の補助機能で、図16の編集画面1601を用いたレイアウト編集動作において機能するものである。なお、本実施形態において見開きページの座標値は、見開きページの左上角が原点であり、X座標値は右方向に向かって大きくなり、Y座標値は下方向に向かって大きくなる(例えば図10の1003)。
ユーザは図16(a)においてページ一覧1609から編集するページを選択し、下部に表示されている写真リスト1606から選択された画像データを見開きページ1614ページ上にドラッグアンドドロップする。その結果、図16(b)に示すように、見開きページ1614に画像データが追加される。さらにユーザは、画像データの位置やサイズを調整するためにマウスドラッグや、タッチパネルを利用して追加した写真(画像データ)を移動させることになる。本実施形態の情報処理装置704は、このようなユーザによるレイアウト操作の効率向上のためにオブジェクトスナッピングを実行可能である。オブジェクトスナッピングは、配置済みのオブジェクトの位置に基づいて新しいオブジェクトの配置位置を自動的に決定するための処理である。オブジェクトスナッピングにより、ユーザは、新しいオブジェクトを配置する場合に、配置済みのオブジェクトと新しいオブジェクトの位置関係を容易に揃えることが可能となる。なお、具体的な動作は、例えば図18を用いて説明する。
続いて、図1を用いて本実施形態の処理について説明する。なお、本実施形態のフローチャートは、CPU711が、フローチャートの処理に関わるプログラムをメモリから読み出して実行することで実現される。
CPU711は、ユーザから見開きページに配置されたオブジェクトに対するドラッグ操作を受け付ける(S101)。ドラッグ操作を受け付けた場合、CPU711は、マウス位置に存在しているオブジェクトを検索し、このドラッグ対象のオブジェクトの位置情報とサイズ情報を図5のドラッグ開始情報バッファの553~556に保存する。なお、図5には、間隔保持バッファとして501から507の情報が保持され、ドラッグ開始情報バッファとして551から557の情報が保持される。
例えば、ドラッグ対象の画像データの左上の頂点のX座標が553に保存され、Y座標が554に保存される。さらに、ドラッグ対象の画像データの幅と高さが555と556に保存される。またCPU711は、ドラッグ後にドラッグ対象のオブジェクトを移動したりサイズ変更するためには、ドラッグ対象のオブジェクトにアクセスする必要がある。そのため、CPU711は、ドラッグ対象オブジェクトへのポインタを557に保持する。さらにCPU711は、このドラッグ開始時のマウス位置を図5のドラッグ開始情報バッファの551、552のマウス位置に保存する。
CPU711は、図6に示すバッファ上にスナッピングポイントを構築する(S102)。なお、S102の詳細な説明は後述する。
CPU711は、図5の551および552に保存される情報と、現在のマウス位置の差分を計算し、マウス移動量を取得する(S103)。
CPU711は、ドラッグ対象のオブジェクトの現在位置の位置情報を特定する(S104)。具体的には、CPU711は、S103で取得されたマウス移動量と、図5の553および554の情報に基づいて、ドラッグ対象オブジェクトの現在位置を算出する。そして、CPU711は、算出されたドラッグ対象オブジェクトの現在位置の位置情報を、ドラッグ対象オブジェクトへのポインタ557が示す位置情報801に反映する。
CPU711は、ドラッグ対象オブジェクトの現在位置の近傍にスナップポイントがあるか否かを判定する(S105)。具体的には、CPU711は、図6のスナッピングポイントデータと、S104で特定されたドラッグ対象オブジェクトの現在位置の位置情報を比較し、両者の距離が規定距離よりも近いか否かを判定する。CPU711は、S105においてYesと判定された場合、ドラッグ対象オブジェクトを近傍のスナッピングポイントに移動する(S106)。つまり、CPU711は、新規に配置されるオブジェクトがスナッピングポイントに基づく所定の範囲内に配置された場合、オブジェクトスナッピングを実行する。ここでS105について詳細に説明する。
見開きページに配置された画像データの位置やサイズ情報は、図8に示すように管理されている。そのためCPU711は、ドラッグ対象のオブジェクトの位置情報801のX座標と、図6のスナッピングポイントデータの左余白1(601)を比較し、両者間の距離が規定距離より近いか判定する。ここで両者間の距離が規定距離より近いと判定された場合、CPU711は、左余白1(601)の位置にドラッグ対象オブジェクトを移動する。
一方、CPU711は、ドラッグ対象のオブジェクトの位置情報801のX座標と、図6のスナッピングポイントデータの左余白1(601)間の距離が規定距離より遠いと判定した場合、比較対象を左余白2(602)へ変更して、同様の比較処理を行う。
次にドラッグ対象のオブジェクトの位置情報801のX座標と綴じ余白(左)603から右ページ中心606との比較について説明する。
CPU711は、まずドラッグ対象オブジェクトの中心のX座標を「オブジェクトの位置情報801のX座標+(サイズ情報802の幅 ÷2)」により算出する。この算出されたX座標と、綴じ余白(左)603から右ページ中心606を順次比較する。CPU711が、綴じ余白(左)603から右ページ中心606のいずれかとドラッグ対象オブジェクトの中心のX座標との距離が規定距離より近いと判定した場合、比較対象のスナッピングポイントデータを使ってドラッグ対象オブジェクトを移動する。
CPU711が、右ページ中心606とドラッグ対象オブジェクトの中心のX座標とを比較してもS105においてYesと判定されない場合、次の比較対象のスナッピングポイントデータを綴じ余白(右)607以降へ変更する。
CPU711は、まずドラッグ対象オブジェクトの右端のX座標を「オブジェクトの位置情報801のX座標+サイズ情報802の幅」により算出する。この算出されたX座標と、綴じ余白(右)607から右余白2(609)を順次比較する。CPU711が、綴じ余白(右)607から右余白2(609)のいずれかとドラッグ対象オブジェクトの中心のX座標との距離が任意の規定距離より近いと判定した場合、比較対象のスナッピングポイントデータを使ってドラッグ対象オブジェクトを移動する。
CPU711が、右余白2(609)とドラッグ対象オブジェクトの中心のX座標とを比較してもS105においてYesと判定されない場合、比較対象を上余白1(610)へ変更する。CPU711は、ドラッグ対象オブジェクトの位置情報801のY座標と上余白1(601)、上余白2(602)を順次比較する。CPU711が、上余白1(601)、上余白2(602)のいずれかとドラッグ対象オブジェクトのY座標との距離が任意の規定距離より近いと判定した場合、比較対象のスナッピングポイントデータを使ってドラッグ対象オブジェクトを移動する。
CPU711が、上余白2(602)とドラッグ対象オブジェクトのY座標とを比較してもS105においてYesと判定されない場合、次の比較対象のスナッピングポイントデータを頁中心(612)へ変更する。
CPU711は、まずドラッグ対象オブジェクトの中心のY座標を「オブジェクトの位置情報801のY座標 + (サイズ情報802の高さ÷2)」により算出する。この算出されたY座標と、ページ中心(612)を比較する。CPU711が、ドラッグ対象オブジェクトの中心のY座標とページ中心(612)との距離が任意の規定距離より近いと判定した場合、比較対象のスナッピングポイントデータを使ってドラッグ対象オブジェクトを移動する。
CPU711が、ドラッグ対象オブジェクトの中心のY座標とページ中心(612)とを比較してもS105においてYesと判定されない場合、次の比較対象のスナッピングポイントデータを下余白1(613)へ変更する。
CPU711は、まずドラッグ対象オブジェクトの下端のY座標を「オブジェクトの位置情報801のY座標 + サイズ情報802の高さ」により算出する。この算出されたY座標と、下余白1(613)と下余白2(614)を順次比較する。CPU711が、下余白1(613)と下余白2(614)のいずれかと、ドラッグ対象オブジェクトの下端のY座標との距離が任意の規定距離より近いと判定した場合、比較対象のスナッピングポイントデータを使ってドラッグ対象オブジェクトを移動する。
CPU711が、ドラッグ対象オブジェクトの下端のY座標と下余白2(614)との距離を比較してもS105においてYesと判定されない場合、S105においてNoと判定する。
S105においてYesと判定された場合、CPU711は、ドラッグ対象オブジェクトの位置をスナッピングポイントに移動(スナッピング)する(S106)。
ここでS106について具体的に説明する。例えば、上述した左余白1(601)から綴じ余白(左)のいずれかが比較対象として用いられている時にS105においてYesと判定された場合、CPU711は、ドラッグ対象オブジェクトのX座標に比較対象のデータを反映させる。この処理により、CPU711は、ドラッグ対象オブジェクトの左端を比較対象のスナッピングポイントに合わせるように移動することが可能となる。
また、例えば、上述した左ページ中心(604)から右ページ中心(606)のいずれかが比較対象として用いられている時にS105においてYesと判定された場合について説明する。この場合、CPU711は、ドラッグ対象オブジェクトのX座標に「一致したスナッピングポイント - (サイズ情報802の幅 ÷ 2)」を反映させる。この処理により、CPU711は、ドラッグ対象オブジェクトの中心を比較対象のスナッピングポイントに合わせるように移動することが可能となる。
また、例えば、綴じ余白(右)607から右余白2(609)のいずれかが比較対象として用いられている時にS105においてYesと判定された場合について説明する。この場合、CPU711は、ドラッグ対象オブジェクトのX座標に「一致したスナッピングポイント - サイズ情報802の幅」を反映させる。この処理により、CPU711は、ドラッグ対象オブジェクトの右端を比較対象のスナッピングポイントに合わせるように移動することが可能となる。
また、例えば、上余白1(610)または上余白2(611)のいずれかが比較対象として用いられている時にS105においてYesと判定された場合について説明する。この場合、CPU711は、ドラッグ対象オブジェクトの上端を比較対象のスナッピングポイントに合わせるように移動する。
また、例えば、ページ中心612が比較対象として用いられている時にS105においてYesと判定された場合について説明する。この場合、CPU711は、ドラッグ対象オブジェクトのY座標に「一致したスナッピングポイント - (サイズ情報802の高さ ÷ 2)」を反映させる。この処理により、CPU711は、ドラッグ対象オブジェクトの中心を比較対象のスナッピングポイントに合わせるように移動することが可能となる。
また、下余白1(613)または下余白2(614)が比較対象として用いられている時にS105においてYesと判定された場合について説明する。この場合、CPU711は、下余白1(613)または下余白2(614)の値からオブジェクト高さを減じた値をオブジェクトのY座標に反映させる。この処理によりCPU711は、ドラッグ対象オブジェクトの下端を比較対象のスナッピングポイントに合わせて移動することが可能となる。
なお、CPU711は、S106の処理を行う際に基準となった位置にガイドラインを表示しても良い。ここで、オブジェクトスナッピングとガイドラインの表示処理について図18を用いて説明する。
図18(a)は、見開きページの左端から距離1803だけ離れた位置に画像データ1801が配置されている状況において、新しい画像データ1802がドラッグされている状況である。つまり、画像データ1802がドラッグ対象オブジェクトである。なお、図6の左余白1(601)と右余白1(608)の両者には、距離1803を示す値が保持されているとする。この状況で画像データ1802が見開きページの右端から距離1803離れた位置付近にドラッグされた場合、CPU711は、S105においてYesと判定して、S106を実行する。その結果、CPU711は、図18(b)に示すように画像データ1802を見開きページの右端から距離1803離れたスナッピングポイントに移動する。なお、図18(a)の画像データ1802から図18(b)の画像データ1802への移動は自動的に行われる。この際、CPU711は、スナッピングの基準となったスナッピングポイントに対してガイドライン1804と矢印1803を表示する。なお、ガイドライン1804や矢印1803は別の表示形態でも構わない。
CPU711は、ドラッグ操作の取り消し操作が行われたか否かを判定する(S107)。例えば、CPU711は、ESCキーが操作されたと判定した場合、S107においてYesと判定する。一方、S107においてNoと判定された場合、図1の処理はS109へと進む。
S107においてYesと判定された場合、CPU711は、図5のドラッグ開始情報バッファから、ドラッグ開始時のオブジェクト位置553~554とオブジェクトサイズ555~556を取得する。そしてCPU711は、ドラッグ対象オブジェクトへのポインタ557が示すドラッグ対象オブジェクトの位置情報(801)とサイズ情報(802)に反映することで、ドラッグ前の状態にドラッグ対象オブジェクトを戻す。
CPU711は、ドラッグ操作が完了したか否かを判定する(S109)。具体的には、CPU711は、ユーザによりマウスボタンが離されたか否かを検出することでS109を実現できる。S109においてYesと判定された場合、CPU711は、現在の位置情報をドラッグ対象オブジェクトの位置として確定する(S110)。S109においてNoと判定された場合、図1の処理はS103へ戻る。
続いてS102について詳細な説明を行う前に、スナッピングポイントについて図17を用いて説明する。
図17は、見開きページ1703に2つの画像データ1701と画像データ1702が配置済みである状態を示す。
まず1つ目のスナッピングポイントは左右余白である。図17では、画像データ1701と画像データ1702が見開きページ1703に配置されており、左右端との距離が最短な位置に配置されている画像データは、画像データ1701である。そのため、左端と画像データ1701間の距離1705の位置における垂直方向の線と右端から距離1705の位置における垂直方向の線が、左右余白のスナッピングポイントとなる。
2つ目のスナッピングポイントは上下余白である。図17では、見開きページ1703の上下端との距離が最短な位置に配置されている画像データは、画像データ1702である。そのため、見開きページ1703の下端と画像データ1702間の距離1706の位置における水平方向の線と上端から距離1706の位置における水平方向の線が、上下余白のスナッピングポイントとなる。
3つ目のスナッピングポイントは最短余白である。図17では、見開きページ1703の左端と画像データ1701間の距離1705が見開きページ1703下端と画像データ1702間の距離1706よりも短い。そのため、上下左右端から距離1705の位置にある垂直方向の線と水平方向の線が、最短余白のスナッピングポイントとなる。
4つ目のスナッピングポイントは綴じ余白である。図17では、画像データ1702と綴じ部1704間の距離1707が、画像データ1701と綴じ部1704間の距離よりも短い。そのため、綴じ部1704から左右に距離1707離れた位置における垂直方向の線が、綴じ余白のスナッピングポイントとなる。なおCPU711は、綴じ部104をまたがるように新規の画像データがドラッグされた場合、スナッピング処理を無効化しても良い。
続いて図2を用いてスナッピングポイントの生成処理について説明する。
CPU711は、見開きページに配置されているオブジェクトに基づいて図8のオブジェクトリスト800を生成し、1つ目のオブジェクトを対象オブジェクトとして特定する(S201)。この際、CPU711は、RAM710に図5に示す間隔保持バッファの領域を確保し、初期化する。具体的には、CPU711は、左右余白501と綴じ余白504に「用紙幅/4」の値を設定し、上下余白502に「用紙高さ/2」の値を設定する。
CPU711は、対象オブジェクトが図8のオブジェクトリストの最後のオブジェクトであるか否かを判定する(S202)。最後のオブジェクトではないと判定された場合、選択されている対象オブジェクトがドラッグ対象オブジェクトか否かを判定する(S203)。対象オブジェクトがドラッグ対象オブジェクトであると判定された場合、対象オブジェクトはスナッピングポイントの対象にならないので、図2の処理はS207へ進む。そしてCPU711は、対象オブジェクトとして次のオブジェクトを図8のリストから選択してS202へと処理を戻す。
S203においてNoと判定された場合、CPU711は、左右余白の抽出処理を行う(S204)。S204の処理について図3(a)を用いて説明する。CPU711は、現在の対象オブジェクトの左端から見開きページ左端までの距離が左右余白501の値より小さいか否かを判定する(S301)。S301においてYesと判定された場合、CPU711は、現在の対象オブジェクトの左端から見開きページ左端までの距離の値を用いて左右余白501の値を更新する(S302)。
CPU711は、現在の対象オブジェクトの右端から見開きページの右端までの距離が左右余白501の値より小さいか否かを判定する(S303)。S303においてYesと判定された場合、CPU711は、現在の対象オブジェクトの右端から見開きページの右端までの距離の値を用いて左右余白501の値を更新する(S304)。
図3(a)(すなわちS204の処理)が完了したら、CPU711は、上下余白の抽出処理を行う(S205)。S205の処理について図3(b)を用いて説明する。CPU711は、現在の対象オブジェクトの上端から見開きページ上端までの距離が上下余白502の値より小さいか否かを判定する(S305)。S305においてYesと判定された場合、CPU711は、現在の対象オブジェクトの上端から見開きページの上端までの距離の値を用いて上下余白502の値を更新する(S306)。
CPU711は、現在の対象オブジェクトの下端から見開きページの下端までの距離が上下余白502の値より小さいか否かを判定する(S307)。S307においてYesと判定された場合、CPU711は、現在の対象オブジェクトの下端から見開きページの下端までの距離の値を用いて上下余白502の値を更新する(S308)。
図3(b)(すなわちS205の処理)が完了したら、CPU711は、綴じ余白抽出処理を行う(S206)。S206の処理について図4を用いて説明する。CPU711は、現在の対象オブジェクトが綴じ部にまたがっていないかを判定する(S401)。例えば、CPU711は、現在の対象オブジェクトの左端が綴じ部の左側にあり、かつ、現在の対象オブジェクトの右端が綴じ部の右側にあると判定した場合、現在の対象オブジェクトが綴じ部にまたがっていると判定し、S401をYesと判定する。
CPU711は、S401においてYesと判定された場合、綴じ余白504に0を設定する。一方、S401においてNoと判定された場合、CPU711は、現在の対象オブジェクトが見開きページの左ページ領域に配置されているかを判定する(S403)。S403においてYesと判定された場合、CPU711は、現在の対象オブジェクトの右端と綴じ部(または背表紙の左端)までの距離が、綴じ余白504の値より小さいか否かを判定する(S404)。なお、綴じ余白504には、初期値として見開きページの横幅のサイズが設定されていても良い。
S404においてNoと判定された場合、図4の処理は終了する。一方、S404においてYesと判定された場合、CPU711は、現在の対象オブジェクトの右端と綴じ部(または背表紙の左端)までの距離を綴じ余白504に設定する(S406)。
S403においてNoと判定された場合、CPU711は、現在の対象オブジェクトの左端と綴じ部(または背表紙の右端)までの距離が、綴じ余白504の値より小さいか否かを判定する(S405)。S405においてNoと判定された場合、図4の処理は終了する。一方、S405においてYesと判定された場合、CPU711は、現在の対象オブジェクトの右端と綴じ部(または背表紙の左端)までの距離を綴じ余白504に設定する(S406)。
CPU711は、S206に続いてS207を実行し、S202へと処理を戻す。ここでS202においてYesと判定された場合、CPU711は、左右余白501の値と上下余白502の値を比較し、より小さい値を最小余白503に設定する。
S208までの処理により、スナッピングポイント生成に必要な余白値が得られたので、以降S209~S215の処理で、図6の値を設定する。CPU711は、左右余白501を左余白1(601)と上余白1(610)に設定する(S209、S210)。
CPU711は、最小余白503を左余白2(602)と上余白2(611)に設定し(S211)、見開きページ右端のX座標値から左右余白501を引いた値を右余白1(608)に設定する(S212)。
CPU711は、見開きページ下端のY座標値から、上下余白502を引いた値を下余白1(613)に設定し(S213)、見開きページ右端のX座標値から最小余白503を引いた値を右余白2(609)に設定する(S214)。
CPU711は、見開きページ下端のY座標値から、最小余白503を引いた値を下余白2(614)に設定する(S215)。
続いてCPU711は、綴じ部のスナップポイントとページ中心のスナップポイントの更新を行う(S216)。綴じ余白504が0である場合、綴じ部へのスナッピングは行わないので、綴じ余白(左)603と綴じ余白(右)607には、スナッピングが行われないような値(例えば、見開きページの外を示す値)が設定される。一方、綴じ余白504が0以外であれば、CPU711は、綴じ余白(左)603に綴じ部のX座標から綴じ余白504の差分の値を設定し、綴じ余白(右)607に綴じ部のX座標と綴じ余白504の合計値を設定する。
次に、CPU711は、ページ中心のスナップポイントを設定する。例えば、CPU711は、図17に示すように左ページの水平方向の中心線1709、右ページの水平方向の中心線1710、綴じ部における水平方向の中心線1704を設定する。また、CPU711は、垂直方向における水平線1711を設定する。なお、中心線1704は綴じ部とも呼ぶ。
また、CPU711は、綴じ部のX座標÷2の値を左ページ中心604に設定し、綴じ部のX座標を綴じ位置605に設定する。また、CPU711は、(ページ幅 - 綴じX座標) ÷ 2の値を右ページ中心606に設定し、ページ中心612にページ高さ÷2の値を設定する。
以上の処理により設定された図6の値を用いてオブジェクトスナッピングを行う例を図12を用いて説明する。
図12(a)のように見開きページに画像データが配置されていたとする。この場合、見開きページの左端から画像データ1201の左端までの距離が、図6の左余白1(601)と右余白1(608)に設定される。また、ページの上端から画像データ1202の上端までの距離が、図6の上余白1(610)と下余白1(613)に設定される。なお、見開きページの左端から画像データ1201の左端までの距離が見開きページの上端から画像データ1202の上端までの距離より小さい。そのため、見開きページの左端から画像データ1201の左端までの距離が左余白2(602)、右余白2(609)、上余白2(611)、下余白2(614)に設定される。つまり、左余白2(602)、右余白2(609)、上余白2(611)、下余白2(614)により、見開きページに配置済みのオブジェクトと見開きページ領域の端部間の距離における最小値がスナッピングポイントと特定される。
ユーザが図12(a)に示すように画像データ1203をドラッグしている場合、CPU711が、右余白1(または右余白2)と画像データ1203の右端間の距離が規定値より小さくなったと判定する。その結果、CPU711は、図12(b)のようにオブジェクトスナッピングを実行する。つまり、画像データ1203が自動的にガイドライン1205(すなわちスナッピングポイント)に沿うように配置される。この際、ガイドライン1204と1205と距離を示す矢印が表示される。
また、ユーザが図12(c)に示すように画像データ1203をドラッグしている場合、CPU711は、下余白1と画像データ1203の下端間の距離が規定値より小さくなったと判定する。その結果、CPU711は、図12(d)のようにオブジェクトスナッピングを実行する。つまり、画像データ1203が自動的にガイドライン1206(すなわちスナッピングポイント)に沿うように配置される。この際、ガイドライン1206と1207と距離を示す矢印が表示される。
続いて、図6の綴じ余白603を用いてオブジェクトスナッピングを行う例を図13を用いて説明する。
図13(a)に示すように画像データが配置されている。画像データ1301が綴じ部1302に一番近いに配置されており、綴じ部1302と画像データ1301の左端間の距離が1303である。そのため、綴じ余白(左)603と綴じ余白(右)607に距離1303の値が設定されている。ここでユーザが画像データ1304をドラッグしている状態で画像データ1304と綴じ余白(左)603の距離が規定値よりも小さいと判定された場合について説明する。この場合、画像データ1304にスナッピング処理が適用され、図13(b)に示すように画像データ1304が配置される。つまり、画像データ1304が自動的にガイドライン1305(すなわちスナッピングポイント)に沿うように配置される。この際、ガイドライン1305や距離を示す矢印1303が表示される。以上の処理により、ユーザは、綴じ部を中心として一定の余白を容易に維持したレイアウトを実行できる。
本実施形態により、ドラッグ対象の画像オブジェクトが、見開きページに既に配置されている画像データと見開きページの位置関係に基づいて自動的に配置されるため、ユーザの利便性を向上することが可能となる。
<実施形態2>
続いてオブジェクト間の最小間隔を利用したオブジェクトスナッピングについて説明する。なお、実施形態1と同様の部分については説明を省略する。
本実施形態で使用するオブジェクト間隔の最小値は図5の左右間隔505、上下間隔506、最小間隔507である。なお、これらの値は、ドラッグ開始時に設定される。
図8に示すように見開きページに配置されている画像オブジェクトがオブジェクトリストとして管理されている。CPU711は、このオブジェクト同士の距離を総当たりで調査し、最も近い距離を抽出することでオブジェクト間隔の最小値を特定する。この時、画像オブジェクトの位置関係によりオブジェクト間の距離を算出するケースと算出しないケースがある。図10を用いて説明する。例えば、1001のように距離測定の対象となる2つの画像オブジェクトが横並び、または縦並びの関係にある場合、CPU711は、画像オブジェクト間の距離を算出する。一方、1002のように、基準となる画像オブジェクトAに対して斜線網掛け上に存在する画像オブジェクトは、オブジェクト間の距離を算出する対象から外される。
以降、図9を用いて本実施形態の処理を説明する。ここで、見開きページの座標値を図10の1003に示す。図10の1003に示すように、左上の点を原点として(0、0)が設定されている。X座標値は右方向に向かって大きくなり、Y座標値は下方向に向かって大きくなる。また、例えば画像オブジェクト1004の座標として(Xa、Ya)が設定され、サイズとして(Wa、Ha)が設定されているとする。
CPU711は、図8のリストを走査するためのインデックスiに0をセットし(S901)、インデックスiが示す値が、見開きページに配置されている画像オブジェクトの数より小さいか否かを判定する(S902)。なお、インデックスiに対応する画像オブジェクトを画像オブジェクト(i)と記載する。S902においてYesと判定された場合、CPU711は、インデックスjにi+1を設定して(S903)、S904へと処理を進める。なお、インデックスjに対応する画像オブジェクトを画像オブジェクト(j)と記載する。
CPU711は、インデックスjが示す値が、見開きページに配置されている画像オブジェクトの数より小さいか否かを判定する(S904)。S904においてNoと判定された場合、CPU711は、インデックスiをインクリメントして(S910)、S902へと処理を戻す。
S904においてYesと判定された場合、CPU711は、画像オブジェクト(i)と画像オブジェクト(j)が距離を測定する対象であるか否かを判定する(S905)。すなわち、CPU711は、図10の1002における画像オブジェクトAを画像オブジェクト(i)として特定し、画像オブジェクト(j)が1002の斜線網掛け上に配置されているか否かを判定する。画像オブジェクト(j)が1002の斜線網掛け上に配置されている場合、S904はNoと判定され、画像オブジェクト(j)が1002の斜線網掛け上に配置されていない場合、S905はYesと判定される。
S905においてYesと判定された場合、CPU711は、画像オブジェクト(i)と画像オブジェクト(j)間の距離を算出する(S906)。続いて、CPU711は、S906において算出された距離が左右間隔505(または上下間隔506)より小さいか否かを判定する(S907)。なお、画像オブジェクト(i)と画像オブジェクト(j)が水平方向に並んでいる場合、左右間隔505が使用され、画像オブジェクト(i)と画像オブジェクト(j)が垂直方向に並んでいる場合、上下間隔506が使用される。
S906において算出された距離が左右間隔505(または上下間隔506)より小さいと判定された場合(S907-Yes)について説明する。この場合、CPU711は、S906において算出された距離を左右間隔505(または上下間隔506)に設定し(S908)、S909へ進んでjをインクリメントする。
S902においてNoと判定された場合、CPU711は、左右間隔505の値と上下間隔506の値を比較し、小さい値を最小間隔507に設定して(S911)、図9の処理を終了する。
続いて、以上の処理により設定された最小間隔507を使ったオブジェクトスナッピングについて説明する。なお、図1と合わせて説明するとS105においてNoと判定された場合に、S105とS107の間で図11の処理が実行される。
CPU711は、図8のリストの先頭の画像オブジェクトから判定するために、インデックスiを初期化し(S1101)、インデックスiの値が見開きページに配置されている画像オブジェクトの数よりも小さいか否かを判定する(S1102)。なお、インデックスiに対応する画像オブジェクトを画像オブジェクト(i)と記載する。S1102においてNoと判定された場合、図11の処理は終了する。一方、S1102においてYesと判定された場合、画像オブジェクト(i)がドラッグ対象オブジェクトであるか否かを判定する(S1103)。S1103においてYesと判定された場合、CPU711は、S1108へ進みインデックスiの値をインクリメントして、S1102へと戻る。
一方、S1103においてNoと判定された場合、CPU711は、画像オブジェクト(i)とドラッグ中のオブジェクトの位置関係が、距離を測定する対象位置であるか否かを判定する(S1104)。S1104の判定は、S905の判定と同じであるため詳細な説明は省略する。S1104においてYesと判定された場合、CPU711は、画像オブジェクト(i)とドラッグ中のオブジェクト間の距離を算出する(S1105)。そして、CPU711は、S1105で算出された距離と最小間隔507の差分の絶対値を算出し、規定値よりも小さいか判定する(S1106)。差分の絶対値が任意の規定値より大きい場合(S1106-No)、スナップ範囲外なので図11の処理はS1108へ進み、次のオブジェクトで探索を続ける。差分の絶対値が任意の規定値より小さい場合、CPU711は、スナッピング処理を実行する(S1107)。ここでS1107について具体的に説明する。
CPU711は、画像オブジェクト(i)とドラッグ対象オブジェクトの位置関係に基づいてドラッグ対象オブジェクトを移動(スナッピング)する。以下、具体的に説明する。
まず、画像オブジェクト(i)が見開きページの垂直方向においてドラッグ中のオブジェクトの上に配置されている場合について説明する。この場合、CPU711は、「画像オブジェクト(i)の下端 + 最小間隔」の値をドラッグ対象オブジェクトの上端としてドラッグ対象オブジェクトを移動する。
画像オブジェクト(i)が見開きページの垂直方向においてドラッグ対象オブジェクトの下に配置されている場合、CPU711は、「画像オブジェクト(i)の上端-最小間隔」をドラッグ対象オブジェクトの下端としてドラッグ対象オブジェクトを移動する。
画像オブジェクト(i)が見開きページの水平方向においてドラッグ対象オブジェクトの左に配置されている場合、CPU711は、「画像オブジェクト(i)の右端+最小間隔」をドラッグ対象オブジェクトの左端としてドラッグ対象オブジェクトを移動する。
画像オブジェクト(i)が見開きページの水平方向においてドラッグ対象オブジェクトの右に配置されている場合、CPU711は、「画像オブジェクト(i)の左端-最小間隔」をドラッグ対象オブジェクトの右端としてドラッグ対象オブジェクトを移動する。
以上の処理により、見開きページに既に配置されているオブジェクト間の最小間隔をドラッグ中のドラッグ対象オブジェクトにも適用することが可能となる。
例えば、図14(a)のように画像データ1402が既に配置されていて、画像データ1401がドラッグ対象オブジェクトとする。この場合、画像データ1402が、図11における画像オブジェクト(i)に相当し、基準オブジェクトとなる。ここで、画像データ1402の右端と画像データ1401の左端の距離が最小間隔に基づく規定値よりも小さい(最小間隔を適用する条件に一致した)と判定された場合、最小間隔に基づくオブジェクトスナッピングが実行される。その結果、図14(b)のように画像データ1401と画像データ1402が最小間隔1403となるようにレイアウトされる。つまり、新しく配置されるオブジェクトと基準オブジェクト間の距離が最小間隔1403となる。
さらにユーザが図14(c)のように画像データ1404をドラッグし、画像データ1402の下端と画像データ1404の上端の距離が最小間隔に基づく規定値よりも小さいと判定された場合、最小間隔に基づくオブジェクトスナッピングが実行される。その結果、図14(d)のように画像データ1402と画像データ1404が最小間隔1403となるようにレイアウトされる。
なお、図11の処理を行う際に、オブジェクトのサイズを一致させる処理を実行しても良い。図15を用いて説明する。例えば、S1107においてスナッピング処理を行う際に、CPU711は、画像オブジェクト(i)のサイズをドラッグ中のオブジェクトのサイズに設定する。例えば、図15におけるドラッグ中のドラッグ対象オブジェクトのサイズは、画像オブジェクト(i)のサイズよりも大きい。CPU711は、画像オブジェクト(i)の図8のサイズ802を取得し、ドラッグ対象オブジェクトのサイズに反映する。その結果、画像オブジェクト(i)とドラッグ対象オブジェクト間の距離が最小距離に設定され、かつ、画像オブジェクト(i)のサイズがドラッグ対象オブジェクトに反映される。なお、サイズ802以外の属性がドラッグ対象オブジェクトに反映されても良い。例えば、透明度804、フィルタ効果805および回転角度(不図示)の少なくとも1つがドラッグ対象オブジェクトに反映されても良い。なお、フィルタ効果の一例、画像データ全体をセピア色に変換する処理、モノクロへ変換する処理、ぼかし処理などが挙げられる。
<他の実施形態>
アルバム編集アプリケーション712は、上述した2つの実施形態の機能を全て備えていても良い。
また、上述した実施形態は、アルバム編集アプリケーション712を用いて実行されるものとして説明したが、その限りではない。例えば、オブジェクトデータを新たに配置するようなレイアウト編集アプリケーションを用いて上述した実施形態の処理が実行されても良い。また、配置されるオブジェクトも画像データに限る必要はない。スタンプデータなど他のデータが配置される際に上述した実施形態が適用されても良い。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(CPU、MPU、プロセッサ等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。
また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。

Claims (13)

  1. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域の端部間の距離における最小値を用いて、前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定手段と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行手段を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置されることを特徴とする情報処理装置。
  2. 前記特定手段は、前記見開きページ領域に配置済みのオブジェクトが前記見開き領域の綴じ部にまたがっていない場合、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域における綴じ部間の距離における最小値を用いて前記スナッピングポイントを特定することを特徴とする請求項1に記載の情報処理装置。
  3. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定手段と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行手段を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置され
    前記特定手段は、前記見開きページ領域に配置済みのオブジェクトが前記見開き領域の綴じ部にまたがっていない場合、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域における綴じ部間の距離における最小値を用いて前記スナッピングポイントを特定することを特徴とする情報処理装置。
  4. 前記特定手段は、前記見開きページに配置済みのオブジェクト間の最小間隔を特定し、
    前記見開きページに配置済みのオブジェクトの中の基準オブジェクトと前記見開きページ領域に新規に配置されるオブジェクトとの距離が前記最小間隔を適用する条件に一致する場合、前記見開きページ領域に新規に配置されるオブジェクトと前記基準オブジェクト間が前記最小間隔となるように前記オブジェクトスナッピングが実行されることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定手段と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行手段を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置され、
    前記特定手段は、前記見開きページに配置済みのオブジェクト間の最小間隔を特定し、
    前記見開きページに配置済みのオブジェクトの中の基準オブジェクトと前記見開きページ領域に新規に配置されるオブジェクトとの距離が前記最小間隔を適用する条件に一致する場合、前記見開きページ領域に新規に配置されるオブジェクトと前記基準オブジェクト間が前記最小間隔となるように前記オブジェクトスナッピングが実行されることを特徴とする情報処理装置。
  6. 前記見開きページに配置済みのオブジェクトの中の基準オブジェクトと前記見開きページ領域に新規に配置されるオブジェクトとの距離が前記最小間隔を適用する条件に一致する場合、前記見開きページ領域に新規に配置されるオブジェクトと前記基準オブジェクト間が前記最小間隔となるように前記オブジェクトスナッピングが実行され、かつ、前記基準オブジェクトの属性が前記新規に配置されるオブジェクトに反映されることを特徴とする請求項4または5に記載の情報処理装置。
  7. 前記属性は、サイズ、透明度、フィルタ効果および回転角度の少なくとも1つであることを特徴とする請求項に記載の情報処理装置。
  8. 前記オブジェクトスナッピングが実行された場合、前記スナッピングポイントを示すガイドラインが表示されることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置の制御方法であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域の端部間の距離における最小値を用いて、前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定工程と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行工程を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置されることを特徴とする制御方法。
  10. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置の制御方法であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定工程と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行工程を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置され
    前記特定工程は、前記見開きページ領域に配置済みのオブジェクトが前記見開き領域の綴じ部にまたがっていない場合、前記見開きページ領域に配置済みのオブジェクトと前記見開きページ領域における綴じ部間の距離における最小値を用いて前記スナッピングポイントを特定することを特徴とする制御方法。
  11. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置の制御方法であって、
    前記見開きページ領域に配置されている配置済みオブジェクトと前記見開きページ領域に基づいて前記オブジェクトスナッピングに関わるスナッピングポイントを特定する特定工程と、
    前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに基づく所定の範囲内に配置された場合、前記オブジェクトスナッピングを実行する実行工程を備え、
    前記オブジェクトスナッピングにより前記見開きページ領域に新規に配置されるオブジェクトが前記スナッピングポイントに配置され、
    前記特定工程は、前記見開きページに配置済みのオブジェクト間の最小間隔を特定し、
    前記見開きページに配置済みのオブジェクトの中の基準オブジェクトと前記見開きページ領域に新規に配置されるオブジェクトとの距離が前記最小間隔を適用する条件に一致する場合、前記見開きページ領域に新規に配置されるオブジェクトと前記基準オブジェクト間が前記最小間隔となるように前記オブジェクトスナッピングが実行されることを特徴とする制御方法。
  12. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置のコンピュータを、請求項1乃至8のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
  13. 見開きページ領域に配置されている配置済みのオブジェクトの配置位置に対して自動的に位置を揃えて前記見開きページ領域に新たなオブジェクトを配置するオブジェクトスナッピングを実行可能な情報処理装置のコンピュータを、請求項1乃至8のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
JP2019146640A 2019-08-08 2019-08-08 情報処理装置、制御方法、プログラム及び記憶媒体 Active JP7451106B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019146640A JP7451106B2 (ja) 2019-08-08 2019-08-08 情報処理装置、制御方法、プログラム及び記憶媒体
US16/936,938 US11842042B2 (en) 2019-08-08 2020-07-23 Information processing apparatus, control method, and storage medium
JP2024032181A JP2024055962A (ja) 2019-08-08 2024-03-04 情報処理装置、制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019146640A JP7451106B2 (ja) 2019-08-08 2019-08-08 情報処理装置、制御方法、プログラム及び記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024032181A Division JP2024055962A (ja) 2019-08-08 2024-03-04 情報処理装置、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021026705A JP2021026705A (ja) 2021-02-22
JP7451106B2 true JP7451106B2 (ja) 2024-03-18

Family

ID=74499299

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019146640A Active JP7451106B2 (ja) 2019-08-08 2019-08-08 情報処理装置、制御方法、プログラム及び記憶媒体
JP2024032181A Pending JP2024055962A (ja) 2019-08-08 2024-03-04 情報処理装置、制御方法およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024032181A Pending JP2024055962A (ja) 2019-08-08 2024-03-04 情報処理装置、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US11842042B2 (ja)
JP (2) JP7451106B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112954441B (zh) * 2021-03-02 2023-06-06 北京字节跳动网络技术有限公司 视频编辑及播放方法、装置、设备、介质
US12069209B2 (en) 2021-04-15 2024-08-20 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium that determine whether a current value of a non-position attribute value on which an operation of changing is being performed is within a predefined range

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340992A (ja) 2004-05-25 2005-12-08 Seiko Epson Corp 画像配置装置、画像配置方法およびコンピュータプログラム
JP2006189989A (ja) 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> オブジェクト編集システム、オブジェクト編集方法及びオブジェクト編集プログラム
US20180004401A1 (en) 2016-06-29 2018-01-04 Adobe Systems Incorporated Objects Alignment and Distribution Layout
JP2018019330A (ja) 2016-07-29 2018-02-01 キヤノン株式会社 レイアウト編集装置、レイアウト編集方法、およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
US6144974A (en) * 1996-12-13 2000-11-07 Adobe Systems Incorporated Automated layout of content in a page framework
US20020161772A1 (en) * 2001-02-20 2002-10-31 Bergelson Alan P. Automated procedure for database creation for a form-based data collection system
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
US8127221B2 (en) * 2008-02-29 2012-02-28 Microsoft Corporation Optimal sizes of objects in a document
JP5214480B2 (ja) 2009-01-28 2013-06-19 パナソニックヘルスケア株式会社 診療情報入力装置
US8677268B2 (en) * 2010-01-26 2014-03-18 Apple Inc. Device, method, and graphical user interface for resizing objects
US20140096026A1 (en) * 2012-09-28 2014-04-03 Interactive Memories, Inc. Methods for Establishing Simulated Force Dynamics Between Two or More Digital Assets Displayed in an Electronic Interface
US9436369B2 (en) * 2014-09-26 2016-09-06 Disney Enterprises, Inc. Touch interface for precise rotation of an object
US10339206B2 (en) * 2016-05-17 2019-07-02 Wing Aviation Llc Systems and methods for automatic determination of layout constraints
US10289656B2 (en) * 2017-06-22 2019-05-14 Adobe Inc. Efficiently relocating objects within a digital document to an equidistant position relative to reference objects
US11079917B2 (en) * 2018-09-18 2021-08-03 Salesforce.Com, Inc. Insights panel for presentation slides in a cloud collaboration platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340992A (ja) 2004-05-25 2005-12-08 Seiko Epson Corp 画像配置装置、画像配置方法およびコンピュータプログラム
JP2006189989A (ja) 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> オブジェクト編集システム、オブジェクト編集方法及びオブジェクト編集プログラム
US20180004401A1 (en) 2016-06-29 2018-01-04 Adobe Systems Incorporated Objects Alignment and Distribution Layout
JP2018019330A (ja) 2016-07-29 2018-02-01 キヤノン株式会社 レイアウト編集装置、レイアウト編集方法、およびプログラム

Also Published As

Publication number Publication date
JP2024055962A (ja) 2024-04-19
US20210042001A1 (en) 2021-02-11
US11842042B2 (en) 2023-12-12
JP2021026705A (ja) 2021-02-22

Similar Documents

Publication Publication Date Title
JP5269851B2 (ja) 画像編集装置及びその画像編集方法並びにそのプログラム
US8635549B2 (en) Directly assigning desktop backgrounds
JP2024055962A (ja) 情報処理装置、制御方法およびプログラム
US10402057B2 (en) Display control apparatus and method for calculating gloss parameter during page turn of print preview
JP5629435B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2010143621A1 (ja) 画像処理装置、画像処理方法及び記憶媒体
JP5419979B2 (ja) 情報処理装置、制御方法、プログラム
JP4284547B2 (ja) 画像処理装置
JP2012008884A (ja) 編集装置、編集装置におけるレイアウト編集方法およびプログラム
WO2011001945A1 (ja) 画像処理装置、画像処理方法及び記録媒体
JP7433803B2 (ja) 情報処理装置、制御方法およびプログラム
US12069209B2 (en) Information processing apparatus, information processing method, and storage medium that determine whether a current value of a non-position attribute value on which an operation of changing is being performed is within a predefined range
JP6572940B2 (ja) 情報処理装置、その制御方法、及びプログラム
US20140313533A1 (en) Image processing apparatus, method for displaying preview image, and recording medium
US20230186540A1 (en) Information processing apparatus, information processing method, and storage medium
JP2015217625A (ja) 印刷装置
JP2012141857A (ja) 情報処理装置、guiプログラム及び記録媒体
JP2022164532A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2009205470A (ja) 印刷制御装置およびプログラム
JP6908852B2 (ja) プログラム、情報処理装置とその処理方法
JP2024048138A (ja) プログラム、情報処理装置、及び情報処理方法
JP6572797B2 (ja) サーバ装置、印刷システム、印刷制御方法、及びプログラム
JP2023009584A (ja) 画像処理装置、画像処理方法、およびプログラム
JP6299674B2 (ja) 情報処理装置、制御方法、及びプログラム
JP6388379B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

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: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240306

R151 Written notification of patent or utility model registration

Ref document number: 7451106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151