Moderne API
Einführung
Derzeit hat die Aspose.Slides für C++-Bibliothek Abhängigkeiten in ihrer öffentlichen API von den folgenden Klassen aus System::Drawing:
Mit der Version 24.4 wird diese öffentliche API als veraltet erklärt.
Um Abhängigkeiten von System::Drawing in der öffentlichen API loszuwerden, haben wir die sogenannte “Moderne API” hinzugefügt. Methoden mit System::Drawing::Image und System::Drawing::Bitmap werden als veraltet erklärt und durch die entsprechenden Methoden aus der Modernen API ersetzt. Methoden mit System::Graphics werden als veraltet erklärt und ihre Unterstützung wird aus der öffentlichen API entfernt.
Die Entfernung der veralteten öffentlichen API mit Abhängigkeiten von System::Drawing wird in der Version 24.8 erfolgen.
Moderne API
Die folgenden Klassen und Enums wurden zur öffentlichen API hinzugefügt:
- Aspose::Slides::IImage - repräsentiert das Raster- oder Vektorbild.
- Aspose::Slides::ImageFormat - repräsentiert das Dateiformat des Bildes.
- Aspose::Slides::Images - Methoden zur Instanziierung und Arbeit mit der IImage-Schnittstelle.
Ein typisches Szenario zur Verwendung der neuen API könnte folgendermaßen aussehen:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();
// erstellen Sie eine disposable Instanz von IImage aus der Datei auf der Festplatte.
System::SharedPtr<IImage> image = Images::FromFile(u"image.png");
// erstellen Sie ein PowerPoint-Bild, indem Sie eine Instanz von IImage zu den Bildern der Präsentation hinzufügen.
System::SharedPtr<IPPImage> ppImage = pres->get_Images()->AddImage(image);
// fügen Sie eine Bildform auf der Folie #1 hinzu
pres->get_Slide(0)->get_Shapes()->AddPictureFrame(Aspose::Slides::ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, ppImage);
// erhalten Sie eine Instanz von IImage, die die Folie #1 darstellt.
auto slideImage = pres->get_Slide(0)->GetImage(System::Drawing::Size(1920, 1080));
// speichern Sie das Bild auf der Festplatte.
slideImage->Save(u"slide1.jpeg", Aspose::Slides::ImageFormat::Jpeg);
Ersetzen von altem Code mit der Modernen API
Zum leichteren Übergang wiederholt die Schnittstelle der neuen IImage die separaten Signaturen der Klassen Image und Bitmap. Im Allgemeinen müssen Sie nur den Aufruf der alten Methode mit System::Drawing durch die neue ersetzen.
Erhalten einer Folienminiaturansicht
Code, der eine veraltete API verwendet:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->get_Slide(0)->GetThumbnail()->Save(u"slide1.png");
Moderne API:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->get_Slide(0)->GetImage()->Save(u"slide1.png");
Erhalten einer Formminiaturansicht
Code, der eine veraltete API verwendet:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->get_Slide(0)->get_Shape(0)->GetThumbnail()->Save(u"shape.png");
Moderne API:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->get_Slide(0)->get_Shape(0)->GetImage()->Save(u"shape.png");
Erhalten einer Präsentationsminiaturansicht
Code, der eine veraltete API verwendet:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
auto bitmaps = pres->GetThumbnails(System::MakeObject<RenderingOptions>(), System::Drawing::Size(1980, 1028));
for (int32_t index = 0; index < bitmaps->get_Length(); index++)
{
System::SharedPtr<System::Drawing::Bitmap> thumbnail = bitmaps[index];
thumbnail->Save(System::String::Format(u"slide_{0}.png", index), System::Drawing::Imaging::ImageFormat::get_Png());
}
Moderne API:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>(u"pres.pptx");
auto images = pres->GetImages(System::MakeObject<RenderingOptions>(), System::Drawing::Size(1980, 1028));
for (int32_t index = 0; index < images->get_Length(); index++)
{
System::SharedPtr<IImage> thumbnail = images[index];
thumbnail->Save(System::String::Format(u"slide_{0}.png", index), Aspose::Slides::ImageFormat::Png);
}
Hinzufügen eines Bildes zu einer Präsentation
Code, der eine veraltete API verwendet:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();
System::SharedPtr<System::Drawing::Image> image = System::Drawing::Image::FromFile(u"image.png");
System::SharedPtr<IPPImage> ppImage = pres->get_Images()->AddImage(image);
pres->get_Slide(0)->get_Shapes()->AddPictureFrame(Aspose::Slides::ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, ppImage);
Moderne API:
System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();
System::SharedPtr<Aspose::Slides::IImage> image = Aspose::Slides::Images::FromFile(u"image.png");
System::SharedPtr<IPPImage> ppImage = pres->get_Images()->AddImage(image);
pres->get_Slide(0)->get_Shapes()->AddPictureFrame(Aspose::Slides::ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, ppImage);
Methoden/Eigenschaften, die entfernt werden sollen und deren Ersatz in der Modernen API
Präsentation Klasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options) | GetImages(System::SharedPtr<Export::IRenderingOptions> options) |
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides) | GetImages(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides) |
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options, float scaleX, float scaleY) | GetImages(System::SharedPtr<Export::IRenderingOptions> options, float scaleX, float scaleY) |
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides, float scaleX, float scaleY) | GetImages(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides, float scaleX, float scaleY) |
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options, System::Drawing::Size imageSize) | GetImages(System::SharedPtr<Export::IRenderingOptions> options, System::Drawing::Size imageSize) |
GetThumbnails(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides, System::Drawing::Size imageSize) | GetImages(System::SharedPtr<Export::IRenderingOptions> options, System::ArrayPtr<int32_t> slides, System::Drawing::Size imageSize) |
Save(System::String fname, System::ArrayPtr<int32_t> slides, Export::SaveFormat format) | Wird vollständig gelöscht |
Save(System::String fname, System::ArrayPtr<int32_t> slides, Export::SaveFormat format, System::SharedPtr<Export::ISaveOptions> options) | Wird vollständig gelöscht |
Folienklasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
GetThumbnail() | GetImage() |
GetThumbnail(float scaleX, float scaleY) | GetImage(float scaleX, float scaleY) |
GetThumbnail(System::Drawing::Size imageSize) | GetImage(System::Drawing::Size imageSize) |
GetThumbnail(System::SharedPtr<Export::ITiffOptions> options) | GetImage(System::SharedPtr<Export::IRenderingOptions> options) |
GetThumbnail(System::SharedPtr<Export::IRenderingOptions> options) | GetImage(System::SharedPtr<Export::IRenderingOptions> options) |
GetThumbnail(System::SharedPtr<Export::IRenderingOptions> options, float scaleX, float scaleY) | GetImage(System::SharedPtr<Export::IRenderingOptions> options, float scaleX, float scaleY) |
GetThumbnail(System::SharedPtr<Export::IRenderingOptions> options, System::Drawing::Size imageSize) | GetImage(System::SharedPtr<Export::IRenderingOptions> options, System::Drawing::Size imageSize) |
RenderToGraphics(System::SharedPtr<Export::IRenderingOptions> options, System::SharedPtr<System::Drawing::Graphics> graphics) | Wird vollständig gelöscht |
RenderToGraphics(System::SharedPtr<Export::IRenderingOptions> options, System::SharedPtr<System::Drawing::Graphics> graphics, float scaleX, float scaleY) | Wird vollständig gelöscht |
RenderToGraphics(System::SharedPtr<Export::IRenderingOptions> options, System::SharedPtr<System::Drawing::Graphics> graphics, System::Drawing::Size renderingSize) | Wird vollständig gelöscht |
Formklasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
GetThumbnail() | GetImage() |
GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY) |
ImageCollection Klasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
AddImage(System::SharedPtr<System::Drawing::Image> image) | AddImage(System::SharedPtr<IImage> image) |
PPImage Klasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
ReplaceImage(System::SharedPtr<System::Drawing::Image> newImage) | ReplaceImage(System::SharedPtr<Aspose::Slides::IImage> newImage) |
get_SystemImage() | get_Image() |
PatternFormat Klasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
GetTileImage(System::Drawing::Color background, System::Drawing::Color foreground) | GetTile(System::Drawing::Color background, System::Drawing::Color foreground) |
GetTileImage(System::Drawing::Color styleColor) | GetTile(System::Drawing::Color styleColor) |
IPatternFormatEffectiveData Klasse
Methodensignatur | Ersatz-Methodensignatur |
---|---|
GetTileImage(System::Drawing::Color background, System::Drawing::Color foreground) | GetTileIImage(System::Drawing::Color background, System::Drawing::Color foreground) |
API-Unterstützung für System::Drawing::Graphics wird eingestellt
Methoden mit System::Drawing::Graphics werden als veraltet erklärt und ihre Unterstützung wird aus der öffentlichen API entfernt.
Der Teil der API, der sie verwendet, wird entfernt:
- Slide::RenderToGraphics(System::SharedPtr<Export::IRenderingOptions>, System::SharedPtr<System::Drawing::Graphics>)
- Slide::RenderToGraphics(System::SharedPtr<Export::IRenderingOptions>, System::SharedPtr<System::Drawing::Graphics>, float, float)
- Slide::RenderToGraphics(System::SharedPtr<Export::IRenderingOptions>, System::SharedPtr<System::Drawing::Graphics>, System::Drawing::Size)