Lucrul cu imagini în prezentări — Aspose.Slides FOSS pentru .NET

Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame forme. Imaginile pot fi, de asemenea, utilizate ca umpluturi de fundal pentru forme prin FillType.Picture.


Adăugarea unei imagini din fișier

Încarcă octeții imaginii de pe disc și adaugă-i în colecția de imagini a prezentării cu prs.Images.AddImage(). Apoi plasează imaginea pe un diapozitiv ca un 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);

Cele patru argumente poziționale pentru AddPictureFrame() sunt: x, y, width, height în puncte.


Adăugarea unei imagini dintr-un flux

Dacă ai date de imagine dintr-un flux (de exemplu, descărcate de la un URL sau citite dintr-o bază de date), transmite-le direct către 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);

Poziționarea și dimensionarea unui PictureFrame

The PictureFrame returnat de AddPictureFrame() moștenește toate Shape proprietățile geometrice și poate fi repoziționat după creare:

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

Utilizarea unei imagini ca umplere a unei forme

Orice formă (nu doar PictureFrame) poate folosi o imagine ca umplere de fundal. Set FillType = FillType.Picture și atribuiți imaginea la 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 scalează imaginea pentru a umple întreaga formă.


Adăugarea mai multor imagini pe diapozitive diferite

Imaginile adăugate la prs.Images sunt partajate pe toate diapozitivele. Același obiect imagine poate fi utilizat pe mai multe diapozitive fără a duplica datele:

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

Vezi și

 Română