Dessiner des images
Dessiner des lignes
Cet exemple utilise la classe Graphics pour dessiner des formes de lignes sur la surface de l’image. Pour illustrer son fonctionnement, l’exemple crée une nouvelle image et dessine des lignes sur la surface de l’image en utilisant la méthode DrawLine exposée par la classe Graphics. Tout d’abord, nous allons créer une PsdImage en spécifiant sa hauteur et sa largeur.
Une fois l’image créée, nous utiliserons la méthode Clear exposée par la classe Graphics pour définir sa couleur de fond. La méthode DrawLine de la classe Graphics est utilisée pour dessiner une ligne sur une image en connectant deux structures de points. Cette méthode a plusieurs surcharges acceptant l’instance de la classe Pen et des paires de coordonnées de points ou des structures Point/PointF en tant qu’arguments. La classe Pen définit un objet utilisé pour dessiner des lignes, des courbes et des formes. La classe Pen a plusieurs constructeurs surchargés pour dessiner des lignes avec une couleur, une épaisseur et un pinceau spécifiés. La classe SolidBrush est utilisée pour dessiner en continu avec une couleur spécifique. Enfin, l’image est exportée au format de fichier BMP. Le code suivant montre comment dessiner des formes de lignes sur la surface de l’image.
String dataDir = Utils.getDataDir(DrawingLines.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Lines.bmp"; | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Draw two dotted diagonal lines by specifying the Pen object having blue color and co-ordinate Points | |
graphic.drawLine(new Pen(Color.getBlue()), 9, 9, 90, 90); | |
graphic.drawLine(new Pen(Color.getBlue()), 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.getRed())), new Point(9, 9), new Point(9, 90)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getAqua())), new Point(9, 90), new Point(90, 90)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getBlack())), new Point(90, 90), new Point(90, 9)); | |
graphic.drawLine(new Pen(new SolidBrush(Color.getWhite())), new Point(90, 9), new Point(9, 9)); | |
image.save(outpath, saveOptions); | |
} |
Dessiner une ellipse
L’exemple de dessin d’ellipse est le deuxième article de la série sur le dessin de formes. Nous utiliserons la classe Graphics pour dessiner la forme d’ellipse sur la surface de l’image. Pour illustrer son fonctionnement, l’exemple crée une nouvelle image et dessine la forme d’ellipse sur la surface de l’image en utilisant la méthode DrawEllipse exposée par la classe Graphics. Tout d’abord, nous allons créer une PsdImage en spécifiant sa hauteur et sa largeur.
Après avoir créé l’image, nous créerons et initialiserons un objet de classe Graphics et définirons la couleur de fond de l’image en utilisant la méthode Clear de la classe Graphics. La méthode DrawEllipse de la classe Graphics est utilisée pour dessiner la forme de l’ellipse sur une surface d’image spécifiée par la structure de rectangle englobante. Cette méthode a plusieurs surcharges acceptant les instances des classes Pen et Rectangle/RectangleF ou une paire de coordonnées, une hauteur et une largeur en tant qu’arguments. La classe Pen définit un objet utilisé pour dessiner des lignes, des courbes et des formes. La classe Pen a plusieurs constructeurs surchargés pour dessiner des lignes avec une couleur, une épaisseur et un pinceau spécifiés. La classe Rectangle stocke un ensemble de quatre entiers qui représentent la position et la taille d’un rectangle. La classe Rectangle a plusieurs constructeurs surchargés pour dessiner la structure de rectangle avec une taille et une position spécifiées. La classe SolidBrush est utilisée pour dessiner en continu avec une couleur spécifique. Enfin, l’image est exportée au format de fichier BMP. Le code suivant montre comment dessiner la forme d’une ellipse sur la surface de l’image.
String dataDir = Utils.getDataDir(DrawingEllipse.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Ellipse.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Draw a dotted ellipse shape by specifying the Pen object having red color and a surrounding Rectangle | |
graphic.drawEllipse(new Pen(Color.getRed()), 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.getBlue())), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Dessiner un rectangle
Dans cet exemple, nous allons dessiner la forme du rectangle sur la surface de l’image. Pour illustrer son fonctionnement, l’exemple crée une nouvelle image et dessine la forme du rectangle sur la surface de l’image en utilisant la méthode DrawRectangle exposée par la classe Graphics. Tout d’abord, nous allons créer une PsdImage en spécifiant sa hauteur et sa largeur. Ensuite, nous définirons la couleur de fond de l’image en utilisant la méthode Clear de la classe Graphics.
La méthode DrawRectangle de la classe Graphics est utilisée pour dessiner la forme du rectangle sur une surface d’image spécifiée par la structure de rectangle. Cette méthode a plusieurs surcharges acceptant les instances des classes Pen et Rectangle/RectangleF ou une paire de coordonnées, une largeur et une hauteur en tant qu’arguments. La classe Rectangle stocke un ensemble de quatre entiers qui représentent la position et la taille d’un rectangle. La classe Rectangle a plusieurs constructeurs surchargés pour dessiner la structure du rectangle avec une taille et une position spécifiées. Enfin, l’image est exportée au format de fichier BMP. Le code suivant montre comment dessiner la forme d’un rectangle sur la surface de l’image.
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Rectangle.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
graphic.drawRectangle(new Pen(Color.getRed()), new Rectangle(30, 10, 40, 80)); | |
graphic.drawRectangle(new Pen(new SolidBrush(Color.getBlue())), new Rectangle(10, 30, 80, 40)); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Dessiner un arc
Dans cette session de la série de dessin de formes, nous allons dessiner la forme de l’arc sur la surface de l’image. Nous utiliserons la méthode DrawArc de Graphics pour illustrer l’opération sur une image BMP. Tout d’abord, nous allons créer une PsdImage en spécifiant sa hauteur et sa largeur. Une fois l’image créée, nous utiliserons la méthode Clear exposée par la classe Graphics pour définir sa couleur de fond.
La méthode DrawArc de la classe Graphics est utilisée pour dessiner la forme de l’arc sur une surface d’image. DrawArc représente une partie d’une ellipse spécifiée par la structure de rectangle ou une paire de coordonnées. Cette méthode a plusieurs surcharges acceptant les instances des classes Pen et structure Rectangle/RectangleF ou une paire de coordonnées, une largeur et une hauteur en tant qu’arguments. Enfin, l’image est exportée au format de fichier BMP. Le code suivant montre comment dessiner la forme de l’arc sur la surface de l’image.
String dataDir = Utils.getDataDir(DrawingArc.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Arc.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// 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.getBlack()), 0, 0, width, height, startAngle, sweepAngle); | |
// export image to bmp file format. | |
image.save(outpath, saveOptions); | |
} |
Dessiner une courbe de Bézier
Cet exemple utilise la classe Graphics pour dessiner la forme de Bézier sur la surface de l’image. Pour illustrer son fonctionnement, l’exemple crée une nouvelle image et dessine la forme de Bézier sur la surface de l’image en utilisant la méthode DrawBezier exposée par la classe Graphics. Tout d’abord, nous allons créer une PsdImage en spécifiant sa hauteur et sa largeur. Une fois l’image créée, nous utiliserons la méthode Clear exposée par la classe Graphics pour définir sa couleur de fond.
La méthode DrawBezier de la classe Graphics est utilisée pour dessiner la forme de la spline de Bézier sur une surface d’image définie par quatre structures de point. Cette méthode a plusieurs surcharges acceptant les instances de la classe Pen et quatre paires de coordonnées ordonnées, ou quatre structures Point/PointF, ou un tableau de structures Point/PointF. La classe Pen définit un objet utilisé pour dessiner des lignes, des courbes et des formes. La classe Pen a plusieurs constructeurs surchargés pour dessiner des lignes avec une couleur, une épaisseur et un pinceau spécifiés. Enfin, l’image est exportée au format de fichier BMP. Le code suivant montre comment dessiner la forme de Bézier sur la surface de l’image.
String dataDir = Utils.getDataDir(DrawingBezier.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String outpath = dataDir + "Bezier.bmp"; | |
// Create an instance of BmpOptions and set its various properties | |
BmpOptions saveOptions = new BmpOptions(); | |
saveOptions.setBitsPerPixel(32); | |
// Create an instance of Image | |
try (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.getYellow()); | |
// Initializes the instance of PEN class with black color and width | |
Pen BlackPen = new Pen(Color.getBlack(), 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); | |
} |
Dessiner des images en utilisant la fonctionnalité de base
Aspose.PSD est une bibliothèque qui offre de nombreuses fonctionnalités précieuses, notamment la création d’images à partir de zéro. Dessinez en utilisant la fonctionnalité de base comme la manipulation des informations de bitmap d’une image, ou utilisez les fonctionnalités avancées comme Graphics et GraphicsPath pour dessiner des formes sur la surface de l’image à l’aide de différents pinceaux et stylos. En utilisant la classe RasterImage d’Aspose.PSD, vous pouvez récupérer les informations de pixel d’une zone d’image et les manipuler. La classe RasterImage contient l’ensemble de fonctionnalités de dessin de base, comme obtenir et définir des pixels et d’autres méthodes de manipulation d’images. Créez une nouvelle image en utilisant l’une des méthodes décrites dans la création de fichiers et assignez-la à une instance de la classe RasterImage. Utilisez la méthode LoadPixels de la classe RasterImage pour récupérer les informations de pixel d’une partie d’une image. Une fois que vous disposez d’un tableau de pixels, vous pouvez le manipuler en modifiant par exemple la couleur de chaque pixel. Après avoir manipulé les informations de pixel, réaffectez-les à la zone désirée de l’image en utilisant la méthode SavePixels de la classe RasterImage. Le code suivant montre comment dessiner des images en utilisant la fonctionnalité de base.
String dataDir = Utils.getDataDir(CoreDrawingFeatures.class) + "DrawingImages/"; | |
// Create an instance of BmpOptions and set its various properties | |
String loadpath = dataDir + "sample.psd"; | |
String outpath = dataDir + "CoreDrawingFeatures.bmp"; | |
// Create an instance of Image | |
try (PsdImage image = new PsdImage(loadpath)) { | |
// load pixels | |
int[] 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()); | |
} |