JP6724605B2 - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP6724605B2
JP6724605B2 JP2016133722A JP2016133722A JP6724605B2 JP 6724605 B2 JP6724605 B2 JP 6724605B2 JP 2016133722 A JP2016133722 A JP 2016133722A JP 2016133722 A JP2016133722 A JP 2016133722A JP 6724605 B2 JP6724605 B2 JP 6724605B2
Authority
JP
Japan
Prior art keywords
processing
information
host
tool
guest
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
JP2016133722A
Other languages
English (en)
Other versions
JP2018005695A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016133722A priority Critical patent/JP6724605B2/ja
Priority to US15/628,760 priority patent/US10540799B2/en
Publication of JP2018005695A publication Critical patent/JP2018005695A/ja
Application granted granted Critical
Publication of JP6724605B2 publication Critical patent/JP6724605B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関する。
画像編集のためのアプリケーションを用いて、オブジェクトの作成や、オブジェクトの色や形の編集を行う技術が知られている。
例えば、画像編集のための様々な機能を提供するための編集ツールを用いて、画像を編集する技術が開示されている。ユーザは、編集ツールを介して、オブジェクトの作成や編集などを操作指示する。アプリケーション側では、操作指示に応じた編集処理をオブジェクトに施す。また、複数の画像処理を順次適用した後に、その中の何れかの処理に遡って編集をやり直したり取り消したりする技術も知られている(例えば、特許文献1参照)。また、アプリケーションに複数のゲストツール(プラグイン)をインストールし、編集機能を拡張することが行われている。この場合、ユーザは、複数のゲストツールの各々を介して、画像編集のための操作指示を行う。
しかし、1つのゲストツールを介して行われた編集処理が、他のゲストツールを介して行われた実行済の編集処理に影響を与える場合があった。このため、従来では、ユーザは、意図する画像編集を行うために、様々な操作指示を行う必要があった。すなわち、従来では、画像編集時の作業効率に問題があった。本発明は、上記に鑑みてなされたものであって、複数のゲストツールを用いて画像編集を行う場合の、作業効率の向上を図ることができる、画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付ける受付部と、受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別する判別部と、前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録する登録部と、前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する配置部と、複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する表示制御部と、を備え、前記受付部は、画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、前記判別部は、受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、前記登録部は、前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、前記配置部は、前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、前記受付部は、前記ホストツールを介した、ユーザによるアンドゥ操作を更に受付け、前記配置部は、前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、前記登録部は、前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって戻された前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、画像処理装置である。
本発明によれば、複数のゲストツールを用いて画像編集を行う場合の、作業効率の向上を図ることができる。
図1は、画像処理装置の機能構成の一例を示すブロック図である。 図2は、操作画面の一例を示す模式図である。 図3は、ホスト処理リストと処理リストの各々の一例を示す模式図である。 図4は、処理情報のデータ構成の一例を示す模式図である。 図5は、処理情報に含まれる論理構造情報の一例を示す説明図である。 図6は、画像処理の流れの一例の説明図である。 図7は、従来の方式の説明図である。 図8は、画像処理装置のハードウェア構成の一例を示す図である。 図9は、画像処理の手順の一例を示す、フローチャートである。 図10は、アンドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。 図11は、リドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
以下、添付図面を参照しながら、本発明に係る画像処理装置、画像処理方法、および画像処理プログラムの実施の形態を詳細に説明する。
図1は、画像処理装置10の機能構成の一例を示すブロック図である。画像処理装置10は、画像編集を行うための装置である。
画像処理装置10は、操作部12と、データ入力部14と、編集部20と、表示部16と、記憶部18と、を備える。
操作部12は、ユーザによって操作される入力デバイスである。操作部12は、例えば、キーボードやマウスなどである。以下においては、操作部12はマウスで構成される場合を例に挙げて説明する。
データ入力部14は、操作部12の操作に応じて指定された電子データ(例えば不図示のメモリに記憶された画像データなど)を不図示のメモリから読み込み、その読み込んだ画像データを記憶部18に記憶する。また、データ入力部14は、その読み込んだ画像データを、表示部16に表示する制御を行う。
表示部16は、各種の画像を表示するデバイスである。表示部16は、例えば液晶型ディスプレイ装置などである。記憶部18は、各種のデータを記録するデバイスである。記憶部18は、例えばハードディスクドライブ装置(HDD)やフラッシュメモリ等の記憶媒体である。
画像処理装置10には、画像編集を行うためのアプリケーションが予めインストールされている。このアプリケーションは、例えば、Adobe Systems(R)社が販売しているIllustratorや、Acrobatなどであるが、これらに限定されない。データ入力部14は、このアプリケーションを実行することによって表示される操作画面を、表示部16へ表示する。ユーザは、操作画面を介して操作指示を入力することで、オブジェクトの作成やオブジェクトの編集を行うことができる。
該アプリケーションには、画像編集に関する基本機能を提供するためのホストツールが導入されている。ホストツールは、画像編集に関する基本機能を提供するためのプログラムであり、該アプリケーションに組み込まれている。
また、画像処理装置10には、該アプリケーションの画像編集機能を拡張するための、複数のゲストツールがインストールされている。ゲストツールは、画像編集に関する、1または複数の拡張機能を提供するためのプラグインである。すなわち、ゲストツールは、該アプリケーション内で動作し、画像編集に関する1または複数種類の機能を提供する。
なお、以下では、ゲストツールおよびホストツールを総称して説明する場合には、単に、ツールと称して説明する場合がある。また、以下では、基本機能および拡張機能を総称して説明する場合、単に、機能と称して説明する場合がある。
画像編集に関する機能は、例えば、オブジェクトの編集機能(色、形、配置、模様、線種、などの編集機能)や、新たなオブジェクトの作成機能などである。本実施の形態では、ゲストツールは、複数種類の機能(すなわち、機能群)を提供する。
ユーザは、操作画面を介して、ホストツールおよび複数のゲストツールの各々を用いて、オブジェクトに対する画像編集に関する操作を行う。
図2は、操作画面40の一例を示す模式図である。図2に示すように、操作画面40は、描画領域48を含む。描画領域48は、画像編集時にユーザによって操作される領域である。描画領域48には、ユーザによる操作部12の操作によって編集・作成されたオブジェクト52を含む表示画像50が表示される。
操作画面40における、描画領域48の周囲には、ホストツールバー42およびゲストツールバー44が表示されている。
ホストツールバー42は、ホストツール32によって提供される基本機能の各々を呼び出すためのツールバーである。ホストツールバー42には、アプリケーションに組み込まれている、画像編集に関する基本機能の一覧が表示される。例えば、ホストツールバー42には、基本機能の各々を示すアイコン画像が表示される。
ユーザは、操作部12を操作することによって、ホストツールバー42に表示されている基本機能の何れか1つを指示すると共に、描画領域48を操作する。これにより、指示した基本機能が呼び出され、ユーザは、該基本機能を用いた画像編集を示す操作を行うことができる。例えば、ユーザは、基本機能を用いて、新たなオブジェクトの作成や、描画領域48に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
ゲストツールバー44は、ゲストツール34によって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー44には、ゲストツール34によって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー44には、拡張機能の各々を示すアイコン画像が表示される。
本実施の形態では、一例として、2種類のゲストツール34(ゲストツールA、ゲストツールB)が、アプリケーションに追加されているものとして説明する。なお、3種類以上のゲストツール34が追加されていてもよい。また、ユーザによる操作部12の操作によって、適宜、新たなゲストツール34を追加してもよい。
具体的には、本実施の形態では、2種類のゲストツール34(ゲストツールA、ゲストツールB)が、アプリケーションに追加されているものとして説明する。
このため、本実施の形態では、操作画面40には、ゲストツールバー44として、ゲストツールバー44Aと、ゲストツールバー44Bと、が表示される。
ゲストツールバー44Aは、ゲストツールAによって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー44Aには、ゲストツールAによって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー44Aには、拡張機能の各々を示すアイコン画像が表示される。
ユーザは、操作部12を操作することによって、ゲストツールバー44Aに表示されている拡張機能の何れか1つを指示すると共に、描画領域48を操作する。これにより、指示した拡張機能が呼び出され、ユーザは、該拡張機能を用いた画像編集を示す操作を行うことができる。例えば、ユーザは、拡張機能を用いて、新たなオブジェクトの作成や、描画領域48に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
同様に、ゲストツールバー44Bは、ゲストツールBによって提供される拡張機能の各々を呼び出すためのツールバーである。ゲストツールバー44Bには、ゲストツールBによって提供される拡張機能の一覧が表示される。例えば、ゲストツールバー44Bには、拡張機能の各々を示すアイコン画像が表示される。
ユーザは、操作部12を操作することによって、ゲストツールバー44Bに表示されている拡張機能の何れか1つを指示すると共に、描画領域48を操作する。これにより、指示した拡張機能が呼び出され、ユーザは、該拡張機能を用いた画像編集を示す操作指示を行うことができる。例えば、ユーザは、拡張機能を用いて、新たなオブジェクトの作成や、描画領域48に表示されているオブジェクトの色、形、配置、模様、線種、などの指定や変更に関する操作を行う。
なお、複数のゲストツール34は、互いに独立である。すなわち、複数のゲストツール34の1つを用いて行われた操作指示は、他のゲストツール34で行われた操作指示に対して影響を与えないものとする。一方、ホストツール32を用いて行われた操作指示は、複数のゲストツール34の全てに対して影響を与えるものとする。
また、本実施の形態では、表示画像50のデータ形式は、PDF(Portable Document Format)であるものとして説明する。なお、表示画像50のデータ形式は、PDFに限定されない。
図1に戻り、説明を続ける。編集部20は、ユーザによる操作部12の操作に応じて、画像の編集処理を行う。編集処理には、作成済のオブジェクト52に対する編集に加えて、新たなオブジェクト52の作成も含まれる。すなわち、編集部20は、新たなオブジェクト52の作成や、オブジェクト52の編集を行う。
編集部20は、受付部22と、画像処理部24と、を含む。
受付部22は、受付部の一例である。受付部22は、ユーザの操作内容を示す操作情報を受付ける。
詳細には、受付部22は、複数のゲストツール34の何れかを用いて、オブジェクト52に対してユーザが操作した、操作内容を示す操作情報を受付ける。具体的には、受付部22は、ゲストツール34の提供する拡張機能を用いて操作した操作内容を示す、操作情報を受付ける。
操作情報は、例えば、操作に用いたゲストツール34の識別情報、用いられた拡張機能、操作された内容(作成または変更されたオブジェクト52の色、形、配置(位置情報)、模様、線種、など)を含む。
また、受付部22は、ホストツール32を用いて、オブジェクト52に対してユーザが操作した、操作内容を示す操作情報を受付ける。具体的には、受付部22は、ホストツール32を用いて、オブジェクト52に対してユーザが操作した、操作内容を示す操作情報を受付ける。
また、受付部22は、複数のゲストツール34の何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。また、受付部22は、ホストツール32を介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。
アンドゥ操作は、行った編集処理を元に戻すことを指示する時の操作を示す。リドゥ操作は、いったん元に戻した編集処理をやり直すことを指示するときの操作を示す。
ホストツールバー42やゲストツールバー44の各々は、アンドゥ操作を指示するためのアンドゥ機能を示すアイコン画像や、リドゥ操作を指示するためのリドゥ機能を示すアイコン画像を含む。
ユーザは、ホストツールバー42またはゲストツールバー44における、アンドゥ機能を示すアイコン画像やリドゥ機能を示すアイコン画像を指示する。これによって、受付部22は、ホストツール32およびゲストツール34(ゲストツールA、ゲストツールB)の各々を介した、アンドゥ操作またはリドゥ操作を受付ける。
画像処理部24は、受付部22で受付けた、操作情報や、アンドゥ操作や、リドゥ操作などに応じて、画像編集を行う。画像処理部24は、判別部25と、登録部26と、配置部27と、表示制御部28と、を含む。
判別部25は、受付部22で受付けた操作情報を示す操作内容の操作に、ホストツール32が用いられたか、ゲストツール34の何れかが用いられたか、を判別する。また、判別部25は、受付部22で受付けた操作情報を示す操作内容の操作に用いられた、ゲストツール34を判別する。
このため、判別部25は、受付部22で受付けた操作情報を示す操作内容の操作に、ホストツール32、ゲストツールA、ゲストツールB、の何れが用いられたかを判別する。
例えば、判別部25は、受付けた操作情報の操作時に選択されていた、ツールを特定することで、この判別を行う。
登録部26は、ゲストツール34ごとに、処理リストを管理する。また、登録部26は、ホストツール32に対応するホスト処理リストを管理する。
処理リストは、操作情報の各々に対応する処理情報を、操作情報の受付順に登録したものである。登録部26は、ゲストツール34と、処理リストと、を1対1で管理する。本実施の形態では、登録部26は、ゲストツールAに対応する処理リストと、ゲストツールBに対応する処理リストと、を管理する。
ホスト処理リストは、処理リストと同様に、操作情報の各々に対応する処理情報を、操作情報の受付順に登録したものである。但し、ホスト処理リストには、ホストツール32を用いて操作された操作情報を含む処理情報と、ゲストツール34の各々を用いて操作された操作情報を含む処理情報と、の双方が、操作情報の受付順に登録される。
図3は、ホスト処理リスト36と、処理リスト38(処理リスト38A、処理リスト38B)と、の各々の一例を示す模式図である。
ホスト処理リスト36は、ホストツール32に対応する処理リストである。処理リスト38Aは、ゲストツールAに対応する処理リスト38である。処理リスト38Bは、ゲストツールBに対応する処理リスト38である。
なお、登録部26は、少なくとも、ゲストツール34の各々に対応する処理リスト38を管理すればよく、ホスト処理リスト36を管理しない形態であってもよい。
ホスト処理リスト36、処理リスト38A、処理リスト38B、の各々には、ユーザによる操作部12の操作の各々に対応する、処理情報37が登録される。
図3に示す例では、処理リスト38(処理リスト38A、処理リスト38B)には、“操作1”〜“操作4”の操作情報を各々含む処理情報37が登録されている。“操作1”〜“操作4”の操作情報は、ゲストツール34を用いた1番目〜4番目の操作の操作内容を示す。登録部26は、処理情報37に含まれる操作情報の示す操作内容の操作に用いられた、ゲストツール34に対応する処理リスト38に、操作情報の受付順に処理情報37を登録する。
また、ホスト処理リスト36には、ホストツール32およびゲストツール34を用いた1番目〜4番目の操作である“操作1”〜“操作4”の操作情報を各々含む処理情報37が、操作情報の受付順に登録されている。
図4は、処理情報37のデータ構成の一例を示す模式図である。処理情報37は、操作情報と、該操作情報を示す操作内容の操作の行われたオブジェクト52の識別情報(以下、オブジェクトIDと称する)と、該操作によって表示される表示画像52の論理構造情報と、を含む。
論理構造情報は、表示画像50に含まれるオブジェクト52に関する論理構造を示す情報である。論理構造情報は、該操作によって表示される表示画像50に含まれるオブジェクト52の各々の、現在の編集状態を示す編集状態情報と、該操作の該操作情報を示す操作内容に対応するオブジェクトの識別情報と、該操作内容の操作に用いられたゲストツール34の識別情報と、を含む。
編集状態情報は、表示画像50に含まれるオブジェクト52の各々の、表示画像50における位置情報と、該操作情報を示す操作内容の操作に用いられたゲストツール34の識別情報と、オブジェクト52に施されている編集内容(色、形、模様、など)と、を含む。
具体的には、論理構造情報は、木構造の頂点である親ノードを基準とし、新たに作成されるオブジェクト52の各々を該親ノードに対する子ノードとして示し、子ノードであるオブジェクト52の各々について、現在の編集状態情報(位置、形、色など)を示した情報である。
図5は、処理情報37に含まれる論理構造情報の一例を示す説明図である。図5に示すように、ゲストツールAに対応する処理リスト38Aに、“操作1”、“操作2”、“操作4”の各々の操作情報を含む処理情報37、処理情報372、処理情報37が登録されていたと仮定する。
そして、1番目の“操作1”で、ゲストツールAを用いて円形のオブジェクト52A1が作成されたとする。また、2番目の“操作2”で、ゲストツールAを用いて三角形のオブジェクト52A2が作成されたとする。また、3番目の“操作3”で、ゲストツールBを用いて星形のオブジェクト52B3が作成されたとする。さらに、4番目の“操作4”で、ゲストツールAを用いてオブジェクト52A2の色が変更されてオブジェクト52A4とされたと仮定する。
この場合、ゲストツールAに対応する処理リスト38Aにおける、“操作1”、“操作2”、“操作4”の各々の操作情報を含む処理情報37、処理情報372、処理情報37の各々に含まれる論理構造情報S1、論理構造情報S2、論理構造情報S3は、例えば、図5に示す木構造で表される。
具体的には、論理構造情報S1は、木構造の頂点である親ノードNを基準とし、円形のオブジェクト52A1を該親ノードNに対する子ノードとして示した木構造で表される。また、該論理構造情報S1は、子ノードである円形のオブジェクト52A1の現在の編集状態情報(例えば、ゲストツールAを用いて作成された円形のオブジェクトであることを示す情報、および、該円形のオブジェクト52A1の位置、形、色など)示す情報を含む。
また、論理構造情報S1には、対応する処理情報37に含まれる操作情報を示す操作内容に対応するオブジェクト52の識別情報と、該操作内容の操作に用いられたゲストツール34の識別情報と、を含む特定情報Tが含まれる。図5に示す例では、論理構造情報S1は、特定情報Tとして、円形のオブジェクト52A1の識別情報と、処理情報37に示される該オブジェクト52A1の操作内容の操作に用いたゲストツールAの識別情報と、を含む。
また、論理構造情報S2は、木構造の頂点である親ノードNを基準とし、円形のオブジェクト52A1と、三角形のオブジェクト52A2と、を該親ノードNに対する子ノードとして示した木構造で表される。また、該論理構造情報S2は、子ノードである円形のオブジェクト52A1の現在の編集状態情報と、子ノードである三角形のオブジェクト52A2の現在の編集状態情報(例えば、ゲストツールAを用いて作成された三角形のオブジェクトであることを示す情報、および、該三角形のオブジェクト52A2の位置、形、色など)を含む。
また、論理構造情報S2には、対応する処理情報37に含まれる操作情報を示す操作内容に対応するオブジェクト52の識別情報と、該操作内容の操作に用いられたゲストツール34の識別情報と、を含む特定情報Tが含まれる。図5に示す例では、論理構造情報S2は、特定情報Tとして、三角形のオブジェクト52A2の識別情報と、処理情報37に示される該オブジェクト52A2の操作内容の操作に用いたゲストツールAの識別情報と、を含む。
また、操作4の処理情報に含まれる、表示画像50の論理構造情報S4は、木構造の頂点である親ノードNを基準とし、円形のオブジェクト52A1と、三角形のオブジェクト52A4と、星形のオブジェクト52B3と、を該親ノードNに対する子ノードとして示した木構造で表される。また、該論理構造情報S4は、子ノードである円形のオブジェクト52A1の現在の編集状態情報と、三角形のオブジェクト52A4の現在の編集状態情報と、星形のオブジェクト52B3の現在の編集状態情報(例えば、ゲストツールBを用いて作成された星形のオブジェクトであることを示す情報、および、該星形のオブジェクト52B3の位置、形、色など)と、を含む。
また、論理構造情報S4には、対応する処理情報37に含まれる操作情報を示す操作内容に対応するオブジェクト52の識別情報と、該操作内容の操作に用いられたゲストツール34の識別情報と、を含む特定情報Tが含まれる。図5に示す例では、論理構造情報S4は、特定情報Tとして、三角形のオブジェクト52A4の識別情報と、処理情報37に示される該オブジェクト52A4の操作内容の操作に用いたゲストツールAの識別情報と、を含む。
図1に戻り、説明を続ける。登録部26は、受付部22で操作情報を受付ける毎に、受付けた操作情報を含む処理情報37を、判別部25で判別されたゲストツール34に対応する処理リスト38に、該操作情報の受付順に登録する。
また、登録部26は、ホストツール32が用いられたと判別された場合、受け付けた操作情報を含む処理情報37を、ホスト処理リスト36に登録する。また、登録部26は、ゲストツール34の何れかが用いられたと判別された場合、受付けた操作情報を含む処理情報37を、判別部25で判別されたゲストツール34に対応する処理リスト38と、ホスト処理リスト36と、の各々に登録する。
このため、処理リスト38(処理リスト38A、処理リスト38B)の各々には、各処理リスト38に対応するゲストツール34を用いて行われた操作内容の処理情報37が、操作情報を受付ける毎に順次登録される。一方、ホスト処理リスト36には、ゲストツール34およびホストツール32の各々を用いて行われた操作内容の処理情報37が、操作情報を受付ける毎に順次登録される。
配置部27は、ホスト処理リスト36および処理リスト38に、現在位置を示すポインタPを配置する。詳細には、図3に示すように、ホスト処理リスト36および処理リスト38の各々について、ホスト処理リスト36および処理リスト38に登録されている処理情報の1つに、ポインタPを配置する。
配置部27は、受付部22で操作情報を受付ける毎に、ホスト処理リスト36および処理リスト38の各々における、受付けた最新の操作情報を含む処理情報37に、現在位置を示すポインタPを配置する。このため、ポインタPの配置された処理情報37が、現在の処理状態に対応する処理情報37を示す。
このため、ユーザによる操作部12の操作によって、ゲストツールバー44Aまたはゲストツールバー44Bを介して、新たな操作情報が入力されるごとに、対応する処理リスト38におけるポインタPの位置が、入力された(受付けた)操作情報の処理情報37に対応する位置に配置される。
また、配置部27は、受付部22でアンドゥ操作を受付けた場合、該アンドゥ操作に用いられたゲストツール34(ゲストツールA、またはゲストツールB)に対応する処理リスト38(処理リスト38A、または処理リスト38B)に配置されたポインタPの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。本実施の形態では、配置部27は、アンドゥ操作を1回受付けるごとに、ポインタPの位置を現在の位置より過去の位置に向かって、1つ戻した位置に配置する。
一方、配置部27は、受付部22でリドゥ操作を受付けた場合、該リドゥ操作に用いられたゲストツール34(ゲストツールA、ゲストツールB)に対応する処理リスト38(処理リスト38A、または処理リスト38B)に配置されたポインタPの位置を、現在の位置から進めた位置に配置する。本実施の形態では、配置部27は、リドゥ操作を1回受付けるごとに、ポインタPの位置を現在の位置から、1つ進めた位置に配置する。
受付部22がホストツール32を介した、ユーザによるアンドゥ操作を更に受付ける場合がある。この場合、配置部27は、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。本実施の形態では、配置部27は、アンドゥ操作を1回受付けるごとに、ポインタPの位置を現在の位置より過去の位置に向かって、1つ戻した位置に配置する。
なお、この場合、登録部26は、ホスト処理リスト36における、配置部27によって戻されたポインタPの配置された処理情報37に基づいて、該処理情報37に含まれる操作情報を示す操作内容の操作に用いられたゲストツール34に対応する処理リスト38(処理リスト38Aまたは処理リスト38B)を更新する。このとき、登録部26は、該処理リスト38におけるポインタPの位置についても更新する。
また、受付部22が、ホストツール32を介した、ユーザによるリドゥ操作を受付ける場合がある。この場合、配置部27は、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より進めた位置に配置する。本実施の形態では、配置部27は、リドゥ操作を1回受付けるごとに、ポインタPの位置を現在の位置から、1つ進めた位置に配置する。
なお、この場合、登録部26は、ホスト処理リスト36における、配置部27によって進められたポインタPの配置された処理情報37に基づいて、該処理情報37に含まれる操作情報を示す操作内容の操作に用いられたゲストツール34に対応する処理リスト38(処理リスト38Aまたは処理リスト38B)を更新する。このとき、登録部26は、該処理リスト38におけるポインタPの位置についても更新する。
表示制御部28は、表示画像50を表示する。本実施の形態では、表示制御部28は、表示画像50を、操作画面40の描画領域48に表示する。
詳細には、表示制御部28は、複数のゲストツール34(ゲストツールA、ゲストツールB)の各々に対応する処理リスト38(処理リスト38A、処理リスト38B)の各々における、最初に登録された処理情報37からポインタPの配置された処理情報37までの各々に応じた編集処理を順に実行したオブジェクト52を含む、表示画像50を、操作画面40の描画領域48に表示する。
例えば、表示制御部28は、複数のゲストツール34の各々に対応する処理リスト38(処理リスト38A、および処理リスト38B)の各々における、ポインタPの配置された処理情報37に含まれる論理構造情報に基づいて、表示画像50を表示する。これによって、表示制御部28は、該編集処理を順に実行したオブジェクト52を含む表示画像50を、描画領域48に表示する。すなわち、表示制御部28は、論理構造情報に含まれる、オブジェクト52の各々の現在の編集状態情報に基づいて、論理構造情報に含まれるオブジェクト52の各々を現在の編集状態となるように配置することで、表示画像50を生成し、操作画面40に表示する。
図6は、本実施の形態の画像処理装置10を用いた、画像処理の流れの一例の説明図である。
例えば、図6(A)に示すように、ユーザが1回目の“操作1”の操作によって、ゲストツールAを用いて、円形のオブジェクト52A1を描画したとする。すると、受付部22は、ゲストツールAの識別情報、用いられた拡張機能、操作された内容(ここでは、円形のオブジェクト52A1の作成)を含む、操作情報を受付ける。この場合、登録部26は、該“操作1”の操作情報を含む処理情報37を、ホスト処理リスト36およびゲストツールAの処理リスト38Aに登録する。また、配置部27は、ホスト処理リスト36および処理リスト38Aの各々における、該“操作1”の処理情報37に、ポインタPを配置する。この場合、表示制御部28は、“操作1”の処理情報37に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト52A1を含む表示画像50を表示する。
次に、図6(B)に示すように、ユーザが2回目の“操作2”の操作によって、ゲストツールAを用いて、三角形のオブジェクト52A2を描画したとする。すると、受付部22は、ゲストツールAの識別情報、用いられた拡張機能、操作された内容(ここでは、三角形のオブジェクト52A2の作成)を含む、操作情報を受付ける。この場合、登録部26は、該“操作2”の操作情報を含む処理情報37を、ホスト処理リスト36およびゲストツールAの処理リスト38Aの最後尾に登録する。また、配置部27は、ホスト処理リスト36および処理リスト38Aの各々における、該“操作2”の処理情報37に、ポインタPを配置する。
この場合、表示制御部28は、“操作1”および“操作2”の処理情報37に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト52A1および三角形のオブジェクト52A2を含む、表示画像50を表示する。
次に、図6(C)に示すように、ユーザが3回目の“操作3”の操作によって、ゲストツールBを用いて、星形のオブジェクト52B3を描画したとする。すると、受付部22は、ゲストツールBの識別情報、用いられた拡張機能、操作された内容(ここでは、星形のオブジェクト52B3の作成)を含む、操作情報を受付ける。この場合、登録部26は、該“操作3”の操作情報を含む処理情報37を、ホスト処理リスト36およびゲストツールBの処理リスト38Bの最後尾に登録する。また、配置部27は、ホスト処理リスト36および処理リスト38Bの各々における、該“操作3”の処理情報37に、ポインタPを配置する。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”および“操作2”の処理情報37に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト52A1および三角形のオブジェクト52A2と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
次に、図6(D)に示すように、ユーザが3回目の“操作3”の操作によって、ゲストツールAを用いて、三角形のオブジェクト52A2の色を変更し、オブジェクト52A4とする操作を行ったとする。すると、受付部22は、ゲストツールAの識別情報、用いられた拡張機能、操作された内容(ここでは、三角形のオブジェクト52A2の色を変更して、オブジェクト52A4とする、色変更)を含む、操作情報を受付ける。この場合、登録部26は、該“操作4”の操作情報を含む処理情報37を、ホスト処理リスト36およびゲストツールAの処理リスト38Aに登録する。また、配置部27は、ホスト処理リスト36および処理リスト38Aの各々における、該“操作4”の処理情報37に、ポインタPを配置する。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”、“操作2”、“操作4”の処理情報37に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト52A1、および色の変更された三角形のオブジェクト52A4と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
次に、図6(E)に示すように、ユーザが、ゲストツールバー44Aを操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部22は、ユーザによる“操作5”の操作によって、操作に用いたゲストツールAの識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部26は、ゲストツールAに対応する処理リスト38Aに配置されたポインタPの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、処理リスト38AにおけるポインタPの位置は、“操作4”の処理情報37を示す位置から、一つ前の処理情報37である“操作2”の処理情報37を示す位置に動かされる。一方、処理リスト38BのポインタPの位置は変更されない。
また、この場合、登録部26は、“操作5”の操作によって受付けた、操作に用いたゲストツールAの識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報37を、ホスト処理リスト36に登録する。また、配置部27は、ホスト処理リスト36における、該“操作5”の処理情報に、ポインタPを配置する(すなわちポインタPを移動させる)。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”、“操作2”の処理情報37に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト52A1、および色の変更前の三角形のオブジェクト52A2と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
次に、図6(F)に示すように、ユーザが、ゲストツールバー44Aを操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部22は、ユーザによる“操作6”の操作によって、操作に用いたゲストツールAの識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部26は、ゲストツールAに対応する処理リスト38Aに配置されたポインタPの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、処理リスト38AにおけるポインタPの位置は、“操作2”の処理情報37を示す位置から、一つ前の処理情報37である“操作1”の処理情報37を示す位置に動かされる。一方、処理リスト38BのポインタPの位置は変更されない。
また、この場合、登録部26は、“操作6”の操作によって受付けた、操作に用いたゲストツールAの識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報37を、ホスト処理リスト36に登録する。また、配置部27は、ホスト処理リスト36における、該“操作6”の処理情報に、ポインタPを配置する(すなわちポインタPを移動させる)。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”の処理情報37に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト52A1と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
次に、図6(G)に示すように、ユーザが7回目の“操作7”の操作によって、ゲストツールAを用いて、逆三角形のオブジェクト52A7を描画したとする。すると、受付部22は、ゲストツールAの識別情報、用いられた拡張機能、操作された内容(ここでは、逆三角形のオブジェクト52A7の作成)を含む、操作情報を受付ける。この場合、登録部26は、該“操作7”の操作情報を含む処理情報37を、ホスト処理リスト36の最後尾に登録する。また、登録部26は、処理リスト38Aにおける、現在ポインタPの位置している“操作1”の示す処理情報37より後に登録された、処理情報37(“操作2”および“操作4”の各々の処理情報37(図6(F)参照))を削除した後に、最後尾に“操作7”の操作情報を含む処理情報37を登録する(図6(G)参照)。また、配置部27は、ホスト処理リスト36および処理リスト38Aの各々における、該“操作7”の処理情報37に、ポインタPを配置する。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”および“操作7”の処理情報37に含まれる操作情報に応じた編集処理を順に実行した、円形のオブジェクト52A1および逆三角形のオブジェクト52A7と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
次に、図6(H)に示すように、ユーザが、ホストツールバー42を操作することで、アンドゥ機能を操作指示したとする。この場合、例えば、受付部22は、ユーザによる操作によって、操作に用いたホストツール32の識別情報と、アンドゥ操作を示す情報と、を受付ける。すると、登録部26は、ホスト処理リスト36に配置されたポインタPの位置を、現在より一つ過去の位置に戻した位置に配置する。このため、ホスト処理リスト36におけるポインタPの位置は、“操作7”の処理情報37を示す位置から、一つ前の処理情報37である“操作6”の処理情報37を示す位置に動かされる。一方、処理リスト38BのポインタPの位置は変更されない。
また、この場合、登録部26は、ホスト処理リスト36におけるポインタPの示す“操作6”の処理情報37に基づいて、処理リスト38Aを更新する。具体的には、登録部26は、該“操作6”の処理情報37に含まれる、論理構造情報を用いて、“操作6”の示す編集状態となるように、処理リスト38Aを更新する。このとき、登録部26は、ポインタPの位置も更新する。このため、図6(H)に示すように、処理リスト38Aは、“操作1”、“操作2”、“操作4”の各々の処理情報37をこの順に登録し、且つ、ポインタPを“操作1”の処理情報37を示す位置に配置したものとなるように、更新される。
この場合、表示制御部28は、処理リスト38Aにおける“操作1”の処理情報37に含まれる操作情報に応じた編集処理を実行した、円形のオブジェクト52A1と、処理リスト38Bにおける“操作3”の処理情報37に含まれる操作情報に応じた編集処理を実行した星形のオブジェクト52B3と、を含む、表示画像50を表示する。
このように、本実施の形態では、ゲストツール34の各々ごとに処理リスト38を管理し、処理リスト38を用いて表示画像50を表示する。このため、画像編集時の作業効率の向上を図ることができる。
ここで、複数のゲストツール34(ゲストツールA、ゲストツールB)の内の1つのゲストツール34(例えばゲストツールA)を用いて作成・編集したオブジェクト52に対してのみ、アンドゥ操作やリドゥ操作を実行するためには、表示画像50の論理構造情報を、各ゲストツール34で管理しておく必要がある。
上述したように、処理リスト38に含まれる、各操作の各々に対応する処理情報37の各々には、表示画像50の論理構造情報が含まれる。このため、画像処理装置10は、該論理構造情報を用いることで、複数のゲストツール34(ゲストツールA、ゲストツールB)の内の1つのゲストツール34(例えばゲストツールA)を用いて作成・編集したオブジェクト52に対してのみ、アンドゥ操作やリドゥ操作を実行することができる。
一方、従来では、1つのゲストツールを介して行われた操作指示の示す編集処理が、他のゲストツールを介して行われた実行済の編集処理に影響を与える場合があった。このため、従来では、ユーザは、意図する画像編集を行うために、様々な操作指示を行う必要があった。
図7は、従来の方式の説明図である。従来では、複数のゲストツール34を介して行われた操作指示を示す情報を、1つのリストで管理していた。このため、図7に示すような不都合が発生する場合があった。
具体的には、図7(A)は、ゲストツールAとゲストツールBの操作を交互に行った場合の、リストの状態の一例を示す図である。図7(A)に示すように、“操作1”〜“操作4”を順に行うことで、ゲストツールAを用いて丸いオブジェクトを描画、ゲストツールAを用いて三角形のオブジェクトを描画、ゲストツールBを用いて星形のオブジェクトを描画、ゲストツールAを用いて三角形のオブジェクトの色を変更、を順に行ったと仮定する。この場合、ポインタPは、“操作4”を示している。
図7(B)は、ユーザによる操作指示によって、“操作4”から“操作1”までアンドゥ操作されたときの状態を示す図である。図7(B)に示すように、従来では、“操作1”まで戻した場合、ゲストツールBで描画した星型のオブジェクトが表示されなくなっていた。
図7(C)は、更に、ユーザによる操作指示によって、ゲストツールAを用いて新たな操作が行われた場合の、リストの状態の一例を示す図である。図7(C)に示すように、図7(B)に示す状態から、ゲストツールAを用いて新たな“操作2’”が行われて、逆三角形のオブジェクトが描画されたとする。この場合、リストに登録されていた、該アンドゥ操作前の操作を示す情報(ここでは、“操作2”〜“操作4”の情報)が削除されていた。
このように、従来では、ゲストツールAとゲストツールBの操作を交互に行った場合、ゲストツールAの操作に対応する処理情報のみについて、アンドゥ操作を適用しようとしても、ゲストツールBの操作に対応する情報についてもアンドゥ操作が適用されていた。このため、ゲストツールBを用いて描画したオブジェクト(ここでは、星形のオブジェクト)が消去されてしまっていた。
このため、再度、星形のオブジェクトを描画するためには、ユーザは、再度ゲストツールBを用いた操作を行う必要があった。すなわち、従来の方式では、複数のゲストツールを用いて画像編集を行う場合の、作業効率が低下していた。
一方、本実施の形態の画像処理装置10では、ゲストツール34の各々ごとに処理リスト38を管理する。また、処理リスト38に含まれる、各操作の各々に対応する処理情報37の各々には、表示画像50の論理構造情報が含まれる。
このため、図6を用いて説明したように、複数のゲストツール34を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
具体的には、図6を用いて説明したように、本実施の形態の画像処理装置10を用いて、図6(D)に示す“操作4”の表示画像50が表示されているときに、ゲストツールAを用いてアンドゥ操作が行われ(図6(E)参照)、更に、もう一度、アンドゥ操作が行われたとする(図6(F)参照)。このような場合、本実施の形態の画像処理装置10では、操作されたゲストツールAについてのみアンドゥ操作が有効となり、操作されていないゲストツールBについてはアンドゥ操作が適用されない。このため、図6(E)および図6(F)に示すように、ゲストツールAを用いてアンドゥ操作が行われた場合、ゲストツールBを用いて作成・編集された星形のオブジェクト52B3が消去されずに、表示画像50に残る。
このため、本実施の形態の画像処理装置10では、複数のゲストツール34を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
次に、画像処理装置10のハードウェア構成を説明する。図8は、画像処理装置10のハードウェア構成の一例を示す図である。図8に示すように、画像処理装置10は、CPU(Central Processing Unit)60と、ROM61やRAM62、VRAM63などのメモリと、HDD等の記憶部64と、ディスプレイなどの表示部65と、キーボードやマウスなどの操作部66と、入出力インタフェースなどのI/O67とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施形態では、CPU60が、ROM61等に格納されたプログラムをRAM62上に読み出して実行することにより、上述のデータ入力部14、編集部20(受付部22、画像処理部24(判別部25、登録部26、配置部27、表示制御部28))の各々の機能が実現される。なお、これに限らず、例えば上述のデータ入力部14、編集部20(受付部22、画像処理部24(判別部25、登録部26、配置部27、表示制御部28))のうちの少なくとも一部を、専用のハードウェア回路(例えば半導体集積回路等)で実現してもよい。また、この例では、上述の操作部12は、操作部66により実現され、上述の表示部16は、表示部65により実現される。また、上述の記憶部18は、例えば記憶部64等により実現することができる。
なお、上述のCPU60が実行するプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上述のCPU60が実行するプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述のCPU60が実行する制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
次に、画像処理装置10が実行する画像処理の手順の一例を説明する。図9は、画像処理装置10が実行する画像処理の手順の一例を示す、フローチャートである。
まず、受付部22が、操作情報を受付けたか否かを判断する(ステップS100)。ステップS100で否定判断すると(ステップS100:No)、本ルーチンを終了する。ステップS100で肯定判断すると(ステップS100:Yes)、ステップS102へ進む。
ステップS102では、判別部25が、ステップS100で受付けた操作情報を示す操作内容の操作に、ホストツール32が用いられたか、ゲストツール34の何れかが用いられたか、を判別する(ステップS102)。
ホストツール32が用いられたと判別した場合(ステップS102:Yes)、ステップS104へ進む。ステップS104では、登録部26が、ステップS100で受け付けた操作情報を含む処理情報37を、ホスト処理リスト36の末尾に登録する(ステップS104)。次に、配置部27が、ホスト処理リスト36における、ステップS104で登録された処理情報37に、ポインタPを配置する(ステップS106)。そして、後述するステップS108へ進む。
一方、ステップS102でゲストツール34であると判別した場合(ステップS102:No)、ステップS110へ進む。
ステップS110では、判別部25が、ステップS100で受付けた操作情報を示す操作内容の操作に、ゲストツール34の何れが用いられたかを判別する(ステップS110)。本実施の形態では、判別部25は、ゲストツールAおよびゲストツールBの何れが用いられたかを判別する。
ゲストツールAが用いられたと判別した場合(ステップS110:Yes)、ステップS112へ進む。ステップS112では、登録部26が、ゲストツールAに対応する処理リスト38Aの末尾に、ステップS100で受付けた操作情報を含む処理情報37を登録する(ステップS112)。次に、配置部27が、処理リスト38Aにおける、ステップS112で登録された処理情報37に、ポインタPを配置する(ステップS114)。
次に、登録部26が、ホストツール32に対応するホスト処理リスト36の末尾に、ステップS100で受付けた操作情報を含む処理情報37を登録する(ステップS116)。ステップS116で登録される処理情報37と、ステップS112で登録される処理情報37と、は同じ内容を示す。
次に、配置部27が、ホスト処理リスト36における、ステップS116で登録された処理情報37に、ポインタPを配置する(ステップS118)。そして、後述するステップS108へ進む。
一方、ステップS110で、判別部25が、ゲストツールBが用いられたと判別した場合(ステップS110:No)、ステップS120へ進む。ステップS120では、登録部26が、ゲストツールBに対応する処理リスト38Bの末尾に、ステップS100で受付けた操作情報を含む処理情報37を登録する(ステップS120)。次に、配置部27が、処理リスト38Bにおける、ステップS120で登録された処理情報37に、ポインタPを配置する(ステップS122)。
次に、登録部26が、ホストツール32に対応するホスト処理リスト36の末尾に、ステップS100で受付けた操作情報を含む処理情報37を登録する(ステップS124)。ステップS124で登録される処理情報37と、ステップS120で登録される処理情報37と、は同じ内容を示す。
次に、配置部27が、ホスト処理リスト36における、ステップS124で登録された処理情報37に、ポインタPを配置する(ステップS126)。そして、後述するステップS108へ進む。
ステップS108では、表示制御部28が、複数のゲストツール34(ゲストツールA、ゲストツールB)の各々に対応する処理リスト38(処理リスト38A、処理リスト38B)の各々に基づいて、表示画像50を表示部16の操作画面40へ表示する(ステップS108)。例えば、表示制御部28は、複数のゲストツール34の各々に対応する処理リスト38(処理リスト38A、および処理リスト38B)の各々における、ポインタPの配置された処理情報37に含まれる論理構造情報に基づいて、表示画像50を表示する。すなわち、表示制御部28は、論理構造情報に含まれる、オブジェクト52の各々の現在の編集状態情報に基づいて、論理構造情報に含まれるオブジェクト52の各々を現在の編集状態となるように配置することで、表示画像50を生成し、操作画面40に表示する。そして、本ルーチンを終了する。
次に、図9に示す画像処理において、画像処理装置10が実行する割込み処理の一例を説明する。図10は、アンドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
まず、受付部22がアンドゥ操作を受付けたか否かを判断する(ステップS200)。ステップS200で否定判断すると(ステップS200:No)、本ルーチンを終了する。ステップS200で肯定判断すると(ステップS200:Yes)、ステップS202へ進む。
ステップS202では、判別部25が、ステップS200で受付けたアンドゥ操作に、ゲストツール34が用いられたか否かを判断する(ステップS202)。ゲストツール34が用いられたと判断した場合(ステップS202:Yes)、ステップS204へ進む。
ステップS204では、配置部27が、該アンドゥ操作に用いられたゲストツール34(ゲストツールA、またはゲストツールB)に対応する処理リスト38(処理リスト38A、または処理リスト38B)に配置されたポインタPの位置を、現在の位置より過去の位置に向かって1つ戻した位置に配置する(ステップS204)。
次に、配置部27は、ホスト処理リスト36の最後尾に、該アンドゥ操作に用いたゲストツール34(ゲストツールAまたはゲストツールB)の識別情報と、アンドゥ操作を示す情報と、論理構造情報と、を含む処理情報37を登録する(ステップS206)。また、配置部27は、ホスト処理リスト36における、現在のポインタPの位置を、一つ進めた位置に配置する(ステップS208)。ステップS208の処理によって、ホスト処理リスト36における、ステップS206で登録された処理情報37の位置にポインタPが配置される。
次に、表示制御部28が表示画像50を更新する(ステップS210)。すなわち、例えば、表示制御部28は、複数のゲストツール34の各々に対応する処理リスト38(処理リスト38A、および処理リスト38B)の各々における、ポインタPの配置された処理情報37に含まれる論理構造情報に基づいて、表示画像50を表示する。そして、本ルーチンを終了する。
このため、操作されたゲストツール34(ゲストツールAまたはゲストツールB)についてのみアンドゥ操作が有効とされた、表示画像50が表示される。また、この表示画像50には、操作されていないゲストツール34(ゲストツールAまたはゲストツールB)については、アンドゥ操作は適用されない。
一方、ステップS202でホストツール32が用いられたと判断した場合(ステップS202:No)、ステップS212へ進む。ステップS212では、配置部27が、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より過去の位置に向かって1つ戻した位置に配置する(ステップS212)。
次に、登録部26が、該アンドゥ操作された処理情報37の操作情報は、ゲストツール34を用いて操作したものか否かを判断する(ステップS214)。ステップS214で否定判断すると(ステップS214:No)、後述するステップS218へ進む。
ステップS214で肯定判断すると(ステップS214:Yes)、ステップS216へ進む。ステップS216では、ステップS214で判断したゲストツール34(ゲストツールAまたはゲストツールB)に対応する処理リスト38(処理リスト38Aまたは処理リスト38B)を、ホスト処理リスト36における、ステップS212で配置されたポインタPの示す処理情報37に基づいて更新する(ステップS216)。
次に、ステップS218では、表示制御部28が、ステップS210と同様にして、表示画像50を更新する(ステップS218)。そして、本ルーチンを終了する。
次に、図9に示す画像処理において、画像処理装置10が実行する、他の割込み処理の一例を説明する。図11は、リドゥ操作を受付けた場合の、割込み処理の手順の一例を示す、フローチャートである。
まず、受付部22がリドゥ操作を受付けたか否かを判断する(ステップS300)。ステップS300で否定判断すると(ステップS300:No)、本ルーチンを終了する。ステップS300で肯定判断すると(ステップS300:Yes)、ステップS302へ進む。
ステップS302では、判別部25が、ステップS300で受付けたリドゥ操作に、ゲストツール34が用いられたか否かを判断する(ステップS302)。ゲストツール34が用いられたと判断した場合(ステップS302:Yes)、ステップS304へ進む。
ステップS304では、配置部27が、該リドゥ操作に用いられたゲストツール34(ゲストツールA、またはゲストツールB)に対応する処理リスト38(処理リスト38A、または処理リスト38B)に配置されたポインタPの位置を、現在の位置から1つ進めた位置に配置する(ステップS304)。
次に、配置部27は、ホスト処理リスト36の最後尾に、該リドゥ操作に用いたゲストツール34(ゲストツールAまたはゲストツールB)の識別情報と、リドゥ操作を示す情報と、論理構造情報と、を含む処理情報37を登録する(ステップS306)。また、配置部27は、ホスト処理リスト36における、現在のポインタPの位置を、一つ進めた位置に配置する(ステップS308)。ステップS308の処理によって、ホスト処理リスト36における、ステップS306で登録された処理情報37の位置にポインタPが配置される。
次に、表示制御部28が表示画像50を更新する(ステップS310)。すなわち、例えば、表示制御部28は、複数のゲストツール34の各々に対応する処理リスト38(処理リスト38A、および処理リスト38B)の各々における、ポインタPの配置された処理情報37に含まれる論理構造情報に基づいて、表示画像50を表示する。そして、本ルーチンを終了する。
このため、操作されたゲストツール34(ゲストツールAまたはゲストツールB)についてのみリドゥ操作が有効とされた、表示画像50が表示される。また、この表示画像50には、操作されていないゲストツール34(ゲストツールAまたはゲストツールB)については、リドゥ操作は適用されない。
一方、ステップS302でホストツール32が用いられたと判断した場合(ステップS302:No)、ステップS312へ進む。ステップS312では、配置部27が、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より1つ進めた位置に配置する(ステップS312)。
次に、登録部26が、該リドゥ操作された処理情報37の操作情報は、ゲストツール34を用いて操作したものか否かを判断する(ステップS314)。ステップS314で否定判断すると(ステップS314:No)、後述するステップS318へ進む。
ステップS314で肯定判断すると(ステップS314:Yes)、ステップS316へ進む。ステップS316では、ステップS314で判断したゲストツール34(ゲストツールAまたはゲストツールB)に対応する処理リスト38(処理リスト38Aまたは処理リスト38B)を、ホスト処理リスト36における、ステップS312で配置されたポインタPの示す処理情報37に基づいて更新する(ステップS316)。
次に、ステップS318では、表示制御部28が、ステップS310と同様にして、表示画像50を更新する(ステップS318)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の画像処理装置10は、受付部22と、判別部25と、登録部26と、配置部27と、表示制御部28と、を備える。受付部22は、画像編集に関する拡張機能を提供するための複数のゲストツール34の何れかを用いて、オブジェクト52に対してユーザが操作した操作内容を示す操作情報を受付ける。判別部25は、受付けた操作情報を示す操作内容の操作に用いられたゲストツール34を判別する。登録部26は、操作情報を受付ける毎に、受付けた操作情報を含む処理情報37を、判別されたゲストツール34に対応する処理リスト38に、該操作情報の受付順に登録する。配置部27は、操作情報を受付ける毎に、該処理リスト38における、受付けた最新の操作情報を含む処理情報37に、現在位置を示すポインタPを配置する。表示制御部28は、複数のゲストツール34の各々に対応する処理リスト36の各々における、最初に登録された処理情報37からポインタPの配置された処理情報37までの各々に応じた編集処理を順に実行したオブジェクト52を含む、表示画像50を表示する。
このように、本実施の形態の画像処理装置10では、ゲストツール34の各々ごとに処理リスト38を管理し、これらの処理リスト38を用いて表示画像50を表示する。このため、1つのゲストツール34を介して行われた編集処理が、他のゲストツール34を介して行われた実行済の編集処理に影響を与えることを抑制することができる。
従って、本実施の形態の画像処理装置10では、複数のゲストツール34を用いて画像編集を行う場合の、作業効率の向上を図ることができる。
処理情報37は、操作情報、操作情報を示す操作内容の操作の行われたオブジェクト52の識別情報、および該操作によって表示される表示画像50の論理構造情報を含む。
論理構造情報は、表示画像50に含まれるオブジェクト52の各々の現在の編集状態情報と、該操作情報を示す操作内容に対応するオブジェクト52の識別情報と、該操作内容の操作に用いられたゲストツール34の識別情報と、を含む。
表示制御部28は、複数のゲストツール34の各々に対応する処理リスト38の各々における、ポインタPの配置された処理情報37に含まれる論理構造情報に基づいて、表示画像50を表示する。
受付部22は、複数のゲストツール34の何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付ける。配置部27は、アンドゥ操作を受付けた場合、該アンドゥ操作に用いられたゲストツール34に対応する処理リスト38に配置されたポインタPの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。配置部27は、リドゥ操作を受付けた場合、該リドゥ操作に用いられたゲストツール34に対応する処理リスト38におけるポインタPの位置を、現在の位置から進めた位置に配置する。
受付部22は、画像編集に関する基本機能を提供するためのホストツール32を用いて、オブジェクト52に対してユーザが操作した操作内容を示す操作情報を更に受付ける。判別部25は、受付けた操作情報を示す操作内容の操作にホストツール32が用いられたか、および、ゲストツール34の何れかが用いられたか、を更に判別する。登録部26は、ホストツール32が用いられたと判別された場合、受け付けた該操作情報を含む処理情報37をホスト処理リスト36に登録する。登録部26は、ゲストツール34の何れかが用いられたと判別された場合、受付けた操作情報を含む処理情報37を、判別されたゲストツール34に対応する処理リスト38およびホストツール32に対応するホスト処理リスト36に登録する。配置部27は、操作情報を受付ける毎に、処理リスト36およびホスト処理リスト38の各々における、受付けた最新の操作情報を含む処理情報37に、現在位置を示すポインタPを配置する。
受付部22は、ホストツール32を介した、ユーザによるアンドゥ操作を更に受付ける。配置部27は、ホストツール32を介したアンドゥ操作を受付けた場合、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より過去の位置に向かって戻した位置に配置する。登録部26は、ホストツール32を介したアンドゥ操作を受付けた場合、ホスト処理リスト36における配置部27によって戻されたポインタPの配置された処理情報37に基づいて、該処理情報37に含まれる操作情報を示す操作内容の操作に用いられたゲストツール34に対応する処理リスト38を更新する。
受付部22は、ホストツール32を介した、ユーザによるリドゥ操作を更に受付ける。配置部27は、ホストツール32を介したリドゥ操作を受付けた場合、ホスト処理リスト36に配置されたポインタPの位置を、現在の位置より進めた位置に配置する。登録部26は、ホストツール32を介したリドゥ操作を受付けた場合、ホスト処理リスト36における配置部27によって進められたポインタPの配置された処理情報37に基づいて、該処理情報37に含まれる操作情報を示す操作内容の操作に用いられたゲストツール34に対応する処理リスト38を更新する。
本実施の形態の画像処理方法は、画像編集に関する拡張機能を提供するための複数のゲストツール34の何れかを用いて、オブジェクト52に対してユーザが操作した操作内容を示す操作情報を受付けるステップと、受付けた操作情報を示す操作内容の操作に用いられたゲストツール34を判別するステップと、操作情報を受付ける毎に、受付けた操作情報を含む処理情報37を、判別されたゲストツール34に対応する処理リスト38に、該操作情報の受付順に登録するステップと、操作情報を受付ける毎に、該処理リスト38における、受付けた最新の操作情報を含む処理情報37に、現在位置を示すポインタPを配置するステップと、複数のゲストツール34の各々に対応する処理リスト38の各々における、最初に登録された処理情報37に含まれる操作情報からポインタPの配置された処理情報37までの各々に応じた編集処理を順に実行したオブジェクト52を含む、表示画像50を表示するステップと、を含む。
また、本実施の形態の画像処理プログラムは、画像編集に関する拡張機能を提供するための複数のゲストツール34の何れかを用いて、オブジェクト52に対してユーザが操作した操作内容を示す操作情報を受付けるステップと、受付けた操作情報を示す操作内容の操作に用いられたゲストツール34を判別するステップと、操作情報を受付ける毎に、受付けた操作情報を含む処理情報37を、判別されたゲストツール34に対応する処理リスト38に、該操作情報の受付順に登録するステップと、操作情報を受付ける毎に、該処理リスト38における、受付けた最新の操作情報を含む処理情報37に、現在位置を示すポインタPを配置するステップと、複数のゲストツール34の各々に対応する処理リスト38の各々における、最初に登録された処理情報37に含まれる操作情報からポインタPの配置された処理情報37までの各々に応じた編集処理を順に実行したオブジェクト52を含む、表示画像50を表示するステップと、をコンピュータに実行させるための、画像処理プログラムである。
なお、上記には、本実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 画像処理装置
22 受付部
25 判別部
26 登録部
27 配置部
28 表示制御部
特開2011−248478号公報

