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.Graphics
  • aspose.pydrawing.Image
  • aspose.pydrawing.Bitmap
  • aspose.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:

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.