프레젠테이션에서 이미지 작업 — Aspose.Slides FOSS for .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 위치 지정 및 크기 조정
AddPictureFrame()에 의해 반환된 PictureFrame는 모든 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);이미지를 도형 채우기로 사용
모든 도형(그림 프레임에만 국한되지 않음)은 이미지를 배경 채우기로 사용할 수 있습니다. 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);