Робота з зображеннями у презентаціях — Aspose.Slides FOSS для .NET
Aspose.Slides FOSS for .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);