Claims (11)

  1. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付ける受付部と、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別する判別部と、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録する登録部と、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する配置部と、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する表示制御部と、
    を備え
    前記受付部は、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別部は、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録部は、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置部は、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付部は、
    前記ホストツールを介した、ユーザによるアンドゥ操作を更に受付け、
    前記配置部は、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
    前記登録部は、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって戻された前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    画像処理装置。
  2. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付ける受付部と、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別する判別部と、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録する登録部と、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置する配置部と、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示する表示制御部と、
    を備え、
    前記受付部は、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別部は、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録部は、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置部は、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付部は、
    前記ホストツールを介した、ユーザによるリドゥ操作を更に受付け、
    前記配置部は、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より進めた位置に配置し、
    前記登録部は、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって進められた前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    画像処理装置。
  3. 前記処理情報は、前記操作情報、前記操作情報を示す前記操作内容の操作の行われたオブジェクトの識別情報、および該操作によって表示される前記表示画像の論理構造情報を含む、請求項1または2に記載の画像処理装置。
  4. 前記論理構造情報は、前記表示画像に含まれるオブジェクトの各々の現在の編集状態情報と、該操作情報を示す操作内容に対応するオブジェクトの識別情報と、該操作内容の操作に用いられた前記ゲストツールの識別情報と、を含む、請求項に記載の画像処理装置。
  5. 前記表示制御部は、複数の前記ゲストツールの各々に対応する前記処理リストの各々における、前記ポインタの配置された前記処理情報に含まれる前記論理構造情報に基づいて、前記表示画像を表示する、請求項に記載の画像処理装置。
  6. 前記受付部は、
    複数の前記ゲストツールの何れかを介した、ユーザによるアンドゥ操作またはリドゥ操作を受付け、
    前記配置部は、
    前記アンドゥ操作を受付けた場合、該アンドゥ操作に用いられた前記ゲストツールに対応する前記処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
    前記リドゥ操作を受付けた場合、該リドゥ操作に用いられた前記ゲストツールに対応する前記処理リストにおける前記ポインタの位置を、現在の位置から進めた位置に配置する、
    請求項1〜請求項の何れか1項に記載の画像処理装置。
  7. 前記受付部は、
    前記ホストツールを介した、ユーザによるリドゥ操作を更に受付け、
    前記配置部は、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より進めた位置に配置し、
    前記登録部は、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置部によって進められた前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    請求項に記載の画像処理装置。
  8. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
    を含み、
    前記受付けるステップは、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別するステップは、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録するステップは、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置するステップは、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付けるステップは、
    前記ホストツールを介した、ユーザによるアンドゥ操作を更に受付け、
    前記配置するステップは、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
    前記登録するステップは、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置するステップによって戻された前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    画像処理方法。
  9. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
    を含み、
    前記受付けるステップは、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別するステップは、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録するステップは、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置するステップは、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付けるステップは、
    前記ホストツールを介した、ユーザによるリドゥ操作を更に受付け、
    前記配置するステップは、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より進めた位置に配置し、
    前記登録するステップは、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置するステップによって進められた前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    画像処理方法。
  10. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
    をコンピュータに実行させ
    前記受付けるステップは、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別するステップは、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録するステップは、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置するステップは、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付けるステップは、
    前記ホストツールを介した、ユーザによるアンドゥ操作を更に受付け、
    前記配置するステップは、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より過去の位置に向かって戻した位置に配置し、
    前記登録するステップは、
    前記ホストツールを介した前記アンドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置するステップによって戻された前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    ための画像処理プログラム。
  11. 画像編集に関する拡張機能を提供するための複数のゲストツールの何れかを用いて、オブジェクトに対してユーザが操作した操作内容を示す操作情報を受付けるステップと、
    受付けた前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールを判別するステップと、
    前記操作情報を受付ける毎に、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する処理リストに、該操作情報の受付順に登録するステップと、
    前記操作情報を受付ける毎に、該処理リストにおける、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置するステップと、
    複数の前記ゲストツールの各々に対応する前記処理リストの各々における、最初に登録された前記処理情報から前記ポインタの配置された前記処理情報までの各々に応じた編集処理を順に実行したオブジェクトを含む、表示画像を表示するステップと、
    をコンピュータに実行させ、
    前記受付けるステップは、
    画像編集に関する基本機能を提供するためのホストツールを用いて、オブジェクトに対してユーザが操作した、前記操作内容を示す前記操作情報を更に受付け、
    前記判別するステップは、
    受付けた前記操作情報を示す前記操作内容の操作に前記ホストツールが用いられたか、および、前記ゲストツールの何れかが用いられたか、を更に判別し、
    前記登録するステップは、
    前記ホストツールが用いられたと判別された場合、受け付けた該操作情報を含む前記処理情報をホスト処理リストに登録し、前記ゲストツールの何れかが用いられたと判別された場合、受付けた前記操作情報を含む処理情報を、判別された前記ゲストツールに対応する前記処理リストおよび前記ホストツールに対応する前記ホスト処理リストに登録し、
    前記配置するステップは、
    前記操作情報を受付ける毎に、前記処理リストおよび前記ホスト処理リストの各々における、受付けた最新の前記操作情報を含む前記処理情報に、現在位置を示すポインタを配置し、
    前記受付けるステップは、
    前記ホストツールを介した、ユーザによるリドゥ操作を更に受付け、
    前記配置するステップは、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストに配置された前記ポインタの位置を、現在の位置より進めた位置に配置し、
    前記登録するステップは、
    前記ホストツールを介した前記リドゥ操作を受付けた場合、前記ホスト処理リストにおける前記配置するステップによって進められた前記ポインタの配置された前記処理情報に基づいて、該処理情報に含まれる前記操作情報を示す前記操作内容の操作に用いられた前記ゲストツールに対応する前記処理リストを更新する、
    ための画像処理プログラム。
