Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Visual Basic .NET. Grundlagen, Programmiertechniken, Windows-Anwendungen

Visual Basic .NET. Grundlagen, Programmiertechniken, Windows-Anwendungen

von: Michael Kofler

Addison-Wesley Verlag, 2002

ISBN: 9783827319821, 1076 Seiten

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 24,95 EUR

Ersparnis: 25,00 EUR

  • VBA mit Excel
    Jetzt lerne ich Visual Basic - Komplettes Starterkit.
    Erotische Ortswechsel. - Ein Erotik-Buch voller anregender Geschichten über Sex an ungewöhnlichen Orten.
    Microsoft Active Server Pages - Programmierung dynamischer, datenbankgestützter Webseiten
    ADO.NET Datenbankprogrammierung
    Visual Basic 6 - Programmiertechniken, Datenbanken, Internet
    Excel programmieren
    Microsoft SQL Server 2000
  • Statistische Grafiken mit Excel
    DNS und BIND - Für Systemadministratoren
    Access 2002 programmieren
    Linux Netzwerkadministration - Installation und Konfiguration von Netzwerkdiensten
    Programmierung mit der .NET-Klassenbibliothek - Zugriff auf das Windows-Betriebssystem mit Visual Basic .NETund C#
    MCSE Windows Server 2003 Active Directory - Examen 70-294

     

     

     

 

Mehr zum Inhalt

Visual Basic .NET. Grundlagen, Programmiertechniken, Windows-Anwendungen


 

16 Grafikprogrammierung (GDI+) (S. 832-833)

Dieses ziemlich lange Kapitel führt in die Grafikprogrammierung mit GDI+ ein. GDI+ steht für Graphics Device Interface und ist der Teil der .NET-Bibliothek, der für die Ausgabe von Linien, Mustern etc. in Fenstern, Steuerelementen und am Drucker verantwortlich ist.

16.1 Einführung 832
16.2 Elementare Grafikoperationen 840
16.3 Text ausgeben (Font-Klassen) 867
16.4 Bitmaps, Icons und Metafiles 894
16.5 Interna und spezielle Programmiertechniken 915


16.1 Einführung

Die Grafikprogrammierung in VB.NET basiert auf der .NET-Bibliothek System.Drawing (Datei System.Drawing.dll). Diese Bibliothek gibt in .NET den Zugang zum neuen GDI+ System. GDI steht für Graphics Device Interface und umfasst Funktionen zur Ausgabe und Verwaltung zweidimensionaler Grafiken (Punkte, Linien, Rechtecke, Vielecke etc.), zum Umgang mit Text und Schriftarten, zur Manipulation von Bitmaps, zur Erzeugung von Metafiles (Dateien mit Grafikobjekten) etc.

GDI+ würde genug Stoff geben, um ein eigenes Buch zu schreiben. Da an dieser Stelle aber nur Platz für ein Kapitel ist, beschränkt sich dieses Kapitel auf die Grundbegriffe, auf eine Einführung in die wichtigsten Klassen sowie auf eine Reihe von Beispielprogrammen. Das Kapitel schafft damit ein Fundament, das Ihnen die weitere Erforschung von GDI+ erleichtern soll.

In diesem Kapitel steht der System.Drawing-Namensraum im Mittelpunkt. Klassen der anderen Namensräume werden aus Platzgründen nur ansatzweise beschrieben. Informationen zum Ausdruck von Daten stehen im Mittelpunkt von Kapitel 17. Dort werden Sie sehen, dass es viele Ähnlichkeiten zwischen der Ausgabe am Bildschirm (d.h. in einem Formular oder PictureBox-Steuerelement) und der Ausgabe am Drucker gibt.

Verwendung der System.Drawing-Bibliothek

Damit Sie die System.Drawing-Bibliothek in Ihrem Programm benutzen können, muss das Projekt einen Verweis darauf enthalten. Beim Projekttyp VISUAL BASIC PROJEKT/WINDOWSANWENDUNG ist das automatisch der Fall, bei anderen Projekttypen kann es aber sein, dass Sie diesen Verweis selbst einrichten müssen (PROJEKT/VERWEIS HINZUFÜGEN). Bei einer VB.NET-Windows-Anwendung gilt außerdem per Default der Import System.- Drawing (siehe PROJEKT/EIGENSCHAFTEN/ALLG. EIGENSCHAFTEN/IMPORTE). Deswegen können Sie im Code alle Klassen von System.Drawing unmittelbar ansprechen, ohne jedes Mal System. Drawing voranzustellen. Der gesamte Code in diesem Kapitel setzt diesen Defaultimport voraus. Wenn das nicht der Fall ist, müssen Sie am Beginn der Codedatei Imports System.Drawing einfügen.

16.1.1 Ein erstes Beispiel

Das folgende Programm zeichnet einige einfache geomentrische Formen direkt in ein Formular. Die Programmausführung beginnt in Form1_Load, wo das Point-Feld pts mit einigen Zufallskoordinaten initialisiert wird. (Diese Initialisierung kann nicht in Form1_- Paint erfolgen, weil das daraus resultierende Polygon sonst ständig seine Form ändern würde.)

Die Ereignisprozedur Form1_Paint wird in der Folge immer dann aufgerufen, wenn der Fensterinhalt neu gezeichnet werden soll. Das ist ziemlich oft der Fall: jedes Mal, wenn verdeckte Teile des Fensters wieder sichtbar werden, wenn die Größe des Fensters verändert wird etc.

Die Grundidee von Grafik in VB.NET-Formularen lautet so: Einmal ausgegebene Grafiken werden nicht gespeichert (etwa in einer Bitmap). Stattdessen wird das Programm jedes Mal, wenn Teile der Grafik neu gezeichnet werden müssen, durch eine Ereignisprozedur benachrichtigt. Das Programm muss also zu jedem Zeitpunkt in der Lage sein, den Fensterinhalt neu zu zeichnen.

An die Paint-Ereignisprozedur werden zwei Parameter übergeben, von denen hier aber nur e interessant ist. Diese Variable (Klasse PaintEventArgs) enthält Informationen darüber, was eigentlich neu gezeichnet werden soll:

• e.Graphics verweist auf ein System.Drawing.Graphics-Objekt. Alle Grafikmethoden müssen auf dieses Objekt angewandt werden. Um die ständige Wiederholung von e.Graphics zu vermeiden, verwendet das Beispielprogramm die Variable g als Platzhalter. (Für alle, die sich schon mit dem Vorgänger von GDI+, also mit GDI beschäftigt haben:

Das Graphics-Objekt hat in GDI+ eine vergleichbare Funktion wie der Device Context (DC) in GDI.)

- e.ClipRectangle verweist auf ein System.Drawing.Rectangle-Objekt, das angibt, welche Bereiche des Fensters neu gezeichnet werden müssen. Diese Information wird oft (wie im Beispielprogramm) ignoriert. Stattdessen wird einfach alles neu gezeichnet. Nähere Informationen zur Bedeutung von ClipRectangle folgen in Abschnitt 16.5.3.

Der Rest des Beispielprogramms ist relativ einfach nachzuvollziehen: Alle Grafikmethoden setzen ein System.Drawing.Graphics-Objekt voraus, das durch die Variable gr gegeben ist. Außerdem muss bei den meisten Grafikmethoden eine Zeichenfarbe durch ein Pen- Objekt oder eine Füllfarbe (oder ein Füllmuster) durch ein Brush-Objekt angegeben werden. Daher werden zwei entsprechende Objekte erzeugt: ein blauer Zeichenstift mit einer Breite von zwei Pixeln sowie ein rotes Füllmuster.