Werken met afbeeldingen in presentaties — Aspose.Slides FOSS voor .NET
Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame vormen. Afbeeldingen kunnen ook worden gebruikt als vorm-achtergrondvullingen via FillType.Picture.
Een afbeelding toevoegen vanuit bestand
Laad afbeeldingsbytes van schijf en voeg ze toe aan de afbeeldingscollectie van de presentatie met prs.Images.AddImage(). Plaats vervolgens de afbeelding op een dia als een 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);De vier positionele argumenten voor AddPictureFrame() zijn: x, y, width, height in punten.
Een afbeelding toevoegen vanuit een stream
Als je afbeeldingsgegevens hebt van een stream (bijv. gedownload van een URL of gelezen uit een database), geef deze dan direct door aan 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);Positioneren en dimensioneren van een PictureFrame
De PictureFrame geretourneerd door AddPictureFrame() erft alle Shape geometrische eigenschappen en kan na creatie opnieuw worden gepositioneerd:
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);Een afbeelding gebruiken als vormvulling
Elke vorm (niet alleen PictureFrame) kan een afbeelding gebruiken als achtergrondvulling. Stel FillType = FillType.Picture in en wijs de afbeelding toe aan 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 schalen de afbeelding zodat deze de hele vorm vult.
Meerdere afbeeldingen toevoegen over dia’s heen
Afbeeldingen toegevoegd aan prs.Images worden gedeeld over alle dia’s. Hetzelfde afbeeldingobject kan op meerdere dia’s worden gebruikt zonder de gegevens te dupliceren:
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);