DE69722246T2 - Grafiksystem und verfahren zur anpassung von objekten an schablone - Google Patents

Grafiksystem und verfahren zur anpassung von objekten an schablone Download PDF

Info

Publication number
DE69722246T2
DE69722246T2 DE69722246T DE69722246T DE69722246T2 DE 69722246 T2 DE69722246 T2 DE 69722246T2 DE 69722246 T DE69722246 T DE 69722246T DE 69722246 T DE69722246 T DE 69722246T DE 69722246 T2 DE69722246 T2 DE 69722246T2
Authority
DE
Germany
Prior art keywords
template
region
linked
response
setting
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.)
Expired - Lifetime
Application number
DE69722246T
Other languages
English (en)
Other versions
DE69722246D1 (de
Inventor
J. Scott SCHANEL
F. Peter SOVOCOOL
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.)
Cascade Parent Ltd
Original Assignee
Corel Corp
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 Corel Corp filed Critical Corel Corp
Application granted granted Critical
Publication of DE69722246D1 publication Critical patent/DE69722246D1/de
Publication of DE69722246T2 publication Critical patent/DE69722246T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/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

Description

  • Technisches Gebiet der Erfindung
  • Diese Erfindung betrifft das Gebiet der Computer-Grafiksysteme und insbesondere ein Grafiksystem und ein Verfahren mit Objekten, die an eine Schablone bzw. eine Vorlage angepaßt sind.
  • Technischer Hintergrund der Erfindung
  • Wenn Menschen und Organisationen mit mehr und mehr Informationen konfrontiert werden, wird die Fähigkeit, die Information visuell darzustellen und zu präsentieren, entscheidend. Existierende Grafikapplikationen beinhalten einen Computer und eine Anzeige oder eine andere Ausgabeeinrichtung, um Diagramme, Charts oder Illustrationen zu erzeugen, die Text, Linien, Formen und andere visuelle Merkmale beinhalten.
  • Viele dieser grafischen Anwendungen beinhalten hilfreiche Hilfsmittel, um dem Benutzer zu erlauben, strukturierte Diagramme und Charts schnell und effizient zu erzeugen. Beispielsweise stellen manche existierende Applikationen dem Benutzer Gitter und Maßstäbe zur Verfügung, um in der Ausrichtung und Plazierung von Objekten in einem Diagramm zu helfen. Diese Ausrichtungswerkzeuge oder Führungen sind vielleicht nicht modifizierbar und arbeiten typischerweise in traditionellen orthogonalen Koordinatensystemen. Grafische Darstellungen, die unter Verwendung dieser Führungen erzeugt wurden, breiten ebenso die meiste, wenn nicht alle der grafischen Daten über die einzelnen Objekte aus, die die grafische Darstellung aufweist.
  • Die europäische Patentanmeldung Veröffentlichungsnummer EP 0 715 281 zeigt ein Verfahren zum Modifizieren eines grafischen Anzeigebildes. Das Verfahren beinhaltet das Markieren bzw. Hervorheben eines Untersatzes eines Satzes von Bildkomponenten, wobei der markierte Untersatz Komponenten aufweist, die eine Modifikation erfordern. Auf die Modifikation folgend wird die Markierung einer modifizierten Komponente aufgehoben.
  • Die internationale Patentanmeldung Veröffentlichungsnummer WO 96/10231 beschreibt ein System und ein Verfahren für die Erzeugung von grafischen Darstellungen. Gemäß dieser Schrift stellt ein Computer-Grafikprogramm eine Mehrzahl von Charts bzw. Tabellenvorlagen einem Benutzer zur Verfügung, hieraus auszuwählen, um eine Grafik zu erzeugen. Jede Vorlage kann einen Satz von Formen und vorbestimmten Positionen für diese Form haben, die mit ihr verknüpft sind.
  • Zusammenfassung der Erfindung
  • In Übereinstimmung mit der vorliegenden Erfindung wird ein Grafiksystem und ein Verfahren zur Verfügung gestellt, das im wesentlichen die Nachteile oder Probleme, die mit vorher entwickelten Grafiksystemen und Verfahren verknüpft sind, eliminiert oder reduziert. Insbesondere stellt eine Vorlage bzw. Schablone eine flexible und modifizierbare Führung zur Verfügung, um Objekte in ein strukturiertes Bild einzupassen.
  • In einer Ausführungsform der vorliegenden Erfindung wird ein Computer-Grafikprogramm zur Verfügung gestellt, das in einem Computer lesbaren Medium verkörpert ist und derart betreibbar ist, daß es auf einem Computer mit einer Anzeige ausgeführt werden kann, wobei das Grafikprogramm aufweist: eine Grafikanwendung, die derart betreibbar ist, daß sie eine Mehrzahl von Objekten erzeugt, und ein Template- bzw. Vorlagenmodul, das von der Grafikanwendung getrennt ist und auf das von dieser zugegriffen werden kann, das eine Template-Schnittstelle und zumindest ein Template-Verfahren aufweist, um ein Template bzw. eine Vorlage zu erzeugen mit einer Begrenzung und einer Mehrzahl von Regionen, die innerhalb der Begrenzung lokalisiert sind.
  • In einer anderen Ausführungsform der vorliegenden Erfindung wird ein Computer-Grafikverfahren für die Ausführung auf einem Computer mit einer Anzeige zur Verfügung gestellt, wobei das Verfahren aufweist: Verwenden einer Grafikanwendung, um eine Mehrzahl von Objekten zu erzeugen und Verwenden eines Template- bzw. Vorlagenmoduls, das von der Grafikanwendung getrennt ist und auf das von dieser zugegriffen werden kann, um ein Template bzw. eine Vorlage zu erzeugen mit einer Begrenzung und einer Mehrzahl von Regionen, die innerhalb der Begrenzung angeordnet sind.
  • Technische Vorteile der vorliegenden Erfindung beinhalten eine flexible und modifizierbare Führung in der Form einer Vorlage, die eine Anzahl von Objekten in einem strukturierten Chart organisiert, einpaßt und anzeigt. Jedes Objekt kann in einer verknüpften Region in der Vorlage plaziert werden und daran angepaßt werden. Wie jedes Objekt in seinen verknüpften Bereich plaziert wird, erzeugt das Template oder das Template-Interface Einstellungen, die Bewegen, Skalieren, Drehen, Scheren, eine Formanpassung oder andere Modifikationen durchführen, um das Objekt an den verknüpften Bereich anzupassen.
  • Ein anderer wichtiger technischer Vorteil der vorliegenden Erfindung beinhaltet die Erzeugung und Pflege von Einstellungen der Objekte. In existierenden Grafiksystemen pflegen die einzelnen Objekte viele der grafischen Daten oder anderer Information, die die Struktur und die Organisation einer grafischen Darstellung bestimmen. In einer Ausführungsform der vorliegenden Erfindung pflegt die Vorlage bzw. das Template oder das Template-Interface eine Einstellung für jedes Objekt, das mit einem ihrer Regionen verbunden ist. Auf diese Art und Weise kann das Template selbst bewegt, skaliert, gedreht, geschert, in der Form angepaßt oder auf andere Weise modifiziert werden, und jedes Objekt würde ebenso in einer geeigneten Art und Weise modifiziert werden, um die strukturierte grafische Darstellung beizubehalten. Dies erlaubt dem Benutzer des Grafiksystems, das Gesamtaussehen einer strukturierten grafischen Darstellung zu modifizieren durch Einstellen des Templates, ohne jedes Objekt innerhalb des Templates einzeln einzustellen.
  • Noch ein anderer technischer Vorteil der vorliegenden Erfindung beinhaltet eine Vielzahl von Verfahren, die ein Interface zwischen dem Grafiksystem und dem Benutzer zur Verfügung stellen. In einer bestimmten Ausführungsform erlaubt das Grafiksystem einem Benutzer, Objekte in die unmittelbare Umgebung zu dem Template zu ziehen und das Template antwortet durch Auswählen, Markieren oder durch vorheriges Ansehen (preview) eines verknüpften Bereiches, in den das gezogene Objekt plaziert werden soll. Das System erzeugt eine Einstellung, die das Objekt in den ausgewählten Bereich einpaßt und zeigt ein neu angepaßtes Objekt in seinem verknüpften Bereich an. Dies erlaubt einem Benutzer, ein strukturiertes Diagramm schnell und effizient zu erzeugen.
  • Noch ein anderer technischer Vorteil der vorliegenden Erfindung beinhaltet eine erweiterbare Architektur, die das Template und Template-Verfahren, die das Template-Interface mit einer Grafikapplikation bilden, integrieren. Die Applikation stellt traditionelle objektbasierte grafische Fähigkeiten zur Verfügung, während die Template-Schnittstelle Template-basierte grafische Fähigkeiten in Übereinstimmung mit der vorliegenden Erfindung zur Verfügung stellt. In einer bestimmten Ausführungsform weist die Grafikanwendung ein ausführbares Programm auf und die Template-Schnittstelle weist eine dynamisch verknüpfte Bibliothek (DLL), die mit der Grafikanwendung registriert ist, auf. Andere technische Vorteile der vorliegenden Erfindung werden dem Fachmann angesichts der beigefügten Figuren, der Beschreibung und der Ansprüche deutlich.
  • Kurze Beschreibung der Figuren
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung und der Vorteile hiervon wird nun auf die begleitende Beschreibung zusammen mit den begleitenden Zeichnungen Bezug genommen, in denen gleiche Referenzzahlen gleiche Merkmale anzeigen und in denen:
  • 1 ein schematisches Blockdiagramm eines Grafiksystems zeigt,
  • 2 Komponenten eines Grafikprogramms zeigt, das auf dem Grafiksystem von 1 läuft,
  • 3A3C die Wechselwirkung zwischen einem Template und Objekten in einer grafischen Darstellung zeigt, die durch das Grafiksystem erzeugt wird,
  • 4a und 4B Techniken zeigen, um Objekte in Regionen des Templates einzupassen,
  • 5 eine andere Ausführungsform einer grafischen Darstellung, die von dem Grafiksystem erzeugt wird, zeigt,
  • 6 noch eine andere Ausführungsform einer grafischen Darstellung zeigt, die von dem Grafiksystem erzeugt wird,
  • 7 ein Flußdiagramm darstellt für das Erzeugen und Modifizieren eines Templates,
  • 8 ein Flußdiagramm zeigt für das Verknüpfen von Objekten mit dem Template und
  • 9 ein Flußdiagramm zeigt für das Modifizieren eines Templates mit verknüpften Objekten.
  • Detaillierte Beschreibung der Erfindung
  • 1 stellt ein Grafiksystem 10 für die Implementierung der vorliegenden Erfindung dar. Das Grafiksystem 10 kann auf irgendeinem der bekannten MS-DOS, PC-DOS, OS-2, MAC-OS, WIN-DOWSTM, UNIX-Betriebssysteme oder einem anderen geeigneten Betriebssystem ausgeführt werden. Das Grafiksystem 10 beinhaltet einen Mikroprozessor 12, einen Speicher mit wahlfreiem Zugriff (RAM) 14, einen Nurlesespeicher (ROM) 16, ein CD-ROM oder andere geeignete Speicher- und Abrufvorrichtungen. Eingabeeinrichtungen sind eine Maus 18, eine Tastatur 20, ein Grafiktablett, einen Joystick, einen Lichtstift, Handschuhzeigeeinrichtungen oder andere geeignete zweidimensionale oder dreidimensionale Eingabeeinrichtungen. Ausgabeeinrichtungen beinhalten Drucker 22, Festplattenlaufwerk 24, eine Anzeige 26, Plotter oder andere geeignete zweidimensionale oder dreidimensionale Ausgabeeinrichtungen.
  • Das Grafiksystem 10 führt ein Grafikprogramm 28 aus, das für die Implementierung in einer geeigneten Computersprache, wie zum Beispiel C, C++ oder irgendeiner anderen geeigneten Entwicklungssprache adaptiert ist. Der Betrieb des Grafikprogramms 28 wird unten in Verbindung mit seiner Gesamtarchitektur, der grafischen Ausgabe und Flußdiagrammen beschrieben: Fachleute können die unten beschriebenen Konzepte, die durch die Architektur, die Ausgaben und die Flußdiagramme dargestellt werden, in ausführbare Computerbefehle umwandeln für die Implementierung auf dem Grafiksystem 10. Allgemein gesprochen stellt das Grafiksystem 10 verschiedene Werkzeuge zur Verfügung, die es einem Benutzer erlauben, saubere und professionell anmutende grafische Darstellungen schnell und leicht zu erzeugen. Grafische Darstellungen, wie sie in dieser Beschreibung definiert sind, beinhalten Flußdiagramme, Prozeßflußdiagramme, Ablaufpläne, Steuerpläne, Ursache- und Wirkungsdiagramme, Figuren, Diagramme, Modelle, Animationen, Darstellungen, Multimedia Präsentationen oder irgendeine andere visuelle Sammlung, Anordnung oder Koordination von Formen, Linien, Text oder anderen visuellen Elementen in zwei oder drei Dimensionen. Das Grafiksystem 10 kann Pixel basierte Zeichenwerkzeuge, Modell basierte Zeichenwerkzeuge, Multimedia Entwicklungswerkzeuge, fotografische Videoerzeugungs- und Modifikationswerkzeuge oder andere Werkzeuge, um grafische Darstellungen bzw. Charts zu erzeugen, beinhalten. Das Grafiksy stem 10 stellt einen flexiblen und modifizierbaren Weg zur Verfügung, Objekte in einem Chart unter Verwendung eines Templates anzuordnen.
  • 2 stellt Elemente des Grafikprogramms 28 dar. Die Beschreibung des Grafikprogramms 28 bezieht sich auf Objekte, Templates und Verfahren, die auf Objekten und Templates durchgeführt werden, die zusammengenommen eine grafische Darstellung 30 für die Erzeugung und die Anzeige auf einem Grafiksystem 10 bilden. Es sollte jedoch verstanden werden, daß das Grafiksystem 10 die Erzeugung und Modifikation einer Anzahl von Charts 30 unterstützen kann. Darüber hinaus kann das Grafikprogramm 28 mehr oder weniger Elemente und Elementzwischenverbindungen beinhalten, ohne von dem Geist und dem Schutzbereich der vorliegenden Erfindung abzuweichen. Es sollte verstanden werden, daß jedes Element, das durch eine einzelne Box in 2 dargestellt wird, zusätzliche Boxen beinhalten kann, die zwei oder mehrere Elemente darstellen.
  • In der bestimmten Ausführungsform, die in 2 dargestellt ist, beinhaltet die grafische Darstellung 30 Komponenten 32 und Verbindungen 34 zwischen den Komponenten 32, die zusammen das Chart 30 beschreiben und umfassen. Jede Komponente 32 ist entweder ein Template 36 oder ein Objekt 38. Beispielsweise kann das Chart 30 mehrere Objekte 38, die mit einem einzelnen Template 36 verknüpft sind, beinhalten. In ähnlicher Weise ist jede Verbindung 34 entweder eine Template-Verbindung 40 oder eine Objekt-Verbindung 42. Die Templates 36 und Objekte 38 können Linien, Formen, Text und jedes andere geeignete visuelle Element aufweisen, einschließlich dem Stil, der Schattierung, der Farbe, dem Zeichensatz oder andere Merkmale der Komponente.
  • Das Grafikprogramm 28 beinhaltet Objektverfahren 44, die derart arbeiten, daß sie Objekte 38 erzeugen und modifizieren. Beispielsweise beinhalten die Objektverfahren spezifische Verfahren, um Quadrate, Rechtecke, Kreise, Linien, gekrümmte Segmente oder andere geometrische Merkmale in zwei oder drei Dimensionen zu erzeugen, Textinformation zu erzeugen, unterschiedliche Objekte zu verbinden oder in Beziehung zu setzen und die Form und die Merkmale von Objekten 38 zu modifizieren. In einer bestimmten Ausführungsform sind die Objekte 38 und die Objektverfahren 44 in einem Modul, einem Programm oder einer Applikation des Grafiksystems 28 verkörpert, das Objekt basierte Zeichenfähigkeiten zur Verfügung stellt. Existierende Grafikapplikationen können Merkmale beinhalten, um Objekte 38 zu gruppieren, zu kombinieren und zu verbinden, sie stellen jedoch keine Gesamtsteuerung und Flexibilität in der Anordnung und Koordination von Objekten 38 in dem Chart 30 unter Verwendung eines Templates 26 zur Verfügung. Diese existierenden Grafikapplikationen verteilen einen Großteil der Informationen, wenn nicht sogar die gesamte Information über die Struktur des Charts 30 über die Objekten 38 und Objektverbindungen 42, die den Chart 30 bilden.
  • Um eine Gesamtsteuerung und eine zentralisierte Verwaltung einer Vielzahl von Objekten 38 in dem Chart 30 zur Verfügung zu stellen, beinhaltet das Grafikprogramm 28 Template basierte Zeichenfä- higkeiten, die von dem Template-Modul 50 dargestellt werden. Das Template-Modul 50 beinhaltet ein Template-Interface 52, das eine Anzahl von Template-Verfahren 54 auf dem Template 36 unterstützt, verwaltet und durchführt. Die Template-Verfahren 54 beinhalten Verfahren, um Templates zu erzeugen, Templategrenzen und -bereiche zu modifizieren, Objekte 38 mit Regionen des Templates 36 zu verknüpfen, Einstellungen oder Transformationen zu erzeugen, um Objekte 38 an die Regionen bzw. Bereiche des Templates 36 anzupassen und das Template 36 und dessen verknüpfte Objekte 38 zu modifizieren, um eine Template-Levelsteuerung des Charts 30 zur Verfügung zu stellen. Die Template-Verfahren 54 werden unten unter Bezug auf die 3a3c und 79 detaillierter beschrieben.
  • Das Template-Modul 50. beinhaltet ebenso Informationen, die von den Template-Verfahren 54 erzeugt, gepflegt oder verwendet werden. Diese Information beinhaltet Einstellungen 56, die es dem Grafikprogramm 28 erlauben, das Objekt 38 an die verknüpften Regionen des Templates 36 anzupassen. Diese Einstellungen 56 können Informationen beinhalten, um das Objekt 38 zu bewegen, zu skalieren, zu drehen, zu scheren, in der Form anzupassen oder auf andere Weise zu modifizieren, um es an einen verknüpften Bereich des Templates 36 anzupassen. Ein technischer Vorteil der vorliegenden Erfindung ist die Beibehaltung bzw. Pflege der Einstellungen 56 durch das Template 36, was es dem Grafikprogramm 28 erlaubt, den Chart 30 durch Einstellen des Templates 36 ohne jedes Objekt 38 in dem Template 36 einzeln einzustellen, zu modifizieren. Das Template-Modul 50 kann ebenso einen Regionidentifizierer (ID) 58 beinhalten, der mit jeder Template-Verbindung 49 verknüpft ist. Die Region-ID 58 erlaubt es dem Template 36, die Einstellungen 56 der Objekte 38 mit Regionen des Templates 36 zu verknüpfen.
  • In einer bestimmten Ausführungsform können einige oder alle der Komponenten, die in dem Template-Modul 50 dargestellt sind, in einer Applikation, einem Modul oder einem Programm getrennt von der Applikation, dem Modul oder dem Programm, das die Erzeugung und die Modifikation von Objekten 28 unterstützt, implementiert werden. Beispielsweise kann eine dynamische verknüpfte Bibliothek (DLL) mit dem Template-Interface 52 implementiert werden, um eine erweiterbare Architektur in dem Grafikprogramm 28 zur Verfügung zu stellen. Dies erlaubt es dem Grafikprogramm 28, verschiedene Templates 36 und ihre verknüpften Template-Verfahren 54 in einer modularen Art und Weise zu ergänzen.
  • Die 3A3C stellen den Betrieb der Template-Verfahren 54 an einem exemplarischen Pyramiden-Template 36 dar. 3A stellt die Erzeugung des Templates 36 und die nachfolgende Modifikation in einem Edit-Modus dar. 3B stellt die Verfahren dar, um Objekte 38 mit dem Template 36 zu verknüpfen. 3C stellt die Modifikation des Templates 36 und dessen verknüpften Objekten 38 dar, um eine Template-Levelsteuerung des Charts 30 zur Verfügung zu stellen.
  • In 3A stellt das Grafikprogramm 28 ein Template-Menü 80 dar, das verschiedene Template-Piktogramme 82 und Aktions-Piktogramme 84 beinhaltet. Die Template-Piktogramme 82 stellen verschiedene Templates 36 dar, die von dem Grafikprogramm 28 unterstützt werden und die, wenn sie aktiviert werden, das ausgewählte Template 36 erzeugen. Die Aktions-Piktogramme bzw. Icons 84 stellen Aktivitäten dar, die von dem Grafikprogramm 28 während des Edit-Modus unterstützt werden. Beispielsweise veranlaßt das Aktivierung eines „Beende Aktion″-Icons 84 das Grafikprogramm 28, den Edit-Modus zu verlassen.
  • Mit der Benutzerauswahl von einem der unterstützten Templates unter Verwendung des Template-Piktogramms 82, stellt das Grafikprogramm 28 das Template 36 für das Editieren und Modifizieren dar. Das Template 36 beinhaltet eine Anzahl von Bereichen 8698 (im allgemeinen als Bereich 36 bezeichnet), die Bereiche definieren, in denen ein verknüpftes Objekt 38 angezeigt werden kann. Jeder Bereich 36 kann durch eine Kombination einer Grenze 100 des Templates 36 und inneren Grenzen (zum Beispiel horizontalen und vertikalen Linien) innerhalb der Grenze 100 des Templates 36 definiert werden. Beispielsweise weist der Bereich 86 ein Dreieck auf, das aus zwei Seiten, die mit der Umgrenzung 100 des Templates 36 zusammenfallen, und einer dritten Seite, die von einer inneren horizontalen Linie gebildet wird, besteht. In ähnlicher Weise weist der Bereich 98 ein Trapez auf, das auf drei Seiten von der Umgrenzung 100 des Templates 36 und an seiner vierten Seite durch eine innere horizontale Linie innerhalb des Templates 36 definiert wird. Der Bereich 90 hat eine erste Seite, die durch die Umgrenzung 100 definiert wird, zweite und dritte Seiten, die durch innere horizontale Linien definiert werden, und eine vierte Seite, die von einer inneren vertikalen Linie definiert wird.
  • Während die Merkmale und Funktionen des Templates 36 unter Bezug auf eine beispielhafte Pyramidenstruktur beschrieben werden, versteht es sich, daß die vorliegende Erfindung jede Form oder Struktur von einem Template 36 und seinen verknüpften Bereichen 86 in Betracht zieht, die eine strukturierte. Anordnung von Objekten 38 erlauben. In einer bestimmten Ausführungsform weist die Umgrenzung 100 des Templates 36 eine nicht rechteckige Form auf, die gekrümmte Segmente, Linien, die weder horizontal noch vertikal verlaufen, oder beides auf. Daher erlaubt die Form des Templates 36, daß die Objekte 38 in dem Chart 30 in Übereinstimmung mit den Richtlinien angeordnet und konfiguriert werden, die nicht auf orthogonale Koordinatensysteme beschränkt sind.
  • Jeder Bereich 86 kann Bereichssteuerpunkte 110 beinhalten, die es einem Benutzer erlauben, die Form der Bereiche 36 einzustellen. Beispielsweise beinhaltet der Bereich 36 einen einzelnen Steuerpunkt 110, der mit seiner inneren horizontalen Linie verknüpft ist, die die vertikale Einstellung dieser horizontalen Linie erlaubt, um die Form des Bereichs 36 zu verändern. In ähnlicher Weise beinhaltet der Bereich 88 zwei Bereichssteuerpunkte 110, die mit seinen beiden horizontalen Linien verknüpft sind, für das Einstellen der Form des Bereichs 88. Darüber hinaus können die Regionen 86 Bereichssteuerpunkte 110 beinhalten, wie zum Beispiel in den Bereichen 90 und 92 gezeigt ist, die mehr Freiheitsgrade in der Einstellung der verknüpften Region erlauben. Wenn sich der Bereichssteuerpunkt 110 bewegt, stellen sich die Grenzen der Region 86, die durch die Umgrenzung 100 des Templates 36 definiert werden, entsprechend ein. Wenn beispielsweise der Bereichssteuerpunkt 110 des Bereichs 86 sich nach unten bewegt, erweitern sich die zwei Seiten des Bereichs 86, die durch Abschnitte der Umgrenzung 100 des Templates 36 definiert werden, um sich an die größere Form anzupassen. Daher stellen die Regionsteuerpunkte 110 jede Anzahl von Einstellungen, Modifikationen oder Entfernungen von Linien oder Kurven im Inneren des Templates 36 zur Verfügung, die die Grenzen der Bereiche 86 definieren.
  • Im Editier-Modus beinhaltet das Template 36 ebenso ein Editier-Einzelbild 120 mit Template-Steuerpunkten 122, die die Einstellung der Umgrenzung 100 erlauben. Beispielsweise können die Templat-Steuerpunkte 122 in den Ecken des Editier-Einzelbildes 120 die Expansion oder Kontraktion des Templates 36 entlang zwei Achsen erlauben, während die Template-Steuerpunkte 122 entlang der Kanten des Editier-Einzelbildes 120 die Expansion oder Kontraktion des Templates 36 entlang einer einzelnen Achse erlauben können. Zusätzlich erlaubt das Editier-Einzelbild 120 die Bewegung des Templates 36 ohne die Modifikation der Form der Umgrenzung 100.
  • Mit der Kombination der Bereichssteuerpunkte 110 und der Template-Steuerpunkte 122 kann ein Benutzer das Template 36 modifizieren, um jeder Anzahl und Form von Regionen 86 und jede gewünschte Gesamtform des Templates 36 anzupassen. In einer Ausführungsform werden die Bereichssteuerpunkte 110, das Editier-Einzelbild 120 und die Template-Steuerpunkte 122 während. eines Editier-Modus in Kombination mit dem Template-Menü 80 dargestellt. Mit Abschluß der gewünschten Modifikation an dem Template 36 kann der Benutzer einen Wunsch anzeigen, den Editier-Modus zu verlassen durch Aktivieren des „Aktion erledigt″-Piktogramms 84. Mit Verlassen des Editier-Modus, wie in 3A gezeigt ist, stellt das Grafikprogramm 28 Verfahren zur Verfügung, um Objekte 38 mit dem Template 36 zu verknüpfen, wie unten beschrieben wird.
  • 3B stellt Template-Verfahren 54 dar, die Objekte 38 mit dem Template 36 verknüpfen. Um das Objekt 38 mit einem ausgewählten Bereich 86 in dem Template 36 zu verknüpfen, ruft ein Benutzer ein Bewegungsverfahren auf, um das Objekt 38 in Bezug auf das Template 36 zu bewegen. Dies kann verwirklicht werden durch Greifen oder Auswählen des Objektes 38 mit einem Zeiger 112 und Ziehen des Objektes 38 und des Zeigers 112 zu dem Template 36. Wenn sich das Objekt 38 in eine bestimmte Nähe oder einen vorbestimmten Abstand 130 des Templates 36 bewegt, markiert oder selektiert das Programm 28 einen ausgewählten Bereich 96 oder stellt eine Voransicht hiervon zur Verfügung, um dem Benutzer die Option des Plazierens des Objektes 38 in dem Bereich 96 anzuzeigen. In Ausführungsform markiert das Grafikprogramm 28 den Bereich 96, und das Objekt 38 verbleibt außerhalb des Templates 36. In einer anderen Ausführungsform stellt das Grafikprogramm 28 eine visuelle Voransicht zur Verfügung, wie sich das Objekt 38 in die Region 96 einpaßt.
  • Wenn das Grafikprogramm 28 eine Benutzereingabe erfaßt, die einen Wunsch anzeigt, das Objekt 38 in der Region 96 zu plazieren, wie zum Beispiel durch das Loslassen einer Taste der Maus 18, löscht das Grafikprogramm 28 die ursprüngliche visuelle Darstellung des Objekts 38 und zeigt die visuelle Darstellung eines in die Region 96 angepaßten Objekten 114 an. Eine zusätzliche Bewegung des Zeigers 112 und des Objektes 38 über das Template 36 kann das angepaßte Objekt 114 in verschiedenen Regionen 86 des Templates markieren und optional anzeigen. Das Grafikprogramm 28 wiederholt diese Prozedur des Ziehens und Fallenlassens (drag and drop) von Objekten 38, um angepaßte Objekte 114 innerhalb ausgewählten Bereichen 86 des Templates 36 anzuordnen.
  • 3C stellt Template-Verfahren 54 dar, die Modifikationen der Größe und der Form des Templates 36 mit angepaßten Objekten 114 in ein oder mehreren Regionen 86 erlaubt. Durch Auswahl des Templates 36 mit der Maus 18 oder auf andere Art und Weise, was einen Editier-Modus aufruft, wie unter Bezug auf 3A beschrieben wurde, stellt das Grafikprogramm 28 dem Benutzer einen Editierrahmen 120 und verknüpfte Template-Steuerpunkte 122 dar, die die Modifikation der Gesamtgröße, Form oder Position des Templates 36 erlauben. In dieser Ausführungsform hat das Template 36 bereits angepaßte Objekte 114, die in den Bereichen 86 plaziert sind, so daß das Grafikprogramm 28 somit nicht nur das Template 36, sondern alle angepaßten Objekte 114 in den Regionen 86 einstellen muß. Dies stellt einen signifikanten technischen Vorteil dar, da der Benutzer auf globale Art und Weise eine Anordnung von Objekten modifizieren kann, ohne die zeitaufwendige und ungenaue Modifikation von einzelnen Objekten. Die zentralisierte Steuerung des Charts 30, die von dem Template 36 zur Verfügung gestellt wird, erlaubt es Benutzern, eine hierarchische Ordnung des Charts 30 beizubehalten. Die vorliegende Erfindung zieht das Gruppieren und Anordnen von mehreren Objekten innerhalb des Templates 36 in Betracht, sowie auch das Gruppieren und Anordnen von verschiedenen Templates 36 in einem Template höherer Ordnung. Das Grafikprogramm 28 unterstützt mehrere verschachtelte Ebenen von Templates 36 und Objekten 38.
  • In der bestimmten Ausführungsform von 3C modifiziert das Grafikprogramm 28 die Umgrenzung 100 des Templates 36 in Antwort auf eine Bewegung des Template-Steuerpunkts 122 in der oberen rechten Ecke des Editierrahmens 120. Wie dargestellt, bewegt sich der Template-Steuerpunkt 122 nach unten, um das Template 36 in vertikaler Richtung zu verkleinern und nach. rechts, um das Template 36 in der horizontalen Richtung zu erweitern. Die Bereiche 86 und alle angepaßten Objekte 114, die mit den Bereichen 86 verknüpft sind, unterliegen einer ähnlichen Transformation, um die neue Umgrenzung 100 des Templates 36 anzupassen. Die Einstellungen von angepaßten Objekten 114 tritt automatisch in Antwort auf eine Modifikation des Templates 36 auf.
  • 4A stellt unterschiedliche Techniken dar, um Objekte 38 an Regionen 86 und das Template 36 anzupassen. Allgemein gesprochen, paßt das Grafikprogramm 28 Objekte 38 an Regionen 86 an durch Bewegen, Skalieren, Drehen, Scheren, Formanpassung oder eine andere Modifizierung des Objekts 38. Dies kann verwirklicht werden durch Definieren bestimmter Punkte, Splines, gekrümm ten Segmenten oder Liniensegmenten oder anderen Komponenten von Objekten 38, um diese an die Grenzen der Region 86 anzupassen. Das Grafikprogramm 28 kann ebenso einen Editierrahmen verwenden, wie den Editierrahmen 120 des Templates 36, um das Objekt 38 an seinen verknüpften Bereich 86 anzupassen, wie unten beschrieben wird.
  • Ein Kreis 200 hat einen verknüpften Editierrahmen 202. Wenn dieser an die Region 204 in dem Template 36 angepaßt wird, ähnelt der angepaßte Kreis 206 einer Träne. Das Grafikprogramm 28 kann diese Transformation durchführen durch Anpassen oder Abstimmen des Editierrahmens 202 an die Region 204. In diesem bestimmten Beispiel bewegt das Grafikprogramm 28 die oberen zwei Ecken des Editierrahmens 202 zusammen zu einer Position direkt oberhalb des Kreises 200 und dehnt den Editierrahmen 202, damit er eine Träne oder einen angepaßten Kreis 206 bildet. Die Information, die von dem Grafikprogramm 28 erzeugt wird, um den Editierrahmen 202 einzustellen, umfaßt die Einstellung 56, die mit dem Kreis 200 verknüpft ist.
  • Ein Rechteck 210 kann einen Editierrahmen haben, der mit den Grenzen des Rechtecks 210 zusammenfällt. Wenn dieses an den Bereich 212 des Templates 36 angepaßt wird, nimmt das Rechteck 212 die präzise Form seiner verknüpften Region an. Erneut kann die Transformation von dem Rechteck 210 zu dem angepaßten Rechteck 212 begrifflich gefaßt werden als eine Einstellung in der Form des Rechtecks 210 unter Verwendung seines verknüpften Editierrahmens. Eine Raute 214 hat einen verknüpften Editierrahmen 216. Um die Raute 214 an den Bereich 218 anzupassen, stellt das Grafikprogramm 218 den Editierrahmen 216 derart ein, daß er mit den Grenzen der Region 218 zusammenfällt. Die sich ergebende angepaßte Raute 202 ist in ein oder zwei Dimensionen gestreckt, um sich an den Bereich 218 anzupassen.
  • 5 stellt das Template 36 mit Scher- und Textdrehungsmerkmalen dar. In diesem Beispiel beinhaltet das Template 36 verschiedene Regionen 250, die mit Textobjekten verknüpft sind, die Zeilenbezeichnungen beinhalten und verschiedene Regionen 252 beinhalten, die mit Textobjekten verknüpft sind, die Spaltenbezeichnungen beinhalten. Die Bereiche 215 beinhalten Bereichssteuerpunkte 254, die die Regionen 250 einstellen. In diesem Beispiel ändern die Einstellungen für die Regionen 250 nicht ihre im wesentlichen rechteckige Form. Die Regionen 252 beinhalten ebenso Regionsteuerpunkte 256, die die allgemeine Größe der Regionen 252 einstellen. Zusätzlich stellen die Regionsteuerpunkte 258 eine zusätzliche Textdrehungs- und Schereinstellung für die Regionen 252 und ihre verknüpften Objekte zur Verfügung. Beispielsweise verändert der Bereichssteuerpunkt 258, der sich im wesentlichen in einer bogenförmigen Art und Weise bewegt, die Winkelorientierung der Textinformation, die in den Objekten enthalten ist, die mit den Regionen 252 verknüpft sind. In Kombination mit dieser Textdrehung gestaltet das Grafikprogramm 28 automatisch die Textobjekte um, um sie an die Regionen 252 anzupassen. Dies kann durch eine Vielfalt von Scher-, Füll- oder anderen Funktionen verwirklicht werden.
  • 6 stellt noch eine andere Ausführungsform des Templates 36 dar, das eine Anzahl von dreidimensionalen Boxen 260 beinhaltet, die in einer schachbrettartigen Art und Weise angeordnet sind. Das Template 36 kann Bereichssteuerpunkte 262 beinhalten sowie auch Fluchtpunkte 264, die die dreidimensionale Extrusion von jedem Objekt 260 leiten. Die Bewegung des Fluchtpunktes 264 veranlaßt das Grafikprogramm 28, die dreidimensionale Extrusion von Objekten 260, die mit dem Template 36 verknüpft sind, einzustellen.
  • 7 ist ein Flußdiagramm von Template-Verfahren 54, die oben unter Bezug auf 3A beschrieben wurden. Das Verfahren beginnt bei Schritt 300, wo das Grafikprogramm 28 eine Anfrage empfängt, das Template 36 in den Chart 30 einzufügen. Das Programm 28 fragt dann seine Umgebung ab, wie zum Beispiel eine Windows-Registrierungsdatei, um installierte Templates 36 zu bestimmen, die der Benutzer in Schritt 302 auswählen kann. Wenn beispielsweise das Grafikprogramm 28 das Gesamttemplate-Modul 50 oder einen Teil hiervon als eine dynamisch verknüpfte Bibliothek (DLL) implementiert, dann kann mit Initiierung des Grafikprogramms 28 jedes geeignete Template DLL registriert werden und dem Benutzer verfügbar gemacht werden. Diese erweiterbare Architektur erlaubt es dem Grafikprogramm 28, verschiedene Templates 36, Template-Interface 52 und Template-Verfahren 54 in einer modularen und aufrüstbaren Art und Weise zu liefern. Das Grafikprogramm 28 empfängt eine Benutzerauswahl eines verfügbaren Templates 36 bei Schritt 304 unter Verwendung beispielsweise eines Signals, das durch eine Auswahl des Template-Piktogramms 82 in dem Editiermenü 80 erzeugt wird.
  • Das Grafikprogramm 28 erzeugt das Template 36 in Schritt 306 und zeigt das Template 36 im Editiermodus in Schritt 308 an. Wie oben unter Bezug auf 3A beschrieben wurde, zeigt das Grafikprogramm 28 das Template 36 und seine verknüpften Regionen 86 mit den Regionsteuerpunkten 110, den Editierrahmen 120 und die Template-Steuerpunkte 122 an. Wenn der Benutzer wünscht, das Template 36 in Schritt 310 zu modifizieren, dann unterstützt das Grafikprogramm 28 zwei Hauptmodifikationen. Das Grafikprogramm 28 kann die Umgrenzung 100 des Templates 36 in Antwort auf die Bewegung des Editierrahmens 120 oder der Template-Steuerpunkte 122 in Schritt 312 modifizieren. Das Grafikprogramm 28 kann ebenso Regionen 86 des Templates 36 in Antwort auf die Bewegung von Regionsteuerpunkten 110 in Schritt 314 modifizieren. Mit der Modifizierung des Templates 36 in Schritt 312 oder von Regionen 86 in Schritt 314 zeigt das Grafikprogramm 28 das modifizierte Template 36 im Editiermodus in Schritt 308 an. Wenn der Benutzer anzeigt, daß keine Modifikationen notwendig sind oder daß Modifikationen komplett erfolgt sind durch beispielsweise Aktivieren des Steuerpiktogramms 84, dann endet das Verfahren.
  • 8 stellt ein Flußdiagramm von Template-Verfahren 54, die oben unter Bezug auf 3B beschrieben wurden, dar. Das Verfahren beginnt in Schritt 400, wo das Grafikprogramm 28 Objekte 38 erzeugt und anzeigt. Wie oben beschrieben wurde, kann dies verwirklicht werden durch ein Zeichenprogramm, das traditionelle objektbasierte grafische Fähigkeiten unterstützt. Das Grafikpro gramm 28 erzeugt das Template 36 in Schritt 402 und zeigt es in Übereinstimmung mit der oben unter Bezug auf 7 beschriebenen Prozedur an. An diesem Punkt stellt das Grafiksystem 10 das Template 36 und eine Vielzahl von Objekten, die bereits mit dem Template 36 verknüpft worden sind, auf der Anzeige 26 an.
  • Um Objekte 38 mit dem Template 36 zu verknüpfen, bewegt das Grafikprogramm 28 das Objekt 38 in Bezug auf das Template 36 in Antwort auf Signale, die von der Maus 18 oder einer anderen Eingabeeinrichtung in Schritt 404 erzeugt wurden. Wenn das Objekt 38 innerhalb einer bestimmten Nähe oder einem vorbestimmten Abstand 130 des Templates 36 der Region 86 innerhalb des Templates 36 in Schritt 406 ist, dann wählt das Grafikprogramm 28 die verknüpfte Region 86 in Schritt 408 aus, markiert sie oder stellt eine Voransicht zur Verfügung. Das Grafikprogramm 28 erzeugt dann eine Einstellung 56, um das Objekt 38 an die Region 86 in Schritt 410 anzupassen. Die Einstellung 56 weist Informationen auf, die jede Bewegung, Skalierung, Drehung, Scherung, Formanpassung oder andere Einstellungen spezifiziert, um das Objekt 38 an die Einschränkung oder die Umgrenzung des Bereiches 86 anzupassen.
  • In einer bestimmten Ausführungsform des Grafiksystems 10 löscht das Grafikprogramm 28 die visuelle Darstellung des Objekts 38 in Schritt 412 und zeigt die visuelle Darstellung des angepaßten Objekts 114 in der Region 86 unter Verwendung der Einstellung 56 in Schritt 414 an. Wenn sich der Zeiger 112 einen vorbestimmten Abstand von dem Bereich 86 in Schritt 416 weg bewegt, löscht das Grafikprogramm 28 die visuelle Darstellung des angepaßten Objekts 114 und stellt die visuelle Darstellung des Objekts 38 erneut in der Position, die von dem Zeiger 112 in Schritt 418 angezeigt wird, an. Alternativ dazu kann eine Bewegung des Zeigers 112 das Objekt 38 veranlassen, daß es an einen neuen Bereich 86 in dem Template 36 angepaßt wird. Das Grafikprogramm 28 unterstützt sukzessive Schritte, um das Objekt 38 sich in Regionen 86 fallen zu lassen und angepaßte Objekte 114 aus den Regionen 86 zu ziehen, wenn sich der Zeiger 112 über das Template 36 bewegt.
  • Das Grafikprogramm 28 wartet dann auf die Bestätigung von dem Benutzer, daß er es wünscht, das Objekt 38 oder das angepaßte Objekt 114 mit seiner verknüpften Region 86 zu verknüpfen. Das Grafikprogramm 28 kann diese Benutzereingabe durch eine „Taste nicht gedrückt″-Bedingung auf der Maus 18 oder ein anderes geeignetes Signal in Schritt 420 detektieren. Wenn die Bestätigung empfangen wird, das Objekt 38 in der Region 86 in Schritt 420 zu plazieren, erzeugt das Grafikprogramm 28 eine Template-Verbindung 40, die die Region 86 des Templates 36 mit dem Objekt 38 verknüpft unter Verwendung der Bereichs-ID 58 in Schritt 422. Falls geeignet, speichert das Grafikprogramm 28 ebenso die Einstellung 56, die mit dem Objekt 38 verknüpft ist, in Schritt 424.
  • 9 ist ein Flußdiagramm von Template-Verfahren 54, die oben unter Bezug auf 3C beschrieben wurden. Der Prozeß startet in Schritt 500, wo das Grafikprogramm 28 die Regionen 86, das Template 36 oder beide unter Verwendung von Regionsteuerpunkten 110, dem Editierrahmen 120 oder Template-Steuerpunkten 122 modifiziert. Das Grafikprogramm 28 führt die Modifikationen in Schritt 500 während eines Editiermodus durch, ähnlich dem oben unter Bezug auf 3A beschriebenen. Modifikationen an dem Template 36 wirken sich indirekt und Modifikationen an den Regionen 86 wirken sich direkt auf die Größe, die Position und die Form der Regionen 86 aus, was eine erneute Einstellung von jedem angepaßten Objekt 114 in dem Template 36 erforderlich macht.
  • In Antwort auf Modifikationen in Schritt 500 identifiziert das Grafikprogramm 28 angepaßte Objekte 114 mit einer Template-Verbindung 40, die das Template 36 in Schritt 501 spezifiziert. Das Grafikprogramm 28 fragt dann die Einstellung 56 von einem der angepaßten Objekte 114, die mit dem Template 36 verknüpft sind, in Schritt 502 ab. Das Grafikprogramm 28 bestimmt dann in Schritt 504 die Region-ID 58 der Region 86, die mit dem angepaßten Objekt 114 verknüpft ist. Das Grafikprogramm 28 erzeugt dann eine neue Einstellung 56, um das Objekt 38 oder das angepaßte Objekt 114 an die Region 86 anzupassen. Es sollte verstanden werden, daß das Grafikprogramm 28 Grafikdaten oder andere Informationen, die durch die Einstellung 56, das Objekt 38 oder das angepaßte Objekt 114 spezifiziert wird, verwenden kann, um eine neue Einstellung 56 zu erzeugen.
  • Das Grafikprogramm 28 löscht die visuelle Darstellung des angepaßten Objekts 114 in Schritt 508 und zeigt in Schritt 510 die visuelle Darstellung des neuen angepaßten Objekts 114 in der modifizierten Region 86 unter Verwendung der neuen Einstellung 56 an. Falls das Template 36 andere Objekte beinhaltet, die in Schritt 512 eine Einstellung benötigen, dann wählt das Grafikprogramm 28 das nächste angepaßte Objekt 114, das mit dem Template 36 verknüpft ist, in Schritt 514 aus und wiederholt die Schritte 504 bis 510, um die Objekteinstellung durchzuführen.

Claims (43)

  1. Computergrafikprogramm, das in einem computerlesbaren Medium verkörpert ist und derart funktioniert, daß es auf einem Computer mit einer Anzeige ausgeführt werden kann, wobei das Grafikprogramm aufweist: eine Grafikanwendung, die derart funktioniert, daß sie eine Mehrzahl von Objekten erzeugt, und ein Template- bzw. Vorlagenmodul, das von der Grafikanwendung getrennt ist und von dieser zugänglich ist, das eine Templateschnittstelle und zumindest ein Templateverfahren aufweist, um ein Template bzw. eine Vorlage zu erzeugen mit einer Begrenzung und einer Mehrzahl von Regionen, die innerhalb der Begrenzung lokalisiert sind.
  2. Grafikprogramm nach Anspruch 1, wobei das Templatemodul ein Templateverfahren aufweist, um eine Einstellung zu erzeugen, um ein Objekt, das von der Anwendung erzeugt wurde, an eine verknüpfte Region des Templates anzupassen, und wobei das Templatemodul die Einstellung, die von dem Templateverfahren durchgeführt wurde, um das Objekt an die verknüpfte Region des Templates anzupassen, beibehält.
  3. Grafikprogramm nach Anspruch 1, wobei das Grafikprogramm ein Chart bzw. eine Grafik, das bzw. die ein Template, eine Mehrzahl von Regionen, die innerhalb der Grenzen des Templates angeordnet sind, und zumindest ein Objekt aufweist, das mit einer der Regionen verknüpft ist, in Antwort auf eine Benutzereinstellung an dem Template durch Einstellen des Templates, der Regionen und des Objektes modifizieren kann.
  4. Grafikprogramm nach Anspruch 1, in dem: das Templatemodul ein Templateverfahren beinhaltet, um eine Einstellung zu erzeugen, um ein Objekt, das von der Anwendung erzeugt wurde, an eine verknüpfte Region des Templates anzupassen, und die Anwendung das Objekt in der verknüpften Region des Templates unter Verwendung der Einstellung anzeigt.
  5. Grafikprogramm nach Anspruch 1, wobei das Templatemodul einen Regionidentifizierer beibehält, um jedes Objekt mit einer verknüpften Region des Templates zu verknüpfen.
  6. Grafikprogramm nach Anspruch 1, wobei die Anwendung ein ausführbares File aufweist und das Templatemodul eine dynamisch verknüpfte Bibliothek aufweist.
  7. Grafikprogramm nach Anspruch 1, das weiterhin aufweist: ein Bewegungsverfahren, das betreibbar ist, um ein Objekt in Bezug auf das Template in Antwort auf einen Benutzerbefehl zu bewegen, ein Erfassungsverfahren, das derart betreibbar ist, um die Nähe eines Objektes zu einer Region des Templates zu erfassen, und ein Markierungsverfahren, das derart betreibbar ist, um die Region zu markieren, in deren Nähe das Objekt erfaßt wird, während das Objekt in der Nähe der Region erfaßt wird.
  8. Grafikprogramm nach Anspruch 7, das weiterhin aufweist: ein Erfassungsverfahren, das derart betreibbar ist, daß es eine Benutzereingabe erfaßt, die einen Wunsch anzeigt, das Objekt in der Region zu plazieren, ein Löschverfahren, das derart betreibbar ist, um die Anzeige des Objekts in der Nähe der Region in Antwort auf eine Eingabe des Benutzers zu löschen und ein Anzeigeverfahren, das derart betreibbar ist, um das Objekt in der Region mit einer Einstellung anzuzeigen.
  9. Grafikprogramm nach Anspruch 7, das weiterhin aufweist ein Anzeigeverfahren, das derart betreibbar ist, daß es das Objekt unter Verwendung einer Einstellung in der Region anzeigt, während das Objekt in der Nähe der Region erfaßt wird.
  10. Grafikprogramm nach Anspruch 9, in dem das Objekt gleichzeitig ohne Verwendung einer Einstellung in der Nähe der Region dargestellt wird, während das Objekt in der Nähe der Region erfaßt wird.
  11. Grafikprogramm nach Anspruch 1, das weiterhin aufweist ein Modifikationsverfahren, das derart betreibbar ist, daß es die Form einer Region in Antwort auf die Bewegung eines Regionsteuerpunktes, der innerhalb der Grenzen des Templates lokalisiert ist, verändert.
  12. Grafikprogramm nach Anspruch 1, das weiterhin ein Modifikationsverfahren aufweist, das derart betreibbar ist, daß es das Template und die Regionen in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes verändert.
  13. Grafikprogramm nach Anspruch 1 für das Ausführen der folgenden Schritte: Anzeigen des Templates, Anzeigen eines Objektes, das mit dem Template verknüpft sein kann, Bewegen des Objektes in Bezug auf das Template in Antwort auf einen Befehl eines Benutzers, Erfassen der Nähe des Objektes zu einer Region des Templates und gleichzeitiges Anzeigen des Objektes in der Region unter Verwendung einer Einstellung und in der Nähe der Region ohne Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  14. Grafikprogramm nach Anspruch 13, das weiterhin die Schritte aufweist: Erfassen einer Benutzereingabe, die den Wunsch anzeigt, das Objekt in der Region zu plazieren, und Löschen der Anzeige des Objektes in der Nähe der Region in Antwort auf die Eingabe eines Benutzers.
  15. Grafikprogramm nach Anspruch 14, das weiterhin in Antwort auf die Bewegung eines Regionsteuerpunktes, der innerhalb der Grenzen des Templates lokalisiert ist, den Schritt des Modifizierens von einer der Regionen aufweist.
  16. Grafikprogramm nach Anspruch 15, das weiterhin in Antwort auf die Modifikation den Schritt des Anpassens eines Objektes, das mit der Region verknüpft ist, an die Region aufweist.
  17. Grafikprogramm nach Anspruch 13, das weiterhin den Schritt des Modifizierens des Templates und der Regionen aufweist in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes.
  18. Computergrafikprogramm nach Anspruch 1 für das Ausführen der folgenden Schritte: Anzeigen des Templates, Anzeigen eines Ojektes, das innerhalb einer verknüpften Region ausgeführt wird und an diese angepaßt ist, und Modifizieren des Templates und der Regionen in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes.
  19. Grafikprogramm nach Anspruch 18, das weiterhin den Schritt aufweist des Anpassens des Objektes, das mit der Region verknüpft ist, an die Region in Antwort auf die Modifikation.
  20. Grafikprogramm nach Anspruch 18, das weiterhin die Schritte aufweist: Anzeigen eines Objektes, das mit dem Template verknüpft sein kann, Bewegen des Objektes in Bezug auf das Template in Antwort auf einen Benutzerbefehl, Erfassen der Nähe des Objektes zu einer Region des Templates und Anzeigen des Objektes in der Region unter Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  21. Grafikprogramm nach Anspruch 20, das weiterhin den Schritt aufweist des Anzeigens des Objektes in der Nähe der Region ohne Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  22. Computergrafikverfahren für die Ausführung auf einem Computer mit einer Anzeige, wobei das Verfahren aufweist: Verwenden einer Grafikanwendung, um eine Mehrzahl von Objekten zu erzeugen und Verwenden eines Templatemoduls, das von der Grafikanwendung getrennt ist und auf das von dieser zugegriffen werden kann, um ein Template zu erzeugen mit einer Begrenzung und einer Mehrzahl von Regionen, die innerhalb der Begrenzung angeordnet sind.
  23. Verfahren nach Anspruch 22, das aufweist: Erzeugen einer Einstellung, um ein Objekt, das durch die Anwendung erzeugt wurde, an eine verknüpfte Region des Templates anzupassen, und Behalten bzw. Aufbewahren der Einstellung, die so erzeugt wurde, um das Objekt an die verknüpfte Region des Templates anzupassen.
  24. Verfahren nach Anspruch 22, das aufweist: Modifizieren eines Charts, das ein Template, eine Mehrzahl von Regionen, die innerhalb der Begrenzung des Templates lokalisiert sind, und zumindest ein Objekt, das mit einer der Regionen verknüpft ist, aufweist, durch die Einstellung des Templates, der Regionen und des Objektes in Antwort auf eine Benutzereinstellung des Templates.
  25. Verfahren nach Anspruch 22, das aufweist: Erzeugen einer Einstellung, um eines der Mehrzahl von Objekten an eine verknüpfte Region des Templates anzupassen und Anzeigen des Objektes in der verknüpften Region des Templates unter Verwendung der Einstellung
  26. Verfahren nach Anspruch 22, das aufweist: Aufbewahren eines Regionidentifizierers, um jedes Objekt mit einer verknüpften Region des Templates zu verknüpfen.
  27. Verfahren nach Anspruch 22, in dem die Grafikanwendung ein ausführbares File aufweist und das Templatemodul eine dynamisch verknüpfte Bibliothek (DLL) aufweist.
  28. Verfahren nach Anspruch 22, das aufweist: Bewegen eines Objektes in Bezug auf das Template in Antwort auf einen Benutzerbefehl, Erfassen der Nähe des Objektes zu einer Region des Templates und Markieren der Region, in der die Nähe des Objektes erfaßt wird, während das Objekt in der Nähe der Region ertaßt wird.
  29. Verfahren nach Anspruch 28, das aufweist: Erfassen einer Benutzereingabe, die den Wunsch anzeigt, das Objekt in der Region zu plazieren, Löschen der Anzeige des Objektes in der Nähe der Region in Antwort auf die Eingabe des Benutzers und Anzeigen des Objektes in der Region mit einer Einstellung.
  30. Verfahren nach Anspruch 28, daß das Anzeigen des Objektes in der Region unter Verwendung einer Einstellung aufweist, während das Objekt in der Nähe der Region erfaßt wird.
  31. Verfahren nach Anspruch 30, daß das gleichzeitige Anzeigen des Objektes in der Nähe der Region ohne Verwendung einer Einstellung aufweist, während das Objekt in der Nähe der Region erfaßt wird.
  32. Verfahren nach Anspruch 22, daß das Modifizieren der Form einer Region in Antwort auf die Bewegung eines Regionsteuerpunktes, der innerhalb der Grenze des Templates lokalisiert ist, aufweist.
  33. Verfahren nach Anspruch 22, daß das Modifizieren des Templates und der Regionen in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes aufweist.
  34. Verfahren nach Anspruch 22 für das Ausführen der folgenden Schritte: Anzeigen des Templates, Anzeigen eines Objektes, das mit dem Template verknüpft sein kann, Bewegen des Objektes unter Bezug auf das Template in Antwort auf einen Benutzerbefehl, Erfassen der Nähe des Objektes zu einer Region des Templates und gleichzeitiges Anzeigen des Objektes in der Region unter Verwendung einer Einstellung und in der Nähe der Region ohne Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  35. Verfahren nach Anspruch 34, das weiterhin die Schritte aufweist: Erfassen einer Benutzereingabe, die den Wunsch anzeigt, das Objekt in der Region zu plazieren, und Löschen der Anzeige des Objektes in der Nähe der Region in Antwort auf die Benutzereingabe.
  36. Verfahren nach Anspruch 35, das weiterhin den Schritt aufweist des Modifizierens einer der Regionen in Antwort auf die Bewegung eines Regionsteuerpunktes, der innerhalb der Begrenzung des Templates lokalisiert ist.
  37. Verfahren nach Anspruch 36, das weiterhin aufweist den Schritt des Anpassens eines Objektes, das mit der Region verknüpft ist, an die Region in Antwort auf die Modifikation.
  38. Verfahren nach Anspruch 34, das weiterhin aufweist den Schritt des Modifizierens des Templates und der Regionen in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes.
  39. Verfahren nach Anspruch 22, für das Ausführen der folgenden Schritte: Anzeigen des Templates, Anzeigen eines Objektes, das innerhalb einer verknüpften Region ausgeführt wird und Anpassen an die verknüpfte Region, und Modifizieren des Templates und der Regionen in Antwort auf die Bewegung eines 2-Achsen-Templatesteuerpunktes.
  40. Verfahren nach Anspruch 39, das weiterhin aufweist den Schritt des Anpassens des Objektes, das mit der Region verknüpft ist, in Antwort auf die Modifikation der Region.
  41. Verfahren nach Anspruch 39, das weiterhin die Schritte aufweist: Anzeigen eines Objektes, das mit dem Template verknüpft sein kann, Bewegen des Objektes in Bezug auf das Template in Antwort auf einen Benutzerbefehl, Erfassen der Nähe des Objektes zu einer Region des Templates und Anzeigen des Objektes in der Region unter Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  42. Verfahren nach Anspruch 41, das weiterhin den Schritt aufweist des Anzeigens des Objektes in der Nähe der Region ohne Verwendung einer Einstellung, während das Objekt in der Nähe der Region erfaßt wird.
  43. Programmierbare Verarbeitungseinrichtung, die eine Verarbeitungseinrichtung für das Ausführen von Programmbefehlen, eine Speichereinrichtung für das Speichern von Programmbefehlen und eine Anzeige aufweist, wobei die programmierbare Verarbeitungseinrichtung derart betreibbar ist, daß sie ein Computergrafikprogramm nach einem der Ansprüche 1 bis 21 oder ein Computergrafikverfahren nach einem der Ansprüche 22 bis 42 ausführt.
