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 Formen. Bilder können auch als Hintergrundfüllungen für Formen verwendet werden über FillType.Picture.


Hinzufügen eines Bildes aus einer Datei

Laden Sie Bildbytes von der Festplatte und fügen Sie sie der Bildsammlung der Präsentation mit prs.Images.AddImage(). Dann platzieren Sie das Bild auf einer Folie als 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 AddPictureFrame() sind: x, y, width, height in Punkten.


Hinzufügen eines Bildes aus einem Stream

Wenn Sie Bilddaten aus einem Stream haben (z. B. von einer URL heruntergeladen oder aus einer Datenbank gelesen), übergeben Sie sie direkt an 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);

Positionieren und Skalieren eines PictureFrame

Der PictureFrame zurückgegeben von AddPictureFrame() erbt alle Shape Geometrieeigenschaften 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);

Verwenden eines Bildes als Formfüllung

Jede Form (nicht nur PictureFrame) kann ein Bild als Hintergrundfüllung verwenden. Set FillType = FillType.Picture und weisen Sie das Bild zu 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 skaliert das Bild, um die gesamte Form auszufüllen.


Hinzufügen mehrerer Bilder über Folien hinweg

Bilder, die zu prs.Images werden über alle Folien hinweg geteilt. Das gleiche Bildobjekt kann auf mehreren Folien verwendet werden, ohne die Daten zu duplizieren:

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);

Siehe auch

 Deutsch