프레젠테이션에서 이미지 작업 — Aspose.Slides FOSS for .NET
Aspose.Slides FOSS for .NET lets you embed images in a presentation’s shared image collection and display them on slides using 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);