DE69722246T 1996-12-10 1997-12-08 Grafiksystem und verfahren zur anpassung von objekten an schablone Expired - Lifetime DE69722246T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US763163 1985-08-07
US08/763,163 US6304272B1 (en) 1996-12-10 1996-12-10 Graphics system and method having objects conformed to a template
PCT/US1997/022319 WO1998026347A1 (en) 1996-12-10 1997-12-08 Graphics system and method having objects conformed to a template

Publications (2)

Publication Number Publication Date
DE69722246D1 DE69722246D1 (de) 2003-06-26
DE69722246T2 true DE69722246T2 (de) 2004-03-11

Family

ID=25067048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69722246T Expired - Lifetime DE69722246T2 (de) 1996-12-10 1997-12-08 Grafiksystem und verfahren zur anpassung von objekten an schablone

Country Status (6)

Country Link
US (1) US6304272B1 (de)
EP (1) EP0951669B1 (de)
AT (1) ATE241167T1 (de)
AU (1) AU5517598A (de)
DE (1) DE69722246T2 (de)
WO (1) WO1998026347A1 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791572B1 (en) 1999-06-18 2004-09-14 Phoenix Technologies Ltd. Generating media output during BIOS boot-up
US6486883B1 (en) * 1999-06-18 2002-11-26 Phoenix Technologies, Ltd. Apparatus and method for updating images stored in non-volatile memory
JP2003036156A (ja) * 2001-05-15 2003-02-07 Dainippon Screen Mfg Co Ltd 印刷システム、クライアント、サーバ、印刷方法、および記録媒体並びにプログラム
US7079713B2 (en) 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7174042B1 (en) 2002-06-28 2007-02-06 Microsoft Corporation System and method for automatically recognizing electronic handwriting in an electronic document and converting to text
US7751623B1 (en) 2002-06-28 2010-07-06 Microsoft Corporation Writing guide for a free-form document editor
US7188309B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Resolving document object collisions
US7185278B1 (en) 2002-06-28 2007-02-27 Microsoft Corporation Separating and moving document objects using the movement of a wiper bar
US7259752B1 (en) 2002-06-28 2007-08-21 Microsoft Corporation Method and system for editing electronic ink
US7188092B2 (en) * 2002-07-12 2007-03-06 Chroma Energy, Inc. Pattern recognition template application applied to oil exploration and production
US7949690B2 (en) * 2002-09-06 2011-05-24 Autodesk, Inc. Project structure
US7376905B2 (en) * 2002-12-20 2008-05-20 International Business Machines Corporation Method, system, and computer program product for user-specified GUI object distribution
US7358965B2 (en) * 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
US7721226B2 (en) 2004-02-18 2010-05-18 Microsoft Corporation Glom widget
US7659890B2 (en) * 2004-03-19 2010-02-09 Microsoft Corporation Automatic height adjustment for electronic highlighter pens and mousing devices
JP3974135B2 (ja) * 2005-01-25 2007-09-12 株式会社コナミデジタルエンタテインメント プログラム、自動配置方法、ならびに、画像生成装置
US7526737B2 (en) 2005-11-14 2009-04-28 Microsoft Corporation Free form wiper
US20080209311A1 (en) * 2006-12-29 2008-08-28 Alex Agronik On-line digital image editing with wysiwyg transparency
US8520000B2 (en) 2008-07-02 2013-08-27 Icharts, Inc. Creation, sharing and embedding of interactive charts
US8271892B2 (en) * 2008-07-02 2012-09-18 Icharts, Inc. Creation, sharing and embedding of interactive charts
EP2359304B1 (de) * 2008-11-14 2020-04-01 Exxonmobil Upstream Research Company Bildung eines modells einer unterirdischen region
US20100162151A1 (en) * 2008-12-19 2010-06-24 Microsoft Corporation Techniques for organizing information on a computing device using movable objects
WO2011125846A1 (ja) * 2010-03-31 2011-10-13 楽天株式会社 情報処理装置、情報処理方法、情報処理プログラム、および、記録媒体
JP5561856B2 (ja) * 2010-05-24 2014-07-30 株式会社Pfu 帳票作成装置、帳票作成プログラム、および帳票作成方法
US8487932B1 (en) 2010-08-30 2013-07-16 Disney Enterprises, Inc. Drawing figures in computer-based drawing applications
US8427483B1 (en) * 2010-08-30 2013-04-23 Disney Enterprises. Inc. Drawing figures in computer-based drawing applications
AU2011201024A1 (en) 2011-03-08 2012-09-27 Canon Kabushiki Kaisha Shape parameterisation for editable document generation
US20140026039A1 (en) * 2012-07-19 2014-01-23 Jostens, Inc. Foundational tool for template creation
US10445391B2 (en) 2015-03-27 2019-10-15 Jostens, Inc. Yearbook publishing system
US9665654B2 (en) 2015-04-30 2017-05-30 Icharts, Inc. Secure connections in an interactive analytic visualization infrastructure

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710885A (en) 1985-07-02 1987-12-01 International Business Machines Corp. Generating figures in a document formatter directly from a declarative tag
GB8618665D0 (en) 1986-07-31 1986-09-10 British Telecomm Graphical workstation
GB8618664D0 (en) 1986-07-31 1986-09-10 British Telecomm Computer aided design system
US5204946A (en) 1988-06-17 1993-04-20 Canon Kabushiki Kaisha Mixed text and image data processing
US5021974A (en) 1988-09-13 1991-06-04 Microsoft Corporation Method for updating a display bitmap with a character string or the like
JPH02240782A (ja) 1989-03-14 1990-09-25 Canon Inc 図形処理装置
US5025396A (en) 1989-03-21 1991-06-18 International Business Machines Corporation Method and apparatus for merging a digitized image with an alphanumeric character string
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
US5278950A (en) 1989-09-20 1994-01-11 Fuji Photo Film Co., Ltd. Image composing method
JP2619962B2 (ja) 1990-02-28 1997-06-11 株式会社日立製作所 図形編集方法および装置
US5459826A (en) 1990-05-25 1995-10-17 Archibald; Delbert M. System and method for preparing text and pictorial materials for printing using predetermined coding and merging regimen
US5416900A (en) * 1991-04-25 1995-05-16 Lotus Development Corporation Presentation manager
US5452409A (en) 1991-09-11 1995-09-19 Hewlett-Packard Company System and method for creating and modifying graphs in a computer system using a multiple segment graph format
US5317646A (en) * 1992-03-24 1994-05-31 Xerox Corporation Automated method for creating templates in a forms recognition and processing system
US5426725A (en) 1992-06-16 1995-06-20 Honeywell Inc. Priority based graphics in an open system windows environment
US5437008A (en) * 1992-06-23 1995-07-25 Adobe Systems Incorporated Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints
US5515496A (en) * 1992-12-24 1996-05-07 Apple Computer, Inc. Computer system with direct manipulation interface and method of operating same
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
CA2124624C (en) * 1993-07-21 1999-07-13 Eric A. Bier User interface having click-through tools that can be composed with other tools
US5544301A (en) * 1993-12-30 1996-08-06 Taligent, Inc. Object-oriented view layout system
US5555369A (en) * 1994-02-14 1996-09-10 Apple Computer, Inc. Method of creating packages for a pointer-based computer system
US5459825A (en) * 1994-03-14 1995-10-17 Apple Computer, Inc. System for updating the locations of objects in computer displays upon reconfiguration
US5588108A (en) 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5704028A (en) * 1994-12-21 1997-12-30 Micrografx, Inc. Graphics systems and method having data fields and shape placement control
US5649133A (en) * 1995-06-13 1997-07-15 Apple Computer, Inc. Method for collision avoidance for user interface for object with multiple handles
US5704050A (en) * 1995-06-29 1997-12-30 International Business Machine Corp. Snap control for relocating elements of a graphical user interface
US5808610A (en) * 1996-08-28 1998-09-15 Macromedia, Inc. Method and system of docking panels

