כיצד להוסיף תמונות לשקופיות 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 משותף לכל השקופיות: בתים של התמונה נשמרים פעם אחת גם אם מסגרת התמונה מופיעה בכמה שקופיות.