JP2016133722A 2016-07-05 2016-07-05 画像処理装置、画像処理方法、および画像処理プログラム Active JP6724605B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016133722A JP6724605B2 (ja) 2016-07-05 2016-07-05 画像処理装置、画像処理方法、および画像処理プログラム
US15/628,760 US10540799B2 (en) 2016-07-05 2017-06-21 Image processing apparatus, image processing method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016133722A JP6724605B2 (ja) 2016-07-05 2016-07-05 画像処理装置、画像処理方法、および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2018005695A JP2018005695A (ja) 2018-01-11
JP6724605B2 true JP6724605B2 (ja) 2020-07-15

Family

ID=60911032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016133722A Active JP6724605B2 (ja) 2016-07-05 2016-07-05 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (2)

Country Link
US (1) US10540799B2 (ja)
JP (1) JP6724605B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6787250B2 (ja) 2017-05-22 2020-11-18 株式会社リコー 情報処理装置、情報処理方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5694686B2 (ja) 2010-05-24 2015-04-01 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP5747883B2 (ja) 2012-09-13 2015-07-15 コニカミノルタ株式会社 操作制御方法及び操作制御プログラム並びに操作制御装置
US20150109323A1 (en) * 2013-10-18 2015-04-23 Apple Inc. Interactive black and white image editing
US11113458B2 (en) * 2014-11-21 2021-09-07 Adobe Inc. Concurrently supporting both document-based and object-based undo operations

