کار با تصاویر در ارائهها — Aspose.Slides FOSS برای .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 به صورت نکات.
افزودن تصویر از یک جریان (Stream)
اگر دادههای تصویر را از یک جریان (مثلاً دانلود شده از یک 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);