Travailler avec des images dans les présentations — Aspose.Slides FOSS pour .NET

Aspose.Slides FOSS for .NET vous permet d’intégrer des images dans la collection d’images partagée d’une présentation et de les afficher sur les diapositives à l’aide de formes PictureFrame. Les images peuvent également être utilisées comme remplissages d’arrière‑plan de forme via FillType.Picture.


Ajout d’une image depuis un fichier

Chargez les octets d’image depuis le disque et ajoutez‑les à la collection d’images de la présentation avec prs.Images.AddImage(). Ensuite, placez l’image sur une diapositive en tant que PictureFrame :

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
// Add the image to the shared collection
var imageData = File.ReadAllBytes("logo.png");
var img = prs.Images.AddImage(imageData);

// Place it on the slide as a PictureFrame
var slide = prs.Slides[0];
slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 300, 200, img);

prs.Save("with-image.pptx", SaveFormat.Pptx);

Les quatre arguments positionnels de AddPictureFrame() sont : x, y, width, height en points.


Ajouter une image à partir d’un flux

Si vous disposez de données d’image provenant d’un flux (par exemple, téléchargées depuis une URL ou lues depuis une base de données), transmettez-les directement à AddImage() :

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
using var stream = File.OpenRead("photo.jpg");
var img = prs.Images.AddImage(stream);
prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 100, 80, 400, 250, img);
prs.Save("from-stream.pptx", SaveFormat.Pptx);

Positionnement et dimensionnement d’un PictureFrame

Le PictureFrame renvoyé par AddPictureFrame() hérite de toutes les propriétés géométriques Shape et peut être repositionné après création:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var imageData = File.ReadAllBytes("photo.jpg");
var img = prs.Images.AddImage(imageData);

var pf = prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 100, 100, img);

// Reposition and resize after creation
pf.X = 50;
pf.Y = 100;
pf.Width = 350;
pf.Height = 250;

prs.Save("positioned.pptx", SaveFormat.Pptx);

Utiliser une image comme remplissage de forme

Toute forme (pas seulement PictureFrame) peut utiliser une image comme remplissage d’arrière-plan. Définissez FillType = FillType.Picture et attribuez l’image à PictureFillFormat.Picture.Image:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var imageData = File.ReadAllBytes("background.png");
var img = prs.Images.AddImage(imageData);

var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.RoundCornerRectangle, 50, 50, 400, 250);
shape.FillFormat.FillType = FillType.Picture;
shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;
shape.FillFormat.PictureFillFormat.Picture.Image = img;

prs.Save("picture-fill.pptx", SaveFormat.Pptx);

PictureFillMode.Stretch redimensionne l’image pour remplir toute la forme.


Ajout de plusieurs images sur les diapositives

Les images ajoutées à prs.Images sont partagées entre toutes les diapositives. Le même objet image peut être utilisé sur plusieurs diapositives sans dupliquer les données :

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var logoData = File.ReadAllBytes("logo.png");
var logo = prs.Images.AddImage(logoData);

// Add the same image to the first slide
prs.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 600, 10, 100, 40, logo);

prs.Save("shared-image.pptx", SaveFormat.Pptx);

Voir aussi

 Français