SVG para PNG

Converter SVG para PNG Online | Salvar SVG para PNG

O Scalable Vector Graphics (SVG) define gráficos baseados em vetores para a Web. O SVG é um formato de imagem vetorial baseado em XML para gráficos bidimensionais com suporte para interatividade e animação. Este formato é popular para renderizar imagens bidimensionais na internet, onde as imagens podem ser dimensionadas para qualquer tamanho. Mas, caso tenhamos um requisito para converter SVG para PNG para compressão sem perdas, onde não perde detalhes e qualidade, então o Aspose.Imaging Cloud é uma solução viável.

Este artigo fornece detalhes sobre como converter SVG para PNG online.

API de conversão de imagem

Aspose.Imaging Cloud é nossa solução de programação para requisitos de processamento de imagem. Você pode executar operações, incluindo redimensionamento, corte, rotação, dimensionamento, inversão, pesquisa e exportação de imagens para vários formatos suportados. Para facilitar ainda mais nossos usuários, criamos SDKs específicos para linguagem de programação e, de acordo com o escopo deste artigo, usaremos o Aspose.Imaging Cloud SDK para .NET. Agora, visite o link a seguir para saber mais sobre Como instalar os SDKs do Aspose.Cloud.

Converter SVG para PNG em C#

Siga as instruções abaixo para converter uma imagem SVG já disponível no armazenamento em nuvem para o formato PNG.

  • O primeiro passo é criar uma instância de ImagingApi enquanto passa os detalhes ClientID e ClientSecret como argumentos.
  • Em segundo lugar, carregue a imagem SVG no armazenamento em nuvem usando o método UploadFile(..) do ImagingApi.
  • Em terceiro lugar, crie uma instância da classe ConvertImageRequest enquanto passa o nome do SVG de entrada e o formato resultante como argumentos.
  • Agora chame o método ConvertImage(..) para executar a operação de conversão. O PNG resultante é retornado como uma instância Stream.
  • Por fim, chame o método personalizado usando File.Create para salvar a instância do Stream como um arquivo em uma unidade local.
// Para exemplos completos, visite https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Obtenha credenciais do cliente em https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// crie um objeto de DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");

// nome do arquivo SVG de entrada
String inputFileName = "trashloader2.svg";
// formato de arquivo resultante
String newFormat = "png";
// nome do arquivo de saída
String newFileName = "Converted.png";

try
{
    // carregue o arquivo da unidade local
    using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
    {
        // criar solicitação de upload de arquivo    
        UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
        // carregar arquivo para armazenamento em nuvem padrão
        imagingApi.UploadFile(request);
                
        // crie uma instância para conversão de imagem
        var response = new ConvertImageRequest(inputFileName,newFormat);
        // iniciar a operação de conversão de imagem
        var responseStream = imagingApi.ConvertImage(response);
                
        // salvar a instância do fluxo como arquivo no armazenamento local
        saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
    }
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
        
static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Para sua referência, as imagens de amostra usadas no exemplo acima podem ser baixadas de trashloader2.svg e Converted.png.

Visualização da conversão de SVG para PNG

Imagem 1:- Visualização da conversão de SVG para PNG.

SVG para PNG usando comandos cURL

Nesta seção, vamos realizar a conversão de SVG para PNG usando comandos cURL. O primeiro passo é gerar um token de acesso JWT com base nas credenciais do cliente. Execute o seguinte comando para gerar um:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Agora execute o seguinte comando cURL para converter SVG em PNG, onde o resultado é retornado como um fluxo de resposta e pode ser salvo em uma unidade local.

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

Caso você tenha a necessidade de converter uma imagem SVG passada como conteúdo multipart/form-data com índice zero ou como fluxo de corpo bruto.

curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png

Conclusão

Discutimos os recursos de conversão de imagem da API Aspose.Imaging Cloud. O foco específico foi na conversão de SVG para PNG usando o snippet de código C# .NET. Ao mesmo tempo, discutimos os detalhes sobre como salvar SVG para PNG por meio de comandos cURL. Observe que a API também pode ser acessada pela interface Swagger e você pode testar a API no navegador da web. No entanto, os Cloud SDKs são desenvolvidos sob uma licença MIT, portanto, um código-fonte completo pode ser baixado do GitHub.

Caso você encontre algum problema ao usar a API ou tenha alguma dúvida relacionada, sinta-se à vontade para entrar em contato conosco através do fórum de suporte gratuito ao produto.

Recomendamos visitar os seguintes links para saber mais sobre: