प्रेजेंटेशन में इमेजेज के साथ काम करना — Aspose.Slides FOSS for Java

Aspose.Slides FOSS for Java lets you embed images in a presentation’s shared image collection and display them on slides using PictureFrame आकार। छवियों को आकार की पृष्ठभूमि भराव के रूप में भी उपयोग किया जा सकता है द्वारा FillType.PICTURE.


फ़ाइल से इमेज जोड़ना

डिस्क से इमेज बाइट्स लोड करें और उन्हें प्रस्तुति की इमेज कलेक्शन में जोड़ें के साथ prs.getImages().addImage(). फिर इमेज को स्लाइड पर एक के रूप में रखें PictureFrame:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

try (Presentation prs = new Presentation()) {
    // Add the image to the shared collection
    byte[] imageData = Files.readAllBytes(Path.of("logo.png"));
    var img = prs.getImages().addImage(imageData);

    // Place it on the slide as a PictureFrame
    var slide = prs.getSlides().get(0);
    slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 300, 200, img);

    prs.save("with-image.pptx", SaveFormat.PPTX);
}

के चार स्थितीय तर्क addPictureFrame() हैं: x, y, width, height पॉइंट्स में।.


बाइट्स से इमेज जोड़ना

यदि आपके पास पहले से इमेज बाइट्स हैं (जैसे, URL से डाउनलोड किए गए या डेटाबेस से पढ़े गए), तो उन्हें सीधे पास करें addImage():

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

// Simulate having bytes in memory
byte[] imageBytes = Files.readAllBytes(Path.of("photo.jpg"));

try (Presentation prs = new Presentation()) {
    var img = prs.getImages().addImage(imageBytes);
    prs.getSlides().get(0).getShapes().addPictureFrame(ShapeType.RECTANGLE, 100, 80, 400, 250, img);
    prs.save("from-bytes.pptx", SaveFormat.PPTX);
}

PictureFrame की पोज़िशनिंग और साइजिंग

यह PictureFrame द्वारा लौटाया गया addPictureFrame() सभी को विरासत में लेता है Shape ज्यामिति गुणधर्म और निर्माण के बाद पुनः स्थित किया जा सकता है:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

try (Presentation prs = new Presentation()) {
    byte[] imageData = Files.readAllBytes(Path.of("photo.jpg"));
    var img = prs.getImages().addImage(imageData);

    var pf = prs.getSlides().get(0).getShapes().addPictureFrame(ShapeType.RECTANGLE, 0, 0, 100, 100, img);

    // Reposition and resize after creation
    pf.setX(50);
    pf.setY(100);
    pf.setWidth(350);
    pf.setHeight(250);

    prs.save("positioned.pptx", SaveFormat.PPTX);
}

इमेज को शेप फ़िल के रूप में उपयोग करना

कोई भी आकार (केवल PictureFrame नहीं) इमेज को अपनी पृष्ठभूमि भराव के रूप में उपयोग कर सकता है। सेट FillType.PICTURE और इमेज को असाइन करें getPictureFillFormat().getPicture().setImage():

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.PictureFillMode;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

try (Presentation prs = new Presentation()) {
    byte[] imageData = Files.readAllBytes(Path.of("background.png"));
    var img = prs.getImages().addImage(imageData);

    var slide = prs.getSlides().get(0);
    var shape = slide.getShapes().addAutoShape(ShapeType.ROUND_CORNER_RECTANGLE, 50, 50, 400, 250);
    shape.getFillFormat().setFillType(FillType.PICTURE);
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.STRETCH);
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(img);

    prs.save("picture-fill.pptx", SaveFormat.PPTX);
}

PictureFillMode.STRETCH इमेज को पूरे आकार में भरने के लिए स्केल करता है। उपयोग करें TILE दोहराव वाले पैटर्न के लिए।.


स्लाइड्स में कई इमेजेज जोड़ना

में जोड़ी गई छवियां prs.getImages() सभी स्लाइड्स में साझा किए जाते हैं। वही IPPImage object को कई स्लाइड्स पर डेटा को दोहराए बिना उपयोग किया जा सकता है:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.export.SaveFormat;
import java.nio.file.Files;
import java.nio.file.Path;

try (Presentation prs = new Presentation()) {
    byte[] logoData = Files.readAllBytes(Path.of("logo.png"));
    var logo = prs.getImages().addImage(logoData);

    // Add the same image to the first slide
    prs.getSlides().get(0).getShapes().addPictureFrame(ShapeType.RECTANGLE, 600, 10, 100, 40, logo);

    prs.save("shared-image.pptx", SaveFormat.PPTX);
}

संबंधित देखें

 हिन्दी