Lucrul cu imagini în prezentări — Aspose.Slides FOSS pentru .NET
Aspose.Slides FOSS for .NET vă permite să încorporați imagini în colecția de imagini partajate a unei prezentări și să le afișați pe diapozitive utilizând formele PictureFrame. Imaginile pot fi, de asemenea, utilizate ca umpluturi de fundal ale formelor prin FillType.Picture.
Adăugarea unei imagini din fișier
Încărcați octeții imaginii de pe disc și adăugați-i în colecția de imagini a prezentării cu prs.Images.AddImage(). Apoi plasați imaginea pe un diapozitiv ca un 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);Cele patru argumente poziționale pentru AddPictureFrame() sunt: x, y, width, height în puncte.
Adăugarea unei imagini dintr-un flux
Dacă aveți date de imagine dintr-un flux (de exemplu, descărcate de la un URL sau citite dintr-o bază de date), transmiteți-le direct către 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);Poziționarea și dimensionarea unui PictureFrame
PictureFrame returnat de AddPictureFrame() moștenește toate proprietățile geometrice Shape și poate fi repoziționat după creare:
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);Utilizarea unei imagini ca umplere de formă
Orice formă (nu doar PictureFrame) poate folosi o imagine ca umplere de fundal. Setați FillType = FillType.Picture și atribuiți imaginea la 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 scalează imaginea pentru a umple întreaga formă.
Adăugarea mai multor imagini pe diapozitive
Imaginile adăugate la prs.Images sunt partajate pe toate diapozitivele. Același obiect imagine poate fi utilizat pe mai multe diapozitive fără a duplica datele:
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);