Améliorez le traitement d’images avec l’API moderne
Introduction
Actuellement, la bibliothèque Aspose.Slides pour Python via .NET a des dépendances dans son API publique sur les classes suivantes de aspose.pydrawing :
aspose.pydrawing.Graphicsaspose.pydrawing.Imageaspose.pydrawing.Bitmapaspose.pydrawing.printing.PrinterSettings
À partir de la version 24.4, cette API publique est déclarée obsolète en raison de changements dans l’API publique d’Aspose.Slides pour .NET.
Pour se débarrasser des dépendances sur aspose.pydrawing dans l’API publique, nous avons ajouté ce que nous appelons “API Moderne”. Les méthodes utilisant aspose.pydrawing.Image et aspose.pydrawing.Bitmap sont déclarées obsolètes et seront remplacées par les méthodes correspondantes de l’API Moderne. Les méthodes utilisant aspose.pydrawing.Graphics sont déclarées obsolètes et leur support sera supprimé de l’API publique.
La suppression de l’API publique obsolète avec des dépendances sur aspose.pydrawing sera effectuée dans la version 24.8.
API Moderne
Ajout des classes et énumérations suivantes à l’API publique :
aspose.slides.IImage- représente l’image raster ou vectorielle.aspose.slides.ImageFormat- représente le format de fichier de l’image.aspose.slides.Images- méthodes pour instancier et travailler avec l’interfaceIImage.
Un scénario typique d’utilisation de la nouvelle API peut ressembler à ceci :
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as pres:
image = slides.Images.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
with pres.slides[0].get_image(drawing.Size(1920, 1080)) as slide_image:
slide_image.save("slide1.jpeg", slides.ImageFormat.JPEG)
Remplacer l’ancien code par l’API Moderne
Pour faciliter la transition, l’interface du nouvel IImage répète les signatures séparées des classes Image et Bitmap. En général, vous aurez juste besoin de remplacer l’appel à l’ancienne méthode utilisant aspose.pydrawing par la nouvelle.
Obtenir une vignette de diapositive
Code utilisant une API obsolète :
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
pres.slides[0].get_thumbnail().save("slide1.png")
API Moderne :
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
with pres.slides[0].get_image() as image:
image.save("slide1.png")
Obtenir une vignette de forme
Code utilisant une API obsolète :
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
pres.slides[0].shapes[0].get_thumbnail().save("shape.png")
API Moderne :
import aspose.slides as slides
with slides.Presentation("pres.pptx") as pres:
with pres.slides[0].shapes[0].get_image() as image:
image.save("shape.png")
Obtenir une vignette de présentation
Code utilisant une API obsolète :
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("pres.pptx") as pres:
thumbnails = pres.get_thumbnails(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for idx, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{idx}.png", drawing.imaging.ImageFormat.png)
API Moderne :
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("pres.pptx") as pres:
thumbnails = pres.get_images(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for idx, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{idx}.png", slides.ImageFormat.PNG)
Ajouter une image à une présentation
Code utilisant une API obsolète :
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as pres:
image = drawing.Image.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
API Moderne :
import aspose.slides as slides
with slides.Presentation() as pres:
image = slides.Images.from_file("image.png")
pp_image = pres.images.add_image(image)
pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
Méthodes/propriétés à supprimer et leur remplacement dans l’API Moderne
Classe Presentation
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| get_thumbnails(options) | get_images(options) |
| get_thumbnails(options, slides) | get_images(options, slides) |
| get_thumbnails(options, scale_x, scale_y) | get_images(options, scale_x, scale_y) |
| get_thumbnails(options, slides, scale_x, scale_y) | get_images(options, slides, scale_x, scale_y) |
| get_thumbnails(options, image_size) | get_images(options, image_size) |
| get_thumbnails(options, slides, image_size) | get_images(options, slides, image_size) |
| save(fname, format, response, show_inline) | Sera complètement supprimé |
| save(fname, format, options, response, show_inline) | Sera complètement supprimé |
| print() | Sera complètement supprimé |
| print(printer_settings) | Sera complètement supprimé |
| print(printer_name) | Sera complètement supprimé |
| print(printer_settings, pres_name) | Sera complètement supprimé |
Classe Slide
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| get_thumbnail() | get_image() |
| get_thumbnail(scale_x, scale_y) | get_image(scale_x, scale_y) |
| get_thumbnail(image_size) | get_image(image_size) |
| get_thumbnail(options) | get_image(options: ITiffOotions) |
| get_thumbnail(options) | get_image(options: IRenderingOptions) |
| get_thumbnail(options, scale_x, scale_y) | get_image(options, scale_x, scale_y) |
| get_thumbnail(options, image_size) | get_image(options, image_size) |
| render_to_graphics(options, graphics) | Sera complètement supprimé |
| render_to_graphics(options, graphics, scale_x, scale_y) | Sera complètement supprimé |
| render_to_graphics(options, graphics, rendering_size) | Sera complètement supprimé |
Classe Shape
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| get_thumbnail() | get_image() |
| get_thumbnail(bounds, scale_x, scale_y) | get_image(bounds, scale_x, scale_y) |
Classe ImageCollection
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| add_image(image: aspose.pydrawing.Image) | add_image(image) |
Classe PPImage
| Signature de méthode/propriété | Signature de méthode/propriété de remplacement |
|---|---|
| replace_image(new_image: aspose.pydrawing.Image) | replace_image(new_image) |
| system_image | image |
Classe ImageWrapperFactory
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| create_image_wrapper(image: aspose.pydrawing.Image) | create_image_wrapper(image) |
Classe PatternFormat
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| get_tile_image(background, foreground) | get_tile(background, foreground) |
| get_tile_image(style_color) | get_tile(style_color) |
Classe IPatternFormatEffectiveData
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| get_tile_image(background, foreground) | get_tile_i_image(background, foreground) |
Classe Output
| Signature de méthode | Signature de méthode de remplacement |
|---|---|
| add(path, image: aspose.pydrawing.Image) | add(path, image) |
Le support de l’API pour aspose.pydrawing.Graphics sera interrompu
Les méthodes avec aspose.pydrawing.Graphics sont déclarées obsolètes et leur support sera supprimé de l’API publique.
La partie de l’API qui l’utilise sera supprimée :
aspose.pydrawing.Slide.render_to_graphics(options, graphics)aspose.pydrawing.Slide.render_to_graphics(options, graphics, scale_x, scale_y)aspose.pydrawing.Slide.render_to_graphics(options, graphics, rendering_size)