Práca s obrázkami v prezentáciách — Aspose.Slides FOSS pre .NET
Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame tvary. Obrázky je možné tiež použiť ako výplň pozadia tvaru prostredníctvom FillType.Picture.
Pridanie obrázka zo súboru
Načítajte bajty obrázka z disku a pridajte ich do kolekcie obrázkov prezentácie pomocou prs.Images.AddImage(). Potom umiestnite obrázok na snímku ako 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);Štyri pozičné argumenty pre AddPictureFrame() sú: x, y, width, height v bodoch.
Pridanie obrázka zo streamu
Ak máte dáta obrázka zo streamu (napr. stiahnuté z URL alebo načítané z databázy), odovzdajte ich priamo do 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);Umietnenie a veľkosť PictureFrame
Tá PictureFrame vrátená metódou AddPictureFrame() zdedí všetky Shape geometrické vlastnosti a môže byť po vytvorení presunutá:
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);Použitie obrázka ako výplň tvaru
Akýkoľvek tvar (nielen PictureFrame) môže použiť obrázok ako výplň pozadia. Nastavte FillType = FillType.Picture a priraďte obrázok k 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 zmení veľkosť obrázka tak, aby vyplnil celý tvar.
Pridávanie viacerých obrázkov naprieč snímkami
Obrázky pridané do prs.Images sú zdieľané naprieč všetkými snímkami. Ten istý objekt obrázka môže byť použitý na viacerých snímkach bez duplikovania dát:
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);