Darbs ar attēliem prezentācijās — Aspose.Slides FOSS priekš .NET

Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame formas. Attēlus var arī izmantot kā formas fona aizpildījumus, izmantojot FillType.Picture.


Attēla pievienošana no faila

Ielādējiet attēla baitus no diska un pievienojiet tos prezentācijas attēlu kolekcijai, izmantojot prs.Images.AddImage(). Pēc tam novietojiet attēlu slaidā kā 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);

Četri pozicionālie argumenti funkcijai AddPictureFrame() ir: x, y, width, height punktos.


Attēla pievienošana no straumes

Ja jums ir attēla dati no plūsmas (piemēram, lejupielādēti no URL vai nolasīti no datubāzes), nododiet tos tieši 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);

PictureFrame pozicionēšana un izmēru noteikšana

Šis PictureFrame atgrieztais no AddPictureFrame() manto visus Shape ģeometrijas īpašības un var tikt pārvietots pēc izveides:

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

Attēla izmantošana kā formas aizpildījums

Jebkura forma (ne tikai PictureFrame) var izmantot attēlu kā fona aizpildījumu. Iestatiet FillType = FillType.Picture un piešķiriet attēlu 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 maina attēla mērogu, lai aizpildītu visu formu.


Vairāku attēlu pievienošana pāri slaidiem

Attēli, kas pievienoti prs.Images tiek koplietoti visos slaidos. Tas pats attēla objekts var tikt izmantots vairākos slaidos, nepārkopējot datus:

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

Skatīt arī

 Latviešu