Image
Images dans les Diapositives des Présentations
Les images rendent les présentations plus attrayantes et intéressantes. Dans Microsoft PowerPoint, vous pouvez insérer des images à partir d’un fichier, d’Internet ou d’autres emplacements sur les diapositives. De même, Aspose.Slides vous permet d’ajouter des images aux diapositives de vos présentations par le biais de différentes procédures.
Astuce
Aspose propose des convertisseurs gratuits—JPEG vers PowerPoint et PNG vers PowerPoint—qui permettent aux utilisateurs de créer des présentations rapidement à partir d’images.Info
Si vous souhaitez ajouter une image en tant qu’objet cadre—en particulier si vous prévoyez d’utiliser des options de formatage standard pour modifier sa taille, ajouter des effets, etc.—voir Cadre d’image.Remarque
Vous pouvez manipuler les opérations d’entrée/sortie impliquant des images et des présentations PowerPoint pour convertir une image d’un format à un autre. Consultez ces pages : convertir image en JPG ; convertir JPG en image ; convertir JPG en PNG, convertir PNG en JPG ; convertir PNG en SVG, convertir SVG en PNG.Aspose.Slides prend en charge les opérations avec des images dans ces formats populaires : JPEG, PNG, GIF, et autres.
Ajouter des Images Stockées Localement aux Diapositives
Vous pouvez ajouter une ou plusieurs images de votre ordinateur à une diapositive dans une présentation. Ce code d’exemple en Java vous montre comment ajouter une image à une diapositive :
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ajouter des Images du Web aux Diapositives
Si l’image que vous souhaitez ajouter à une diapositive n’est pas disponible sur votre ordinateur, vous pouvez ajouter l’image directement depuis le web.
Ce code d’exemple vous montre comment ajouter une image du web à une diapositive en Java :
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
URL imageUrl = new URL("[REPLACE WITH URL]");
URLConnection connection = imageUrl.openConnection();
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
byte[] buffer = new byte[1024];
int read;
while ((read = inputStream.read(buffer, 0, buffer.length)) != -1)
outputStream.write(buffer, 0, read);
outputStream.flush();
IPPImage image = pres.getImages().addImage(outputStream.toByteArray());
slide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image);
} finally {
if (inputStream != null) inputStream.close();
outputStream.close();
}
pres.save("pres.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
Ajouter des Images aux Masques de Diapositives
Un masque de diapositive est la diapositive principale qui stocke et contrôle les informations (thème, mise en page, etc.) concernant toutes les diapositives qui lui sont subordonnées. Ainsi, lorsque vous ajoutez une image à un masque de diapositive, cette image apparaît sur chaque diapositive sous ce masque de diapositive.
Ce code d’exemple en Java vous montre comment ajouter une image à un masque de diapositive :
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IMasterSlide masterSlide = slide.getLayoutSlide().getMasterSlide();
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
masterSlide.getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, picture);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ajouter des Images comme Arrière-plan de Diapositive
Vous pouvez décider d’utiliser une image comme arrière-plan pour une diapositive spécifique ou plusieurs diapositives. Dans ce cas, vous devez consulter Définir des images comme arrière-plans pour des diapositives.
Ajouter du SVG aux Présentations
Vous pouvez ajouter ou insérer n’importe quelle image dans une présentation en utilisant la méthode addPictureFrame qui appartient à l’interface IShapeCollection.
Pour créer un objet image basé sur une image SVG, vous pouvez le faire de cette manière :
- Créer un objet SvgImage à insérer dans ImageShapeCollection
- Créer un objet PPImage à partir d’ISvgImage
- Créer un objet PictureFrame en utilisant l’interface IPPImage
Ce code d’exemple vous montre comment mettre en œuvre les étapes ci-dessus pour ajouter une image SVG à une présentation :
// Instancier la classe Presentation qui représente le fichier PPTX
Presentation pres = new Presentation();
try {
String svgContent = new String(Files.readAllBytes(Paths.get("image.svg")));
ISvgImage svgImage = new SvgImage(svgContent);
IPPImage ppImage = pres.getImages().addImage(svgImage);
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 0, 0,
ppImage.getWidth(), ppImage.getHeight(), ppImage);
pres.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
Conversion de SVG en un Ensemble de Formes
La conversion de SVG en un ensemble de formes par Aspose.Slides est similaire à la fonctionnalité PowerPoint utilisée pour travailler avec des images SVG :
La fonctionnalité est fournie par l’un des surcharges de la méthode addGroupShape de l’interface IShapeCollection qui prend un objet ISvgImage comme premier argument.
Ce code d’exemple vous montre comment utiliser la méthode décrite pour convertir un fichier SVG en un ensemble de formes :
// Créer une nouvelle présentation
IPresentation presentation = new Presentation();
try {
// Lire le contenu du fichier SVG
byte[] svgContent = Files.readAllBytes(Paths.get("image.svg"));
// Créer un objet SvgImage
ISvgImage svgImage = new SvgImage(svgContent);
// Obtenir la taille de la diapositive
Dimension2D slideSize = presentation.getSlideSize().getSize();
// Convertir l'image SVG en groupe de formes en l'échelonnant à la taille de la diapositive
presentation.getSlides().get_Item(0).getShapes().
addGroupShape(svgImage, 0f, 0f, (float)slideSize.getWidth(), (float)slideSize.getHeight());
// Enregistrer la présentation au format PPTX
presentation.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (presentation != null) presentation.dispose();
}
Ajouter des Images en tant qu’EMF dans des Diapositives
Aspose.Slides pour Java vous permet de générer des images EMF à partir de feuilles Excel et d’ajouter les images en tant qu’EMF dans des diapositives avec Aspose.Cells.
Ce code d’exemple vous montre comment effectuer la tâche décrite :
Workbook book = new Workbook("chart.xlsx");
Worksheet sheet = book.getWorksheets().get(0);
ImageOrPrintOptions options = new ImageOrPrintOptions();
options.setHorizontalResolution(200);
options.setVerticalResolution(200);
options.setImageType(ImageType.EMF);
//Enregistrer le classeur dans un flux
SheetRender sr = new SheetRender(sheet, options);
Presentation pres = new Presentation();
try {
pres.getSlides().removeAt(0);
String EmfSheetName = "";
for (int j = 0; j < sr.getPageCount(); j++)
{
EmfSheetName = "test" + sheet.getName() + " Page" + (j + 1) + ".out.emf";
sr.toImage(j, EmfSheetName);
IPPImage picture;
IImage image = Images.fromFile(EmfSheetName);
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
ISlide slide = pres.getSlides().addEmptySlide(pres.getLayoutSlides().getByType(SlideLayoutType.Blank));
IShape m = slide.getShapes().addPictureFrame(ShapeType.Rectangle, 0, 0,
(float)pres.getSlideSize().getSize().getWidth(),
(float)pres.getSlideSize().getSize().getHeight(),
picture);
}
pres.save("output.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}