Trabalhando com Imagens em Apresentações — Aspose.Slides FOSS para .NET

Aspose.Slides FOSS for .NET permite incorporar imagens na coleção de imagens compartilhadas de uma apresentação e exibi‑las nos slides usando formas PictureFrame. As imagens também podem ser usadas como preenchimentos de fundo de forma via FillType.Picture.


Adicionando uma Imagem a partir de Arquivo

Carregue os bytes da imagem do disco e adicione-os à coleção de imagens da apresentação com prs.Images.AddImage(). Em seguida, coloque a imagem em um slide como um 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);

Os quatro argumentos posicionais para AddPictureFrame() são: x, y, width, height em pontos.


Adicionando uma Imagem a partir de um Stream

Se você tem dados de imagem de um stream (por exemplo, baixados de uma URL ou lidos de um banco de dados), passe-os diretamente para 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);

Posicionamento e Dimensionamento de um PictureFrame

O PictureFrame retornado por AddPictureFrame() herda todas as propriedades de geometria Shape e pode ser reposicionado após a criação:

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

Usando uma Imagem como Preenchimento de Forma

Qualquer forma (não apenas PictureFrame) pode usar uma imagem como preenchimento de fundo. Defina FillType = FillType.Picture e atribua a imagem a 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 dimensiona a imagem para preencher toda a forma.


Adicionando Múltiplas Imagens em Slides

Imagens adicionadas a prs.Images são compartilhadas em todos os slides. O mesmo objeto de imagem pode ser usado em vários slides sem duplicar os dados:

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

Veja Também

 Português