Arbeta med bilder i presentationer — Aspose.Slides FOSS för .NET
Aspose.Slides FOSS for .NET låter dig bädda in bilder i en presentations delade bildsamling och visa dem på bilder med hjälp av PictureFrame former. Bilder kan också användas som formbakgrundsfyllningar via FillType.Picture.
Lägga till en bild från fil
Läs in bildbytes från disken och lägg till dem i presentationens bildsamling med prs.Images.AddImage(). Placera sedan bilden på en bild 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 fyra positionsargumenten till AddPictureFrame() är: x, y, width, height i punkter.
Lägga till en bild från en ström
Om du har bilddata från en ström (t.ex. nedladdad från en URL eller läst från en databas), skicka den direkt till 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 och storlek på en PictureFrame
Den PictureFrame som returneras av AddPictureFrame() ärver alla Shape geometri‑egenskaper och kan omplaceras efter skapandet:
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);Använda en bild som formfyllning
Alla former (inte bara PictureFrame) kan använda en bild som bakgrundsfyllning. Ställ in FillType = FillType.Picture och tilldela bilden till 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 skalar bilden så att den fyller hela formen.
Lägga till flera bilder på olika bilder
Bilder som läggs till i prs.Images delas över alla bilder. Samma bildobjekt kan användas på flera bilder utan att duplicera data:
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);