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