Arbeiten mit Bildern in Präsentationen Aspose.Slides FOSS für .NET
Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame Bilder können auch als Form Hintergrund füllt über die FillType.Picture.
Ein Bild aus einer Datei hinzufügen
Laden Sie Bildbyte von der Festplatte und fügen sie zur Präsentationsbild-Sammlung mit prs.Images.AddImage().Dann platzieren Sie das Bild auf einer Folie als eine 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);Die vier Positionsargumente für die AddPictureFrame() sind: x, y, width, height in Punkten.
Ein Bild aus einem Stream hinzufügen
Wenn Sie Bilddaten aus einem Stream haben (z. B. von einer URL heruntergeladen oder aus einer Datenbank gelesen), geben Sie sie direkt an die 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);Positionierung und Größe eines Bildrahmens
Die PictureFrame zurückgegeben von: AddPictureFrame() Erbt alle Shape Geometrie-Eigenschaften und kann nach der Erstellung neu positioniert werden:
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);Ein Bild als Formfüllung zu verwenden
Jede Form (nicht nur PictureFrame) kann ein Bild als Hintergrundfüllung verwenden. Setzen Sie die Schnittstelle für das Bild, um den Hundertspiel zu erstellen. FillType = FillType.Picture und das Bild zuzuordnen, um die 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 Das Bild wird so skaliert, dass es die ganze Form füllt.
Mehrfache Bilder auf Dias hinzufügen
Bilder hinzugefügt zu prs.Images Das gleiche Bildobjekt kann auf mehreren Dias verwendet werden, ohne dass die Daten dupliziert werden:
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);