Modern API ile Görüntü İşleme Yeteneğini Artırın
Giriş
Aspose.Slides for Python genel API’si şu anda aşağıdaki aspose.pydrawing türlerine bağımlıdır:
aspose.pydrawing.Graphicsaspose.pydrawing.Imageaspose.pydrawing.Bitmapaspose.pydrawing.printing.PrinterSettings
24.4 sürümünden itibaren, bu genel API, Aspose.Slides for Python genel API’sindeki değişiklikler nedeniyle kullanımdan kaldırılmıştır.
aspose.pydrawing‘i genel API’den kaldırmak için Modern API‘yi tanıttık. aspose.pydrawing.Image ve aspose.pydrawing.Bitmap kullanan yöntemler kullanımdan kaldırılmıştır ve Modern API eşdeğerleriyle değiştirilmelidir. aspose.pydrawing.Graphics kullanan yöntemler kullanımdan kaldırılmıştır ve doğrudan bir Modern API eşdeğeri yoktur.
Mevcut sürümlerde, aspose.pydrawing‘e bağımlı genel API’yi eski/kullanımdan kaldırılmış olarak değerlendirin. Yeni kodlar için ve mevcut görüntü işleme iş akışlarını taşırken Modern API’yi kullanın.
Modern API
Aşağıdaki sınıflar ve enum’lar genel API’ye eklenmiştir:
- aspose.slides.IImage - raster veya vektör görüntüyü temsil eder.
- aspose.slides.ImageFormat - görüntü dosyası biçimini temsil eder.
- aspose.slides.Images - IImage ile oluşturma ve çalışma yöntemlerini sağlar.
get_image ile tek bir slayt veya şekil oluşturun. get_images ile birden fazla sunum slaytı oluşturun. Görüntüleri yüklemek için Images yöntemlerini, bir sunuma eklemek için add_image ile [IImage] ve mevcut bir sunum görüntüsünü güncellemek için replace_image ile [IImage] kullanın.
Yeni API için tipik bir kullanım senaryosu şu şekildedir:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with slides.Images.from_file("image.png") as image:
pp_image = presentation.images.add_image(image)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, pp_image)
with slide.get_image(drawing.Size(1920, 1080)) as slide_image:
slide_image.save("slide1.jpeg", slides.ImageFormat.JPEG)
Eski Kodu Modern API ile Değiştir
Daha kolay bir geçiş için, yeni [IImage] sınıfı aspose.pydrawing.Image ve aspose.pydrawing.Bitmap sınıflarının ayrı API’lerini yansıtır. Çoğu durumda, aspose.pydrawing kullanan yöntem çağrılarını Modern API eşdeğerleriyle değiştirmeniz yeterlidir.
Bir Slayt Küçük Resmi Al
Kullanımdan Kaldırılmış API:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
slide.get_thumbnail().save("slide1.png")
Modern API:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
slide = presentation.slides[0]
with slide.get_image() as image:
image.save("slide1.png")
Bir Şekil Küçük Resmi Al
Kullanımdan Kaldırılmış API:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
shape = presentation.slides[0].shapes[0]
shape.get_thumbnail().save("shape.png")
Modern API:
import aspose.slides as slides
with slides.Presentation("sample.pptx") as presentation:
shape = presentation.slides[0].shapes[0]
with shape.get_image() as image:
image.save("shape.png")
Bir Sunum Küçük Resmi Al
Kullanımdan Kaldırılmış API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("sample.pptx") as presentation:
thumbnails = presentation.get_thumbnails(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for index, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{index}.png", drawing.imaging.ImageFormat.png)
Modern API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation("sample.pptx") as presentation:
thumbnails = presentation.get_images(slides.export.RenderingOptions(), drawing.Size(1980, 1028))
for index, thumbnail in enumerate(thumbnails):
thumbnail.save(f"slide_{index}.png", slides.ImageFormat.PNG)
Bir Sunuma Resim Ekleyin
Kullanımdan Kaldırılmış API:
import aspose.slides as slides
import aspose.pydrawing as drawing
with slides.Presentation() as presentation:
slide = presentation.slides[0]
image = drawing.Image.from_file("image.png")
pp_image = presentation.images.add_image(image)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, pp_image)
Modern API:
import aspose.slides as slides
with slides.Presentation() as presentation:
slide = presentation.slides[0]
with slides.Images.from_file("image.png") as image:
pp_image = presentation.images.add_image(image)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, pp_image)
Kaldırılacak Yöntemler ve Özellikler ile Modern Değişiklikleri
Presentation Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| 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) | No Modern API replacement |
| save(fname, format, options, response, show_inline) | No Modern API replacement |
| print() | No Modern API replacement |
| print(printer_settings) | No Modern API replacement |
| print(printer_name) | No Modern API replacement |
| print(printer_settings, pres_name) | No Modern API replacement |
Slide Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| 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: ITiffOptions) |
| 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) | No Modern API replacement |
| render_to_graphics(options, graphics, scale_x, scale_y) | No Modern API replacement |
| render_to_graphics(options, graphics, rendering_size) | No Modern API replacement |
Shape Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| get_thumbnail() | get_image() |
| get_thumbnail(bounds, scale_x, scale_y) | get_image(bounds, scale_x, scale_y) |
ImageCollection Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| add_image(image: aspose.pydrawing.Image) | add_image(image) |
PPImage Sınıfı
| Yöntem/Özellik İmzası | Yerine Kullanılan Yöntem/Özellik İmzası |
|---|---|
| replace_image(new_image: aspose.pydrawing.Image) | replace_image(new_image) |
| system_image | image |
ImageWrapperFactory Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| create_image_wrapper(image: aspose.pydrawing.Image) | create_image_wrapper(image) |
PatternFormat Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| get_tile_image(background, foreground) | get_tile(background, foreground) |
| get_tile_image(style_color) | get_tile(style_color) |
IPatternFormatEffectiveData Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| get_tile_image(background, foreground) | get_tile_i_image(background, foreground) |
Output Sınıfı
| Yöntem İmzası | Yerine Kullanılan Yöntem İmzası |
|---|---|
| add(path, image: aspose.pydrawing.Image) | add(path, image) |
aspose.pydrawing.Graphics için API Desteği
aspose.pydrawing.Graphics kullanan yöntemler kullanımdan kaldırılmıştır ve doğrudan Modern API eşdeğeri yoktur.
aspose.pydrawing.Graphics‘e render yapan API yerine Modern API görüntü renderleme yöntemlerini kullanın:
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)
SSS
aspose.pydrawing.Graphics neden kaldırıldı?
aspose.pydrawing.Graphics desteği, render ve görüntülerle çalışma süreçlerini birleştirmek, platforma özgü bağımlılıkları ortadan kaldırmak ve IImage ile çapraz platform bir yaklaşıma geçmek için genel API’de kullanımdan kaldırıldı. aspose.pydrawing.Graphics‘e render etmek yerine get_image veya get_images kullanın.
IImage kullanmanın aspose.pydrawing.Image/aspose.pydrawing.Bitmap‘a göre pratik faydası nedir?
IImage raster ve vektör görüntülerle çalışmayı birleştirir, ImageFormat aracılığıyla çeşitli biçimlere kaydetmeyi basitleştirir, pydrawing bağımlılığını azaltır ve kodun çevresel taşınabilirliğini artırır.
Modern API, küçük resim oluşturma performansını etkiler mi?
get_thumbnail‘dan get_image‘a geçiş senaryoları kötüleştirmez: yeni yöntemler aynı seçenekler ve boyutlarla görüntü üretme yeteneklerini sunar ve render seçeneklerini korur. Kazanç ya da kayıp belirli senaryoya bağlıdır, ancak işlevsel olarak değişimleri eşdeğerdir.