Use Python para redimensionar imagens EMF
Crie aplicativos Python para redimensionar imagens e fotos EMF por meio de APIs de servidor
Como redimensionar imagens e fotos EMF com Python
Ao preparar imagens e fotos para publicação em sites, é fundamental considerar a especificidade das tecnologias web. Um aspecto fundamental neste processo envolve o ajuste do tamanho das imagens. Muitas vezes é necessário reduzir imagens e salvar arquivos em várias resoluções. Por exemplo, as páginas da galeria com pré-visualizações devem incorporar pequenas miniaturas de arquivos, enquanto as páginas designadas para visualização de imagens selecionadas devem oferecer opções de alta resolução. O redimensionamento de arquivos grandes pode ser conseguido reduzindo o número total de pixels, mas a redução no tamanho do arquivo deve ser feita sem comprometer a qualidade da imagem. Durante o processo de dimensionamento, é importante considerar a configuração de compactação de dados para manter um equilíbrio entre tamanho e qualidade da imagem. Imagens menores carregam mais rápido, uma vantagem particularmente significativa em conexões móveis, melhorando, em última análise, a experiência do usuário em seu site. Automatizar a conversão do tamanho do arquivo em massa é facilmente alcançável usando a biblioteca Python. Para redimensionar imagens EMF, utilizaremos 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 redimensionar EMFs via Python
Você precisa do aspose-imaging-python-net para tentar o seguinte fluxo de trabalho em seu próprio ambiente.
- Carregar arquivo EMF com o método Image.Load
- Redimensionar imagem
- Salvar imagem redimensionada em 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.
Redimensionar imagens EMF - Python
from aspose.imaging import Image, FileFormat | |
from aspose.imaging.imageoptions import * | |
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 | |
obj_init = [] | |
obj_init.append("emf") | |
obj_init.append("emz") | |
obj_init.append("wmf") | |
obj_init.append("wmz") | |
obj_init.append("svg") | |
obj_init.append("svgz") | |
obj_init.append("cdr") | |
obj_init.append("cmx") | |
obj_init.append("odg") | |
obj_init.append("otg") | |
vector_formats = obj_init | |
for format_ext in vector_formats: | |
input_file = os.path.join(templates_folder, f"template.{format_ext}") | |
output_file = os.path.join(templates_folder, f"resized_{format_ext.upper()}.png") | |
new_width = 100.0 | |
new_height = 100.0 | |
with Image.load(input_file) as image: | |
export_options = PngOptions() | |
tmp_switch2 = image.file_format | |
if tmp_switch2 == FileFormat.WMF: | |
export_options.vector_rasterization_options = WmfRasterizationOptions() | |
elif tmp_switch2 == FileFormat.EMF: | |
export_options.vector_rasterization_options = EmfRasterizationOptions() | |
elif tmp_switch2 == FileFormat.SVG: | |
export_options.vector_rasterization_options = SvgRasterizationOptions() | |
elif tmp_switch2 == FileFormat.CDR: | |
export_options.vector_rasterization_options = CdrRasterizationOptions() | |
elif tmp_switch2 == FileFormat.CMX: | |
export_options.vector_rasterization_options = CmxRasterizationOptions() | |
elif tmp_switch2 == FileFormat.ODG: | |
export_options.vector_rasterization_options = OdgRasterizationOptions() | |
elif tmp_switch2 == FileFormat.OTG: | |
export_options.vector_rasterization_options = OtgRasterizationOptions() | |
else: | |
raise RuntimeError("Wrong argument!") | |
export_options.vector_rasterization_options.page_width = new_width | |
export_options.vector_rasterization_options.page_height = new_height | |
image.save(output_file, export_options) | |
if delete_output: | |
os.remove(output_file) |
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.Redimensionar EMFs via aplicativo on-line
Redimensione documentos EMF visitando nosso site de demonstrações ao vivo . A demonstração ao vivo tem os seguintes benefícios
EMF O que é EMF Formato de arquivo
O formato de metarquivo aprimorado (EMF) armazena imagens gráficas independentemente do dispositivo. Os metarquivos de EMF são compostos por registros de comprimento variável em ordem cronológica que podem renderizar a imagem armazenada após a análise em qualquer dispositivo de saída. Esses registros de comprimento variável podem ser definições de objetos incluídos, comandos para desenho e propriedades gráficas críticas para renderizar a imagem com precisão. Quando um dispositivo abre um metarquivo EMF usando seu próprio ambiente gráfico, as proporções, dimensões, cores e outras propriedades gráficas da imagem original permanecem as mesmas, independentemente da plataforma do dispositivo de abertura.
consulte Mais informação