-
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,
-
3A – 3C 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 3a – 3c und 7 – 9 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 3A – 3C 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 86–98 (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.