Also Published As

Publication number Publication date
JP2018005695A (ja) 2018-01-11
US20180012388A1 (en) 2018-01-11
US10540799B2 (en) 2020-01-21

Similar Documents

Publication Publication Date Title
JP4978629B2 (ja) 項目設定装置、並びにその制御方法及び制御プログラム
JP2009508227A (ja) ブラウズモードデザイナ
JP4760921B2 (ja) 項目設定装置、並びにその制御方法及び制御プログラム
JP5018794B2 (ja) 印刷ジョブ出力装置、並びにその制御方法及び制御プログラム
JP2009271892A (ja) 情報処理装置、データ処理方法およびプログラム
JP6724605B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2009003737A (ja) 表示装置、表示プログラム、表示方法
JP6714853B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2020160854A (ja) コード管理システム、及びコード管理方法
JP2019219935A (ja) 情報処理装置及びプログラム
JP4365965B2 (ja) 情報処理装置および情報処理方法および記憶媒体
JPH11272393A (ja) 位置指定装置および記録媒体
JP2010165153A (ja) 項目設定装置、並びにその制御方法及び制御プログラム
JP2555976B2 (ja) Gui構築ツール
KR20240067869A (ko) 그래픽 다이어그램 비교
JP2017068371A (ja) 情報処理装置、画面生成方法および画面生成プログラム
JP5894461B2 (ja) データ検索システム及び方法
JP2010128682A (ja) 図形部品検索システム、方法、及びプログラム
JP2022145818A (ja) 情報処理システム、その制御方法、およびコンピュータプログラム
JP2004193700A (ja) 画像選択装置およびその方法、並びにコンピュータプログラム
JP2001101327A (ja) 情報処理方法及び装置及び印刷システム
JP2003006233A (ja) Cadシステムにおける文字登録方法、並びにcadシステムにおける文字作図方法及びシステム
CN114699769A (zh) 游戏界面生成方法、装置、设备及存储介质
JPH11265403A (ja) ハイパーリンクドローイングシステム
JP2004078374A (ja) 情報処理装置および帳票処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R151 Written notification of patent or utility model registration

Ref document number: 6724605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151