כיצד להוסיף תמונות לשקופיות PowerPoint ב‑.NET

כיצד להוסיף תמונות לשקופיות PowerPoint ב‑.NET

תמונות ב‑Aspose.Slides FOSS משובצות כמסגרות תמונה, צורות שמחזיקות תמונה וניתן למקם, לשנות גודל ולעצב אותן כמו כל צורה אחרת. נתוני התמונה מאוחסנים פעם אחת באוסף prs.Images ומופנים על‑ידי המסגרת.


דרישות מוקדמות

dotnet add package Aspose.Slides.Foss

הוסף תמונה מקובץ

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];

// Load image into the presentation's image collection
byte[] imageData = File.ReadAllBytes("photo.jpg");
var img = prs.Images.AddImage(imageData);

// Add a picture frame at (x=50, y=50, width=400, height=300) in points
var frame = slide.Shapes.AddPictureFrame(
    ShapeType.Rectangle,
    50, 50, 400, 300,
    img
);

prs.Save("with-image.pptx", SaveFormat.Pptx);

החתימה AddPictureFrame:

AddPictureFrame(shapeType, x, y, width, height, image) -> PictureFrame

כל הממדים הם בנקודות (נקודה אחת = 1/72 אינץ’). לשקופית סטנדרטית של 10 × 7.5 אינץ’ מרחב הקואורדינטות הוא 720 × 540 נקודות.


הוסף תמונה מזרם

אם כבר יש לך את התמונה כזרם (למשל, הורדה מ‑URL או קריאה ממסד נתונים):

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
using var stream = File.OpenRead("logo.png");
var img = prs.Images.AddImage(stream);

prs.Slides[0].Shapes.AddPictureFrame(
    ShapeType.Rectangle,
    200, 100, 300, 200,
    img
);
prs.Save("logo-slide.pptx", SaveFormat.Pptx);

שלוט במצב המילוי

הPictureFormat על PictureFrame שולט איך התמונה ממלאת את גבולות המסגרת:

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
byte[] texData = File.ReadAllBytes("texture.png");
var img = prs.Images.AddImage(texData);
var frame = prs.Slides[0].Shapes.AddPictureFrame(
    ShapeType.Rectangle, 50, 50, 600, 350, img
);

// STRETCH: scale image to fill the frame exactly (default)
frame.PictureFormat.PictureFillMode = PictureFillMode.Stretch;

// TILE: repeat the image in a grid pattern
// frame.PictureFormat.PictureFillMode = PictureFillMode.Tile;

prs.Save("filled.pptx", SaveFormat.Pptx);
PictureFillModeהתנהגות
Stretchשינוי גודל התמונה למלא את המסגרת, בהתעלמות ממקדם היחס
Tileחזור על התמונה כתבנית מרוצפת

הוסף תמונות מרובות לשקופיות שונות

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

string[] imageFiles = { "slide1.jpg", "slide2.jpg", "slide3.jpg" };

using var prs = new Presentation();
var layout = prs.Slides[0].LayoutSlide;

// Ensure enough slides exist
while (prs.Slides.Count < imageFiles.Length)
    prs.Slides.AddEmptySlide(layout);

for (int i = 0; i < imageFiles.Length; i++)
{
    if (!File.Exists(imageFiles[i])) continue;
    var img = prs.Images.AddImage(File.ReadAllBytes(imageFiles[i]));
    prs.Slides[i].Shapes.AddPictureFrame(
        ShapeType.Rectangle, 0, 0, 720, 540, img
    );
}

prs.Save("multi-image.pptx", SaveFormat.Pptx);

ספירת תמונות במצגת קיימת

using Aspose.Slides.Foss;

using var prs = new Presentation("with-image.pptx");
Console.WriteLine($"Presentation contains {prs.Images.Count} image(s)");

האוסף prs.Images משותף לכל השקופיות: בתים של התמונה נשמרים פעם אחת גם אם מסגרת התמונה מופיעה בכמה שקופיות.


ראה גם

 עברית