Πώς να προσθέσετε εικόνες σε διαφάνειες PowerPoint στο .NET

Πώς να προσθέσετε εικόνες σε διαφάνειες PowerPoint στο .NET

Οι εικόνες στο Aspose.Slides FOSS είναι ενσωματωμένες ως Φωτογραφίες Frame, σχήματα που κρατούν μια εικόνα και μπορούν να τοποθετηθούν, αναδιαμορφωθούν και στυλ όπως οποιαδήποτε άλλη μορφή. τα δεδομένα εικόνας αποθηκεύονται μία φορά στο prs.Images Συλλογή και αναφορά από το πλαίσιο.


Προϋποθέσεις

aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.

Προσθήκη εικόνας από ένα αρχείο

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 σημείο = 1/72 ίντσες). Για ένα τυποποιημένο 10 x 7.5 ιντσών σάρωση, το χώρο συντονισμού είναι 720 x 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);

Ελέγξτε τη λειτουργία Fill Mode

Η 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Επαναλάβετε την εικόνα ως ένα στυλ

Προσθήκη πολλαπλών εικόνων σε διαφορετικά Slides

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 Η συλλογή μοιράζεται σε όλα τα σκιές: το ίδιο byte εικόνας αποθηκεύεται μία φορά, ακόμη και αν η εικόνα εμφανίζεται σε πολλαπλές σκιασεις.


Δείτε επίσης

 Ελληνικά