As imagens SVG são proeminentes porque são escaláveis e mantêm a mesma qualidade, independentemente do tamanho ou resolução da tela. Eles podem ser projetados em qualquer resolução e podem ser dimensionados para cima/baixo, sem prejudicar a qualidade (ou serem pixelados). Mas, como as imagens SVG são baseadas em pontos e caminhos, em vez de pixels, elas não podem exibir tantos detalhes quanto uma imagem raster. Então, se convertermos a imagem SVG para PNG, esses problemas podem ser resolvidos.
- API de conversão de SVG para PNG
- Converter SVG para PNG em Java
- Salvar SVG como PNG usando comandos cURL
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 para converter SVG para PNG online. Agora, para iniciar 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>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Agora, para usar a API, precisamos de nossas credenciais de cliente personalizadas. Eles podem ser facilmente obtidos se você já estiver registrado no Aspose Cloud Dashboard. Caso contrário, registre uma conta gratuita por meio de um endereço de e-mail válido e obtenha suas credenciais de cliente.
Converter SVG para PNG em Java
Nossa API de processamento de imagem é capaz de converter PNG para SVG e SVG para PNG com o mínimo de linhas de código. Portanto, nesta seção, discutiremos todos os detalhes para converter SVG em PNG usando Java.
- Primeiro de tudo, crie um objeto da classe ImagingApi onde passamos as credenciais do cliente como argumento
- Em segundo lugar, leia o conteúdo da imagem SVG usando o método readAllBytes(…) e retorne-o para o array byte[]
- Em seguida, crie uma instância de UploadFileRequest ao passar o nome SVG e carregue-o no armazenamento em nuvem usando o método uploadFile(…)
- Agora crie um objeto de ConvertImageRequest, onde passamos o nome do SNG de entrada e o formato resultante como “PNG”
- Chame o método convertImage(…) para iniciar a conversão de SVG para PNG. A saída é então retornada 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.
Salvar SVG como PNG usando comandos cURL
Como o Aspose.Imaging Cloud é desenvolvido de acordo com a arquitetura REST, pode ser facilmente acessado por meio de comandos cURL. Portanto, nesta seção, vamos salvar SVG como PNG usando os 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"
Depois que o token JWT for gerado, execute o seguinte comando para salvar o SVG como imagem 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
No final deste artigo, aprendemos os detalhes de como podemos converter SVG para PNG usando Java. Ao mesmo tempo, também exploramos uma opção de conversão de SVG para PNG usando comandos cURL. Além disso, se você quiser obter o código-fonte do SDK e modificá-lo de acordo com suas necessidades, ele pode ser baixado do GitHub (nossos Cloud SDKs são desenvolvidos sob licença MIT). Observe que outra opção para testar os incríveis recursos da API é por meio de SwaggerUI no navegador da web.
No entanto, a Documentação do produto é um repositório maravilhoso de artigos que explicam outros recursos interessantes da API. Por fim, caso encontre algum problema ao usar a API, considere entrar em contato conosco por meio do [fórum de suporte ao produto] gratuito 9.
Artigos relacionados
É altamente recomendável visitar os links a seguir para saber mais sobre: