Arbejde med billeder i præsentationer — Aspose.Slides FOSS for .NET
Aspose.Slides FOSS for .NET lader dig indlejre billeder i en præsentations delte billedsamling og vise dem på dias ved hjælp af PictureFrame former. Billeder kan også bruges som baggrundsudfyldning for former via FillType.Picture.
Tilføjelse af et billede fra fil
Indlæs billedbytes fra disk og tilføj dem til præsentationens billedsamling med prs.Images.AddImage(). Placer derefter billedet på en 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 point.
Tilføjelse af et billede fra en strøm
Hvis du har billeddata fra en strøm (f.eks. downloadet fra en URL eller læst fra en database), skal du videregive dem 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ørrelsesjustering af en PictureFrame
Den PictureFrame, der returneres af AddPictureFrame(), arver alle Shape geometri‑egenskaber og kan repositioneres 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 formfyld
Enhver form (ikke kun PictureFrame) kan bruge et billede som 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 fylder hele formen.
Tilføjelse af flere billeder på tværs af dias
Billeder, der tilføjes til prs.Images, deles på tværs af alle dias. Det samme billedobjekt kan bruges på flere dias 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);