Zeichnen von Bildern
Linien zeichnen
Dieses Beispiel verwendet die Graphics Klasse, um Linienformen auf der Bildfläche zu zeichnen. Um den Vorgang zu demonstrieren, erstellt das Beispiel ein neues Bild und zeichnet Linien auf der Bildfläche mithilfe der von der Graphics Klasse bereitgestellten Methode DrawLine. Zuerst wird ein PsdImage erstellt, indem Höhe und Breite angegeben werden.
Nachdem das Bild erstellt wurde, wird die Clear Methode der Graphics Klasse verwendet, um die Hintergrundfarbe festzulegen. Die DrawLine Methode der Graphics Klasse wird verwendet, um eine Linie auf einem Bild zu zeichnen und zwei Punktstrukturen zu verbinden. Diese Methode hat mehrere Überladungen, die eine Instanz der Pen Klasse und Koordinatenpaare von Punkten oder Point/PointF Strukturen als Argumente akzeptieren. Die Pen Klasse definiert ein Objekt, das verwendet wird, um Linien, Kurven und Figuren zu zeichnen. Die Pen Klasse verfügt über mehrere überladene Konstruktoren, um Linien mit angegebener Farbe, Breite und Pinsel zu zeichnen. Die SolidBrush Klasse wird zum kontinuierlichen Zeichnen mit einer bestimmten Farbe verwendet. Abschließend wird das Bild im bmp-Dateiformat exportiert. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie Linienformen auf der Bildfläche zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Lines.bmp"; | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and Clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw two dotted diagonal lines by specifying the Pen object having blue color and co-ordinate Points | |
graphic.DrawLine(new Pen(Color.Blue), 9, 9, 90, 90); | |
graphic.DrawLine(new Pen(Color.Blue), 9, 90, 90, 9); | |
// Draw a four continuous line by specifying the Pen object having Solid Brush with red color and two point structures | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Red)), new Point(9, 9), new Point(9, 90)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Aqua)), new Point(9, 90), new Point(90, 90)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.Black)), new Point(90, 90), new Point(90, 9)); | |
graphic.DrawLine(new Pen(new SolidBrush(Color.White)), new Point(90, 9), new Point(9, 9)); | |
image.Save(outpath, saveOptions); | |
} |
Ellipse zeichnen
Das Beispiel zum Zeichnen einer Ellipse ist der zweite Artikel in der Serie über das Zeichnen von Formen. Wir verwenden die Graphics Klasse, um die Ellipsenform auf der Bildfläche zu zeichnen. Um den Vorgang zu demonstrieren, erstellt das Beispiel ein neues Bild und zeichnet die Ellipsenform auf der Bildfläche mithilfe der von der Graphics Klasse bereitgestellten DrawEllipse Methode. Zuerst wird ein PsdImage erstellt, indem Höhe und Breite angegeben werden.
Nachdem das Bild erstellt wurde, wird eine Graphics Klasse erstellt und initialisiert und die Hintergrundfarbe des Bildes mithilfe der Clear Methode der Graphics Klasse festgelegt. Die DrawEllipse Methode der Graphics Klasse wird verwendet, um die Ellipsenform auf einer Bildfläche zu zeichnen, die durch die Bounding-Rectangle-Struktur angegeben ist. Diese Methode hat mehrere Überladungen, die die Instanzen der Pen und Rectangle/RectangleF Klassen oder ein Koordinatenpaar, eine Höhe und eine Breite als Argumente akzeptieren. Die Pen Klasse definiert ein Objekt, das verwendet wird, um Linien, Kurven und Figuren zu zeichnen. Die Pen Klasse verfügt über mehrere überladene Konstruktoren, um Linien mit angegebener Farbe, Breite und Pinsel zu zeichnen. Die Rectangle-Klasse speichert einen Satz von vier ganzen Zahlen, die den Ort und die Größe eines Rechtecks darstellen. Die Rectangle-Klasse verfügt über mehrere überladene Konstruktoren, um die Rechtecksstruktur mit angegebener Größe und Position zu zeichnen. Die SolidBrush Klasse wird zum kontinuierlichen Zeichnen mit einer bestimmten Farbe verwendet. Abschließend wird das Bild im bmp-Dateiformat exportiert. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie die Ellipsenform auf der Bildfläche zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Ellipse.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and Clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw a dotted ellipse shape by specifying the Pen object having red color and a surrounding Rectangle | |
graphic.DrawEllipse(new Pen(Color.Red), new Rectangle(30, 10, 40, 80)); | |
// Draw a continuous ellipse shape by specifying the Pen object having solid brush with blue color and a surrounding Rectangle | |
graphic.DrawEllipse(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Rechteck zeichnen
In diesem Beispiel wird die Rechtecksform auf der Bildfläche gezeichnet. Um den Vorgang zu demonstrieren, erstellt das Beispiel ein neues Bild und zeichnet die Rechtecksform auf der Bildfläche mithilfe der von der Graphics Klasse bereitgestellten DrawRectangle Methode. Zuerst wird ein PsdImage erstellt, indem Höhe und Breite angegeben werden. Dann wird die Hintergrundfarbe des Bildes unter Verwendung der Clear Methode der Graphics Klasse festgelegt.
Die DrawRectangle Methode der Graphics Klasse wird verwendet, um die Rechtecksform auf der Bildfläche zu zeichnen, die durch die Rechtecksstruktur angegeben ist. Diese Methode hat mehrere Überladungen, die die Instanzen der Pen und Rectangle/RectangleF Klassen oder das Koordinatenpaar, eine Breite und eine Höhe als Argumente akzeptieren. Die Rectangle-Klasse speichert einen Satz von vier ganzen Zahlen, die den Ort und die Größe eines Rechtecks darstellen. Die Rectangle-Klasse verfügt über mehrere überladene Konstruktoren, um die Rechtecksstruktur mit angegebener Größe und Position zu zeichnen. Abschließend wird das Bild im bmp-Dateiformat exportiert. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie die Rechtecksform auf der Bildfläche zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Rectangle.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class, Clear Graphics surface, Draw a rectangle shapes and save all changes. | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
graphic.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80)); | |
graphic.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Bogen zeichnen
In dieser Sitzung der Serie zum Zeichnen von Formen wird die Bogenform auf der Bildfläche gezeichnet. Wir werden die DrawArc Methode der Graphics verwenden, um den Vorgang auf einem BMP-Bild zu demonstrieren. Zuerst wird ein PsdImage erstellt, indem Höhe und Breite angegeben werden. Nachdem das Bild erstellt wurde, wird die Clear Methode der Graphics Klasse verwendet, um die Hintergrundfarbe festzulegen.
Die DrawArc Methode der Graphics Klasse wird verwendet, um die Bogenform auf einer Bildfläche zu zeichnen. DrawArc repräsentiert einen Teil einer Ellipse, der durch die Rechtecksstruktur oder ein Paar von Koordinaten angegeben ist. Diese Methode hat mehrere Überladungen, die die Instanzen der Pen-Klassen und der Rectangle/RectangleF-Struktur oder ein Paar der Koordinaten, eine Breite und eine Höhe als Argumente akzeptieren. Abschließend wird das Bild im bmp-Dateiformat exportiert. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie die Bogenform auf der Bildfläche zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Arc.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Draw an arc shape by specifying the Pen object having red black color and coordinates, height, width, start & end angles | |
int width = 100; | |
int height = 200; | |
int startAngle = 45; | |
int sweepAngle = 270; | |
// Draw arc to screen and save all changes. | |
graphic.DrawArc(new Pen(Color.Black), 0, 0, width, height, startAngle, sweepAngle); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Bezier zeichnen
Dieses Beispiel verwendet die Graphics Klasse, um die Bezierform auf der Bildfläche zu zeichnen. Um den Vorgang zu demonstrieren, erstellt das Beispiel ein neues Bild und zeichnet die Bezierform auf der Bildfläche mithilfe der von Graphics bereitgestellten DrawBezier Methode. Zuerst wird ein PsdImage erstellt, indem Höhe und Breite angegeben werden. Nachdem das Bild erstellt wurde, wird die Clear Methode der Graphics Klasse verwendet, um die Hintergrundfarbe festzulegen.
Die DrawBezier Methode der Graphics Klasse wird verwendet, um die Bezier-Spline-Form auf einer Bildfläche zu zeichnen, die durch vier Punktestrukturen definiert ist. Diese Methode hat mehrere Überladungen, die die Instanzen der Pen-Klasse und vier geordnete Paare von Koordinaten oder vier Point/PointF-Strukturen oder ein Array von Point/PointF-Strukturen akzeptieren. Die Pen-Klasse definiert ein Objekt, das zum Zeichnen von Linien, Kurven und Figuren verwendet wird. Die Pen-Klasse verfügt über mehrere überladene Konstruktoren, um Linien mit angegebener Farbe, Breite und Pinsel zu zeichnen. Abschließend wird das Bild im bmp-Dateiformat exportiert. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie die Bezier-Form auf der Bildfläche zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outpath = dataDir + "Bezier.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.BitsPerPixel = 32; | |
// Create an instance of Image | |
using (Image image = new PsdImage(100, 100)) | |
{ | |
// Create and initialize an instance of Graphics class and clear Graphics surface | |
Graphics graphic = new Graphics(image); | |
graphic.Clear(Color.Yellow); | |
// Initializes the instance of PEN class with black color and width | |
Pen BlackPen = new Pen(Color.Black, 3); | |
float startX = 10; | |
float startY = 25; | |
float controlX1 = 20; | |
float controlY1 = 5; | |
float controlX2 = 55; | |
float controlY2 = 10; | |
float endX = 90; | |
float endY = 25; | |
// Draw a Bezier shape by specifying the Pen object having black color and co-ordinate Points and save all changes. | |
graphic.DrawBezier(BlackPen, startX, startY, controlX1, controlY1, controlX2, controlY2, endX, endY); | |
// export image to bmp file format. | |
image.Save(outpath, saveOptions); | |
} |
Zeichnen von Bildern mit Kernfunktionalität
Aspose.PSD ist eine Bibliothek, die viele wertvolle Funktionen bietet, einschließlich des Erstellens von Bildern von Grund auf neu. Zeichnen Sie mit Kernfunktionalitäten wie der Manipulation von Bitmap-Informationen eines Bildes oder verwenden Sie erweiterte Funktionen wie Graphics und GraphicsPath, um Formen auf der Bildfläche mithilfe verschiedener Pinsel und Stifte zu zeichnen. Mit der RasterImage-Klasse von Aspose.PSD können Sie die Pixelinformationen eines Bildbereichs abrufen und manipulieren. Die RasterImage-Klasse enthält die gesamte Kernzeichnungsfunktionalität, wie das Abfragen und Setzen von Pixeln und andere Methoden zur Bildmanipulation. Erstellen Sie ein neues Bild mithilfe einer der in der Erstellung von Dateien beschriebenen Methoden und weisen Sie es einer Instanz der RasterImage-Klasse zu. Verwenden Sie die LoadPixels Methode der RasterImage-Klasse, um die Pixelinformationen eines Bildbereichs abzurufen. Nachdem Sie ein Array von Pixeln haben, können Sie es manipulieren, indem Sie z.B. die Farbe jedes Pixels ändern. Nach der Manipulation der Pixelinformationen setzen Sie sie zurück in den gewünschten Bereich im Bild mithilfe der SavePixels Methode der RasterImage-Klasse. Der folgende Code-Ausschnitt zeigt Ihnen, wie Sie Bilder mit Kernfunktionalitäten zeichnen können.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string loadpath = dataDir + "sample.psd"; | |
string outpath = dataDir + "CoreDrawingFeatures.bmp"; | |
// Create an instance of Image | |
using (PsdImage image = new PsdImage(loadpath)) | |
{ | |
// load pixels | |
var pixels = image.LoadArgb32Pixels(new Rectangle(0, 0, 100, 10)); | |
for (int i = 0; i < pixels.Length; i++) | |
{ | |
// specify pixel color value (gradient in this case). | |
pixels[i] = i; | |
} | |
// save modified pixels. | |
image.SaveArgb32Pixels(new Rectangle(0, 0, 100, 10), pixels); | |
// export image to bmp file format. | |
image.Save(outpath, new BmpOptions()); | |
} |