Redimensionar imagem

Redimensionar imagem usando Java Cloud SDK

Nossa vida pessoal à oficial é englobada por imagens raster. Ao usar telefones celulares, scanners, dispositivos de imagem e várias outras câmeras usadas em vários dispositivos, produzimos uma enorme quantidade de dados em termos de imagens. Agora, dependendo do algoritmo de compressão, todos os dispositivos produzem as imagens em diferentes dimensões e tamanhos. Mas, caso tenhamos um requisito para armazenar as imagens (JPG, PNG, GIF, TIFF etc) em dimensões unificadas, precisamos redimensionar imagens. Temos uma infinidade de aplicativos de redimensionamento de fotos disponíveis no mercado, mas caso precisemos redimensionar imagens online em massa, uma solução programática é sempre uma abordagem viável. Portanto, neste artigo, discutiremos os detalhes/etapas sobre como desenvolver o redimensionador de imagens usando o Java Cloud SDK.

API de redimensionamento de imagem

Para redimensionar a imagem, vamos usar Aspose.Imaging Cloud SDK for Java. Devido à sua arquitetura baseada em REST, podemos acessar a API em qualquer plataforma e desenvolver o redimensionador de fotos. Além do recurso para redimensionar a imagem online, ele também permite criar, editar e transformar arquivos de imagem em vários formatos de arquivo suportados. Agora, para começar, precisamos adicionar sua referência no projeto java incluindo as seguintes informações em pom.xml (projeto de tipo de construçã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>

Caso você não tenha uma conta no Aspose Cloud Dashboard, crie uma conta gratuita por meio de um endereço de e-mail válido. Agora faça o login usando a conta recém-criada e procure/crie ID do cliente e Segredo do cliente em Cloud Dashboard. Esses detalhes são necessários para fins de autenticação nas seções a seguir.

Redimensionar imagem em Java

Esta seção explica as etapas de como redimensionar a imagem PNG. A API espera carregar a imagem da unidade local que precisamos para passar a imagem diretamente no corpo da solicitação. Após a operação de redimensionamento png, podemos salvar a imagem atualizada no Cloud Storage especificando o valor do parâmetro outPath. No entanto, se não especificarmos o valor, a resposta conterá uma imagem transmitida.

  • Crie uma instância de ImagingApi com base em credenciais de cliente personalizadas
  • Leia o arquivo PNG da pasta local usando o objeto File
  • Crie a instância byte[] e leia todos os bytes do arquivo usando o método readAllBytes(…)
  • Especifique novas dimensões de imagem usando objetos Integer
  • Agora crie uma instância de CreateResizedImageRequest onde especificamos o nome da imagem resultante
  • Por fim, redimensione a imagem usando o método createResizedImage(…)
// 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 arquivo da unidade local
File f = new File("PinClipart.png");

// leia o conteúdo da imagem PNG para a matriz de bytes
byte[] bytes = Files.readAllBytes(f.toPath());
			
// novas dimensões para a imagem resultante
int newWidth = 150;
int newHeight = 150;
		    
// criar solicitação de redimensionamento de imagem ao especificar o nome da imagem resultante
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);

// redimensione a imagem online e salve a saída no armazenamento em nuvem
imageApi.createResizedImage(resizeRequest);

Redimensionar GIF usando comandos cURL

Durante a operação de redimensionamento da imagem, também podemos especificar o formato atualizado da imagem. Portanto, nesta seção, vamos redimensionar o GIF e salvar a saída no formato JPG usando comandos cURL. Portanto, como pré-requisito, precisamos primeiro gerar um token de acesso JWT (com base nas credenciais do cliente) ao executar 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, chame a API ResizeImage para redimensionar a imagem e salvar a saída no formato JPG na unidade local (o parâmetro de formato de arquivo resultante é opcional).

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
Redimensionar imagem

Redimensionar a visualização do GIF

A imagem GIF de origem pode ser baixada de winter.gif e a imagem resultante de resultant.jpg.

Conclusão

Aprendemos uma abordagem incrível para redimensionar imagens online usando o trecho de código Java. Também nos esclareceu detalhes sobre como redimensionar imagens sem perder qualidade usando comandos cURL. Observe que você também pode explorar os recursos da API no navegador da Web usando a Referência da API do swagger. Além dos recursos do Picture Resizer, você pode explorar e aprender sobre outros recursos interessantes da API na Documentação do produto. No entanto, todos os nossos Cloud SDKs são publicados sob licença MIT, então você pode considerar baixar o código-fonte completo do GitHub (que você pode modificar de acordo com seus requisitos). Por fim, se você encontrar algum problema ao usar a API, considere entrar em contato conosco para uma resolução rápida por meio do [fórum de suporte ao produto] gratuito 9.

Artigos relacionados

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