converter JPG para PNG

Joint Photographic Experts Group (JPG/JPEG) e Portable Network Graphics (PNG) são dois formatos populares de imagem raster usados na internet. Ao contrário do JPEG, que depende da compressão DCT, o PNG usa a compressão LZW, que é a mesma usada pelos formatos GIF e TIFF. A maior vantagem do PNG sobre o JPEG é que a compressão é sem perdas, o que significa que não há perda de qualidade cada vez que ele é aberto e salvo novamente. O PNG também lida bem com imagens detalhadas e de alto contraste. Neste artigo, discutiremos as etapas sobre como converter imagens JPG para o formato PNG usando a API REST do .NET.

API de processamento de imagem

Aspose.Imaging Cloud é um dos nossos principais produtos para processamento de formato de imagem. Ele permite que você corte, inverta, dimensione, gire, pesquise, converta e exporte formatos de imagem existentes para Formatos de arquivo suportados. A arquitetura REST permite que os desenvolvedores implementem diversos recursos de imagem em suas soluções baseadas em nuvem. Para facilitar ainda mais nossos clientes, desenvolvemos Aspose.Imaging Cloud SDK para .NET no topo da API REST Aspose.Imaging para que você obtenha toda a manipulação avançada de imagem em seus aplicativos C# .NET.

Instalação

Para usar o SDK, precisamos primeiro instalá-lo no sistema. Ele está disponível para download no NuGet e no GitHub. Execute o seguinte comando no terminal para instalar o SDK via NuGet:

nuget install Aspose.Imaging-Cloud

Ou execute o seguinte comando no Gerenciador de Pacotes NuGet:

PM> Install-Package Aspose.Imaging-Cloud

Abordagem do Visual Studio

Outra abordagem é a instalação diretamente no Visual Studio:

  1. Abra o Solution Explorer.
  2. Expanda o projeto e clique com o botão direito do mouse na pasta Pacotes dentro da sua solução.
  3. Selecione a opção Gerenciar pacotes NuGet…
  4. Clique na aba Navegar e procure por “Aspose.Imaging-Cloud“.
  5. Clique na caixa de seleção ao lado do pacote Aspose.Imaging-Cloud, selecione a versão apropriada na aba direita e clique no botão Adicionar pacote.
Aspose.Cloud de imagens

Imagem 1:- Aspose.Imaging-Cloud como pacote NuGet.

Assinatura Aspose.Cloud

Todas as nossas APIs são acessíveis somente a pessoas autorizadas para que a integridade e privacidade dos dados sejam mantidas. Além disso, os arquivos armazenados no armazenamento em nuvem são associados à conta assinada no painel Aspose.Cloud. Portanto, o primeiro passo é criar uma conta de assinatura gratuita visitando o painel Aspose.Cloud. Se você tiver uma conta GitHub ou Google, basta se inscrever. Caso contrário, clique no botão Criar uma nova conta e forneça as informações necessárias. Agora, faça login no painel usando credenciais e expanda a seção Aplicativos no painel e role para baixo em direção à seção Credenciais do cliente para ver os detalhes do ID do cliente e do segredo do cliente.

Credenciais do cliente

Imagem 2:- Credenciais do cliente no painel do Aspose.Cloud.

JPG para PNG em C#

Siga as etapas abaixo para realizar a conversão do formato JPG para PNG no aplicativo C# .NET.

  • Crie um objeto ImagingApi ao passar os detalhes do ID do cliente e do segredo do cliente como argumentos
  • Em segundo lugar, leia a imagem JPEG da unidade local e passe-a como um argumento para o objeto UploadFileRequest
  • Em terceiro lugar, chame o método UploadFile(…) do ImagingApi para enviar o arquivo para o armazenamento em nuvem
  • Agora crie uma instância da classe ConvertImageRequest que recebe o nome da imagem e o formato de saída resultante como argumentos
  • Em seguida, chame o método ConvertImage(…) da classe ImagingApi para iniciar a operação de conversão
  • Por fim, salve a saída do fluxo na unidade local usando File.Create (o método personalizado é compartilhado abaixo).
// Obter ClientID de https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// crie uma instância de ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");

// caminho da imagem JPEG de entrada
string imageFile = "jpg-to-png.jpeg";
 
// formato de arquivo de saída
string format = "png";
 
// nome do arquivo resultante
string resultantFile = "converted.png";

// carregue o arquivo da unidade local
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
    var uploadFileRequest = new UploadFileRequest(imageFile, file);

    // Carregar documento original no Cloud Storage
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // Criar ImageRequest
    var request = new ConvertImageRequest(imageFile, format, null, null);
    
    // iniciar a operação de conversão
    Stream updatedImage = imagingApi.ConvertImage(request);

    // imprimir mensagem de sucesso se a conversão for bem-sucedida
    if (request != null && request.Equals("OK"))
    {
        Console.WriteLine("JPG successfully converted to PNG !");
        Console.ReadKey();
    }
    
    // chame o método para salvar a saída na unidade do sistema
    saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

// método personalizado para salvar objeto steam como instância de arquivo
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Comando cURL para conversão de JPEG para PNG

A arquitetura REST das APIs de nuvem nos permite acessá-las até mesmo por terminais de linha de comando. Mas, devido a restrições de segurança, você precisa primeiro gerar um JSON Web Token (JWT) com base nos detalhes do ClientID e ClientSecret recuperados do painel Aspose.Cloud. Execute o seguinte comando no terminal para gerar o token JWT.

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"

Depois de ter o token JWT, o próximo passo é chamar a API ConvertImage para executar a operação de conversão de JPG para PNG.

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

URL da solicitação

https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png

Conclusão

Exploramos Aspose.Imaging Cloud API para a conversão de imagem JPEG para o formato PNG. Aprendemos os processos de conversão de arquivos usando o código C# .NET, bem como a conversão usando os comandos cURL. Observe também que o Cloud SDK é distribuído sob uma licença MIT e seu código-fonte completo está disponível para download no GitHub. Caso você encontre algum problema ou tenha alguma dúvida ao usar a API, sinta-se à vontade para entrar em contato por meio do Fórum de suporte gratuito ao produto.

Artigos relacionados

Recomendamos também que visite os seguintes links para saber mais sobre