PPTX DOCX XLSX PDF ODP
Aspose.Imaging  para Python
SVG

Use Python para ajuste de imagens SVG

Crie aplicativos Python para ajustar imagens e fotos SVG por meio de APIs de servidor

Como ajustar imagens e fotos SVG com Python

Durante a captura de imagens, podem ocorrer erros devido a configurações incorretas da câmera. A iluminação descontrolada também pode impactar os resultados, e até mesmo fotografias profissionais podem apresentar imperfeições. No entanto, em tais cenários, existe um método para aprimorar a imagem utilizando ferramentas de software fornecidas pela biblioteca Python. Você tem a capacidade de ajustar o brilho, o contraste e o equilíbrio de cores da imagem. Por exemplo, se uma foto parecer excessivamente escura, aumentar o brilho iluminará as regiões mais escuras, revelando detalhes que antes estavam obscurecidos pelas sombras. Se a sua imagem exibir projeções de cores indesejáveis ​​devido à iluminação artificial, você poderá corrigir isso usando o recurso de ajuste de gama de cores. Para executar essas alterações em arquivos SVG, você pode usar Aspose.Imaging para Python via .NET API que é uma API de manipulação e conversão de imagens rica em recursos, poderosa e fácil de usar para a plataforma Python. Você pode instalá-lo usando o seguinte comando do comando do sistema.

A linha de comando do sistema

>> pip install aspose-imaging-python-net

Etapas para ajustar SVGs via Python

Você precisa do aspose-imaging-python-net para tentar o seguinte fluxo de trabalho em seu próprio ambiente.

  • Carregar arquivos SVG com o método Image.Load
  • Ajustar imagens;
  • Salve a imagem compactada no disco no formato suportado pelo Aspose.Imaging

Requisitos de sistema

Aspose.Imaging para Python é compatível com todos os principais sistemas operacionais. Apenas certifique-se de ter os seguintes pré-requisitos.

-Microsoft Windows/Linux com .NET Core Runtime.

  • Gerenciador de pacotes Python e PyPi.
 

Ajustar imagens SVG - Python

from aspose.imaging import *
from aspose.imaging.fileformats.bmp import *
from aspose.imaging.fileformats.dicom import *
from aspose.imaging.fileformats.emf import *
from aspose.imaging.fileformats.jpeg import *
from aspose.imaging.fileformats.jpeg2000 import *
from aspose.imaging.fileformats.png import *
from aspose.imaging.fileformats.psd import *
from aspose.imaging.fileformats.tiff.enums import *
from aspose.imaging.imagefilters.filteroptions import *
from aspose.imaging.imageoptions import *
from aspose.imaging.masking import *
from aspose.imaging.masking.options import *
from aspose.imaging.masking.result import *
from aspose.imaging.sources import *
from aspose.pycore import as_of, is_assignable
import os
if 'TEMPLATE_DIR' in os.environ:
templates_folder = os.environ['TEMPLATE_DIR']
else:
templates_folder = r"C:\Users\USER\Downloads\templates"
delete_output = 'SAVE_OUTPUT' not in os.environ
def adjust_gamma_rgb():
# https://apireference.aspose.com/imaging/python-net/aspose.imaging.rasterimage/adjustgamma
filter_images(lambda image: image.adjust_gamma(5, 0.1, 0.1), "adjustgammargb")
def adjust_gamma():
filter_images(lambda image: image.adjust_gamma(3), "adjustgamma")
def adjust_contrast():
filter_images(lambda image: image.adjust_contrast(50), "adjustcontrast")
def adjust_brightness():
filter_images(lambda image: image.adjust_brightness(100), "adjustbrightness")
def filter_images(do_filter, filter_name):
obj_init = []
obj_init.append("jpg")
obj_init.append("png")
obj_init.append("bmp")
obj_init.append("apng")
obj_init.append("dicom")
obj_init.append("jp2")
obj_init.append("j2k")
obj_init.append("tga")
obj_init.append("webp")
obj_init.append("tif")
obj_init.append("gif")
obj_init.append("ico")
raster_formats = obj_init
obj_init2 = []
obj_init2.append("svg")
obj_init2.append("otg")
obj_init2.append("odg")
obj_init2.append("eps")
obj_init2.append("wmf")
obj_init2.append("emf")
obj_init2.append("wmz")
obj_init2.append("emz")
obj_init2.append("cmx")
obj_init2.append("cdr")
vector_formats = obj_init2
all_formats = []
all_formats.extend(raster_formats)
all_formats.extend(vector_formats)
for format_ext in all_formats:
input_file = os.path.join(templates_folder, f"template.{format_ext}")
if not os.path.exists(input_file):
continue
is_vector_format = format_ext in vector_formats
if is_vector_format:
input_file = rasterize_vector_image(format_ext, input_file)
output_file = os.path.join(templates_folder, f"{filter_name}_{format_ext}.png")
print(format_ext)
# explicit type casting from Image to RasterImage
with as_of(Image.load(input_file), RasterImage) as image:
do_filter(image)
multi_page = None
# if image implements an IMultipageImage interface
if is_assignable(image, IMultipageImage):
multi_page = as_of(image, IMultipageImage)
if multi_page is not None and multi_page.page_count > 1:
# for loop
page_index = 0
for page in multi_page.pages:
file_name = f"{filter_name}_page{page_index}_{format_ext}.png"
page.save(os.path.join(templates_folder + file_name), PngOptions())
# delete an output file
delete_file(os.path.join(templates_folder + file_name))
page_index += 1
else:
image.save(output_file, PngOptions())
# delete an output file
delete_file(output_file)
# delete a rasterized file
if is_vector_format:
delete_file(input_file)
def delete_file(file):
if delete_output:
os.remove(file)
def rasterize_vector_image(format_ext, input_file):
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# call one of the functions
adjust_brightness()
#adjust_contrast()
#adjust_gamma()
#adjust_gamma_rgb()
 
  • Sobre o Aspose.Imaging para a API Python

    Aspose.Imaging API é uma solução de processamento de imagens para criar, modificar, desenhar ou converter imagens (fotos) dentro de aplicativos. Oferece: Processamento de imagem multiplataforma, incluindo, mas não limitado a, conversões entre vários formatos de imagem (incluindo processamento de imagem uniforme de várias páginas ou vários quadros), modificações como desenho, trabalho com primitivos gráficos, transformações (redimensionar, cortar, virar e girar , binarização, escala de cinza, ajuste), recursos avançados de manipulação de imagem (filtragem, pontilhamento, mascaramento, alinhamento) e estratégias de otimização de memória. É uma biblioteca autônoma e não depende de nenhum software para operações de imagem. Pode-se adicionar facilmente recursos de conversão de imagem de alto desempenho com APIs nativas nos projetos. Essas são APIs locais 100% privadas e as imagens são processadas em seus servidores.

    Ajuste SVGs por meio do aplicativo on-line

    Ajuste documentos SVG visitando nosso site de demonstrações ao vivo . A demonstração ao vivo tem os seguintes benefícios

      Não há necessidade de baixar ou configurar nada
      Não há necessidade de escrever nenhum código
      Basta enviar seus arquivos SVG e clicar no botão "Ajustar agora"
      Obtenha instantaneamente o link de download para o arquivo resultante

    SVG O que é SVG Formato de arquivo

    Os arquivos SVG são arquivos gráficos vetoriais escaláveis ​​que usam o formato de texto baseado em XML para descrever a aparência da imagem. A palavra Escalável refere-se ao fato de que o SVG pode ser dimensionado para diferentes tamanhos sem perder qualidade. A descrição baseada em texto desses arquivos os torna independentes da resolução. É um dos formatos mais usados ​​para criar sites e imprimir gráficos para obter escalabilidade. O formato só pode ser usado para gráficos bidimensionais. Os arquivos SVG podem ser visualizados/abertos em quase todos os navegadores modernos, incluindo Chrome, Internet Explorer, Firefox e Safari.

    consulte Mais informação

    Outros formatos de ajuste suportados

    Usando Python, pode-se facilmente ajustar diferentes formatos, incluindo.

    APNG (Gráficos de rede portátil animados)
    BMP (Imagem de bitmap)
    ICO (ícone do Windows)
    JPG (Grupo Conjunto de Especialistas em Fotografia)
    JPEG (Grupo Conjunto de Especialistas em Fotografia)
    DIB (Bitmap independente de dispositivo)
    DICOM (Imagens e comunicações digitais)
    DJVU (Formato gráfico)
    DNG (Imagem de câmera digital)
    EMF (Formato de metarquivo aprimorado)
    EMZ (Meta-arquivo aprimorado compactado do Windows)
    GIF (Formato de intercâmbio gráfico)
    JP2 (JPEG 2000)
    J2K (Imagem Comprimida Wavelet)
    PNG (Gráficos Portáteis de Rede)
    TIFF (Formato de imagem marcada)
    TIF (Formato de imagem marcada)
    WEBP (Imagem da Web Raster)
    WMF (Meta-arquivo do Microsoft Windows)
    WMZ (Skin compactada do Windows Media Player)
    TGA (Gráfico Targa)
    EPS (Linguagem PostScript Encapsulada)
    CDR (Imagem de desenho vetorial)
    CMX (Imagem do Corel Exchange)
    OTG (Padrão OpenDocument)
    ODG (Formato de desenho do Apache OpenOffice)