Vyobrazení obrázků

Kreslení čar

Tento příklad používá třídu Graphics k vykreslení tvarů čar na povrchu obrázku. Pro demonstraci operace vytvoří příklad nový obrázek a vykreslí čáry na povrchu obrázku pomocí metody DrawLine poskytované třídou Graphics. Nejprve vytvoříme obrázek PsdImage s určenou výškou a šířkou.

Jakmile je obrázek vytvořen, použijeme metodu Clear poskytovanou třídou Graphics k nastavení barvy pozadí. Metoda DrawLine třídy Graphics je použita k vykreslení čáry na obrázku spojující dvě struktury bodů. Tato metoda má několik verzí přijímajících instanci třídy Pen a souřadnice párů bodů nebo struktur Point/PointF jako argumenty. Třída Pen definuje objekt používaný kreslení čar, křivek a tvarů. Třída Pen má několik přetížených konstruktorů pro kreslení čar s určenou barvou, šířkou a štětcem. Třída SolidBrush je použita ke kontinuálnímu kreslení s konkrétní barvou. Nakonec je obrázek exportován do formátu bmp. Následující úryvek kódu vám ukazuje, jak vykreslit tvary čar na povrchu obrázku.

// 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);
}

Kreslení elipsy

Příklad kreslení elipsy je druhým článkem ve skupině kreslících tvarů. Použijeme třídu Graphics k vykreslení tvaru elipsy na povrchu obrázku. Pro demonstraci operace vytvoří příklad nový obrázek a vykreslí elipsoidní tvar na povrchu obrázku pomocí metody DrawEllipse poskytované třídou Graphics. Nejprve vytvoříme obrázek PsdImage s určenou výškou a šířkou.

Po vytvoření obrázku vytvoříme a inicializujeme objekt třídy Graphics a nastavíme barvu pozadí obrázku pomocí metody Clear třídy Graphics. Metoda DrawEllipse třídy Graphics je použita k vykreslení tvaru elipsy na povrchu obrázku specifikovaný obdélníkem. Tato metoda má několik verzí přijímajících instance tříd Pen a Rectangle/RectangleF nebo pár souřadnic, výšku a šířku jako argumenty. Třída Pen definuje objekt používaný kreslení čar, křivek a tvarů. Třída Pen má několik přetížených konstruktorů pro kreslení čar s určenou barvou, šířkou a štětcem. Třída Rectangle uchovává sadu čtyř celých čísel, která reprezentují umístění a velikost obdélníka. Třída Rectangle má několik přetížených konstruktorů pro kreslení obdélníkové struktury s určenou velikostí a umístěním. Třída SolidBrush je použita ke kontinuálnímu kreslení s konkrétní barvou. Nakonec je obrázek exportován do formátu bmp. Následující úryvek kódu vám ukazuje, jak vykreslit tvar elipsy na povrchu obrázku.

// 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);
}

Kreslení obdélníku

V tomto příkladu nakreslíme tvar obdélníku na povrchu obrázku. Pro demonstraci operace vytvoří příklad nový obrázek a nakreslí obdélníkový tvar na povrchu obrázku pomocí metody DrawRectangle poskytované třídou Graphics. Nejprve vytvoříme obrázek PsdImage s určenou výškou a šířkou. Poté nastavíme barvu pozadí obrázku pomocí metody Clear třídy Graphics.

Metoda DrawRectangle třídy Graphics je použita k vykreslení tvaru obdélníku na povrchu obrázku specifikovaný strukturou obdélníku. Tato metoda má několik verzí přijímajících instance tříd Pen a Rectangle/RectangleF nebo dvojici souřadnic, šířku a výšku jako argumenty. Třída Rectangle uchovává sadu čtyř celých čísel, která reprezentují umístění a velikost obdélníka. Třída Rectangle má několik přetížených konstruktorů pro kreslení obdélníkové struktury s určenou velikostí a umístěním. Nakonec je obrázek exportován do formátu bmp. Následující úryvek kódu vám ukazuje, jak nakreslit tvar obdélníku na povrchu obrázku.

// 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);
}

Kreslení oblouku

V této části série kreslení tvarů nakreslíme tvar oblouku na povrchu obrázku. Budeme používat metodu DrawArc třídy Graphics k demonstraci operace na bmp obrázku. Nejprve vytvoříme obrázek PsdImage s určenou výškou a šířkou. Jakmile je obrázek vytvořen, použijeme metodu Clear poskytovanou třídou Graphics k nastavení barvy pozadí.

Metoda DrawArc třídy Graphics je použita k vytvoření tvaru oblouku na povrchu obrázku. DrawArc reprezentuje část elipsy specifikované strukturou obdélníku nebo dvojicí souřadnic. Tato metoda má několik verzí přijímajících instance tříd Pen a Rectangle/RectangleF nebo dvojici souřadnic, šířku a výšku jako argumenty. Nakonec je obrázek exportován do formátu bmp. Následující úryvek kódu vám ukazuje, jak nakreslit tvar oblouku na povrchu obrázku.

// 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);
}

Kreslení Bézierovy křivky

Tento příklad používá třídu Graphics k vykreslení tvaru Bézier na povrchu obrázku. Pro demonstraci operace vytvoří příklad nový obrázek a nakreslí tvar Bézier na povrchu obrázku pomocí metody DrawBezier poskytované třídou Graphics. Nejprve vytvoříme obrázek PsdImage s určenou výškou a šířkou. Jakmile je obrázek vytvořen, použijeme metodu Clear poskytovanou třídou Graphics k nastavení barvy pozadí.

Metoda DrawBezier třídy Graphics je použita k vykreslení tvaru Bézier spline na povrchu obrázku definovaný čtyřmi strukturami Point. Tato metoda má několik verzí přijímajících instance třídy Pen a čtyři uspořádané páry souřadnic nebo čtyři struktury Point/PointF nebo pole struktur Point/PointF. Třída Pen definuje objekt používaný kreslení čar, křivek a tvarů. Třída Pen má několik přetížených konstruktorů pro kreslení čar s určenou barvou, šířkou a štětcem. Nakonec je obrázek exportován do formátu bmp. Následující úryvek kódu vám ukazuje, jak nakreslit tvar Bézier na povrchu obrázku.

// 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);
}

Kreslení obrázků pomocí základní funkcionality jádra

Aspose.PSD je knihovna, která nabízí mnoho cenných funkcí, včetně vytváření obrázků od základu. Kreslete pomocí základní funkcionality jako manipulace s bitmapovými informacemi obrázku nebo využijte pokročilé funkce jako třídy Graphics a GraphicsPath kreslit tvary na povrchu obrázku s pomocí různých štětců a per. Pomocí třídy RasterImage Aspose.PSD můžete získat informace o pixelech oblasti obrázku a manipulovat s nimi. Třída RasterImage obsahuje veškerou základní kreslící funkčnost, jako získání a nastavení pixelů a další metody pro manipulaci s obrázkem. Vytvořte nový obrázek pomocí libovolné z metod popsaných vytváření souborů a přiřaďte ho instanci třídy RasterImage. Použijte metodu LoadPixels třídy RasterImage k získání informací o pixelech dané oblasti obrázku. Jakmile máte pole pixelů, můžete je manipulovat, například změnit barvu každého pixelu. Po manipulaci s informacemi o pixelech je možné je vrátit zpět na stanovenou oblast v obrázku pomocí metody SavePixels třídy RasterImage. Následující úryvek kódu vám ukazuje, jak kreslit obrázky pomocí základní funkcionality jádra.

// 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());
}