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