Работа с изображения в презентации — Aspose.Slides FOSS за .NET

Aspose.Slides FOSS за .NET ви позволява да вграждате изображения в споделената колекция от изображения на презентацията и да ги показвате върху слайдове, използвайки форми PictureFrame. Изображенията също могат да се използват като запълване на фон на форма чрез FillType.Picture.


Добавяне на изображение от файл

Заредете байтовете на изображението от диска и ги добавете към колекцията от изображения на презентацията с prs.Images.AddImage(). След това поставете изображението върху слайд като 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);

Четирите позиционни аргументи към AddPictureFrame() са: x, y, width, height в точки.


Добавяне на изображение от поток

Ако разполагате с данни за изображение от поток (например, изтеглени от URL или прочетени от база данни), предайте ги директно на 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

PictureFrame, върнат от AddPictureFrame(), наследява всички свойства на геометрията Shape и може да бъде преместен след създаването:

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

Използване на изображение като запълване на форма

Всяка форма (не само PictureFrame) може да използва изображение като запълване на фона. Задайте FillType = FillType.Picture и задайте изображението на 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 мащабира изображението, за да запълни цялата форма.


Добавяне на множество изображения през слайдовете

Изображенията, добавени към prs.Images, се споделят между всички слайдове. Същият обект на изображението може да се използва в множество слайдове без дублиране на данните:

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

Вижте също

 Български