Also Published As

Publication number Publication date
EP0951669B1 (de) 2003-05-21
US6304272B1 (en) 2001-10-16
WO1998026347A1 (en) 1998-06-18
ATE241167T1 (de) 2003-06-15
AU5517598A (en) 1998-07-03
EP0951669A1 (de) 1999-10-27
DE69722246D1 (de) 2003-06-26

Similar Documents

Publication Publication Date Title
DE69722246T2 (de) Grafiksystem und verfahren zur anpassung von objekten an schablone
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69817634T2 (de) Vorrichtung und Verfahren zur Anzeige von Fenstern
DE69818383T2 (de) Interaktives System und Verfahren zur graphischen Darstellung
DE69631947T2 (de) Positionierung eines Eingabezeigers
DE69732684T2 (de) Automatische Modifizierung von Dokumentgestaltungen
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE10234137B4 (de) System und Verfahren, um Benutzern zu ermöglichen, graphische Bilder zu editieren
DE60310331T2 (de) Verfahren, Vorrichtung, Programm und Datenträger zur Bearbeitung von Bilddaten
DE69434370T2 (de) Strukturiertes Bildformat zur Beschreibung eines Komplexfarbrasterbilds
DE102007021697A1 (de) System und Verfahren für Gitter- und Körperhybridmodellierung unter Benutzung von 3D-Abtastdaten
DE4022384C2 (de) Verfahren zur Anzeige der Umrisse der Rahmen einer vorausbestimmten Bildfolge
DE112004000377B4 (de) Verfahren und Vorrichtung Bildsegmentierung in einer dreidimensionalen Arbeitsumgebung
DE3512505A1 (de) System zur bearbeitung von graphik-daten fuer einen cad-arbeitsplatz
DE4127809A1 (de) Verfahren und einrichtung zum anzeigen eines arbeitsablaufs
DE19882116T5 (de) System zum Konfigurieren einer Prozesssteuerumgebung mit grafischen Elementen
DE4033465A1 (de) Interaktives computer-gesteuertes displaysystem
DE102007043923A1 (de) System und Verfahren zum Berechnen von Verbundflächen unter Verwendung von 3D-Abtastdaten
EP1536377B1 (de) Verfahren zur Veränderung der Abmessungen eines elektronisch gespeicherten Bildes
DE102013203526A1 (de) Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung
DE102014006549B4 (de) Technik zur Verarbeitung einer Zeichenfolge zur graphischen Darstellung an einer Mensch-Maschine-Schnittstelle
DE69930352T2 (de) Verfahren und Vorrichtung zur Animierung von Videospezialeffekten
DE19581872B4 (de) Dreidimensionales Graphikaufbereitungssystem
DE3914905A1 (de) Vorrichtung und verfahren zur darstellung von mehrfach-fenstern
DE19751103A1 (de) Verfahren zum Bemaßen von auf einer Anzeigeeinrichtung dargestellten graphischen Objekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition