svg para png

Converter SVG para PNG em Java

Uma das características proeminentes das imagens SVG é que elas são escaláveis. Os SVGs mantêm a mesma qualidade, independentemente da resolução ou tamanho da tela. Assim, você pode projetá-lo em qualquer resolução e ele aumentará ou diminuirá o tamanho sem prejudicar a qualidade ou ficar pixelado. Ao comparar com imagens raster, você precisa saber o tamanho que deseja desde o início, ou corre o risco de tornar a imagem muito grande ou muito pequena. Mas, como os SVGs são baseados em pontos e caminhos em vez de pixels, eles não podem exibir tantos detalhes quanto os formatos de imagem padrão. Portanto, se convertermos SVG para o formato PNG, esses problemas podem ser resolvidos.

API de conversão de SVG para PNG

Neste artigo, vamos usar Aspose.Imaging Cloud SDK for Java que é uma API baseada em REST que oferece recursos para editar, manipular e transformar programaticamente raster, metarquivos, photoshop em uma variedade de Formatos suportados. Ele também suporta o recurso de conversão online de SVG para PNG. Agora, para começar com a utilização do SDK, precisamos adicionar sua referência em nosso projeto java, incluindo as seguintes informações em pom.xml (projeto de tipo de compilação maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Se já nos registramos no Aspose Cloud Dashboard, obtenha suas credenciais de cliente no Cloud Dashboard. Caso contrário, você precisa primeiro registrar uma conta gratuita usando um endereço de e-mail válido.

Converter SVG para PNG em Java

A API de processamento de imagem é capaz de converter PNG para SVG, bem como SVG para PNG usando o trecho de código Java.

  • Em primeiro lugar, crie um objeto de ImagingApi usando credenciais de cliente personalizadas
  • Em segundo lugar, leia o conteúdo da imagem SVG usando o método readAllBytes(…) e passe para o array byte[]
  • Em seguida, crie uma instância de UploadFileRequest ao passar o nome SVG e faça o upload para o armazenamento em nuvem usando o método uploadFile(…)
  • Agora crie um objeto de ConvertImageRequest onde especificamos o SNG de entrada e o formato de imagem resultante como PNG
  • Chame o método convertImage(…) para converter o formato SVG para PNG e o resultado é retornado como fluxo de resposta
  • Por fim, salve o PNG resultante na unidade local usando o objeto FileOutputStream
// Obtenha ClientID e ClientSecret em https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// criar objeto de imagem
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// carregar imagem SVG do sistema local
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// criar objeto de solicitação de upload de arquivo
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// upload de imagem SVG para armazenamento em nuvem
imageApi.uploadFile(uploadRequest);

// especifique o formato de saída da imagem
String format = "PNG";

// Criar objeto de solicitação de conversão de imagem
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// converter SVG para PNG e retornar a imagem no fluxo de resposta
byte[] resultantImage = imageApi.convertImage(convertImage);

// Salvar imagem PNG no armazenamento local
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

A imagem SVG de entrada usada no exemplo acima pode ser baixada de FileExtension Icons.svg.

svg para png

Imagem:- converter svg para png visualização online

Salvar SVG como PNG usando comandos cURL

O Aspose.Imaging Cloud é desenvolvido de acordo com a arquitetura REST, então podemos salvar a imagem como png usando comandos cURL. Agora, a primeira etapa é gerar um token de acesso JWT (com base nas credenciais do cliente) usando o seguinte comando.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Assim que o token JWT for gerado, execute o seguinte comando para converter o formato SVG para PNG.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.png

Conclusão

Aprendemos os detalhes sobre como podemos converter SVG em PNG usando o trecho de código Java. Ao mesmo tempo, exploramos uma opção de conversão de SVG para PNG usando comandos cURL. Além disso, se você deseja modificar o código-fonte do SDK, pode baixá-lo no GitHub (todos os nossos Cloud SDKs são desenvolvidos sob a licença MIT). Além disso, uma das opções para testar os recursos promissores da API é por meio de SwaggerUI no navegador da web.

No entanto, a Documentação do produto é uma fonte incrível de informações para aprender sobre outros recursos interessantes oferecidos pela API Por fim, caso você encontre algum problema ao usar a API, considere entrar em contato conosco para uma resolução rápida via fórum de suporte ao produto.

Artigos relacionados

Por favor, visite os links a seguir para saber mais sobre: