Arbejde med billeder i præsentationer — Aspose.Slides FOSS for .NET
Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame former. Billeder kan også bruges som baggrundsudfyldning for former via FillType.Picture.
Tilføjelse af et billede fra fil
Indlæs billedbytes fra disken og tilføj dem til præsentationens billedsamling med prs.Images.AddImage(). Placer derefter billedet på et slide som en 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 fire positionsargumenter til AddPictureFrame() er: x, y, width, height i punkter.
Tilføjelse af et billede fra en stream
Hvis du har billeddata fra en strøm (f.eks. downloadet fra en URL eller læst fra en database), skal du videregive den direkte til 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);Placering og størrelsesændring af en PictureFrame
Den PictureFrame returneret af AddPictureFrame() arver alle Shape geometrieegenskaber og kan flyttes efter oprettelse:
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);Brug af et billede som formudfyldning
Enhver form (ikke kun PictureFrame) kan bruge et billede som sin baggrundsudfyldning. Indstil FillType = FillType.Picture og tildel billedet til 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 skalerer billedet så det udfylder hele formen.
Tilføjelse af flere billeder på tværs af slides
Billeder tilføjet til prs.Images er delt på tværs af alle slides. Det samme billedobjekt kan bruges på flere slides uden at duplikere dataene:
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);