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

Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame formes. Les images peuvent également être utilisées comme remplissages d’arrière-plan de forme via FillType.Picture.


Ajouter 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.


Ajout d’une image depuis un flux

Si vous disposez de données d’image provenant d’un flux (par ex., 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 tous les Shape propriétés géométriques 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 plusieurs diapositives

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