עבודה עם תמונות במצגות — 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
ה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);