Diariamente, producimos una enorme colección de imágenes a través de cámaras digitales, escáneres, etc. y la mayoría de ellas están en JPG, PNG, GIF, TIFF etc. Ahora podríamos estar capturando objetos/elementos innecesarios en una imagen. Por lo tanto, a menudo tenemos el requisito de recortar una foto para eliminar un tema no deseado o un detalle irrelevante de una imagen. Es posible que tengamos un requisito para cambiar la relación de aspecto de una imagen o para mejorar la composición general de la imagen. Entonces, en este artículo, aprenderemos los detalles sobre cómo recortar imágenes usando Java Cloud SDK.
API de recorte de imagen
Para recortar una foto en la aplicación Java, vamos a utilizar Aspose.Imaging Cloud SDK for Java. La API le permite especificar la posición y las dimensiones del rectángulo de recorte. Una vez completada la operación de recortar la imagen, podemos guardar la imagen de salida en el mismo formato o aprovechar para guardar la imagen recortada en un formato diferente. Visite el siguiente enlace para obtener la lista de formatos admitidos. Ahora, para comenzar, el primer paso es agregar su referencia en el proyecto java incluyendo la siguiente información en pom.xml (proyecto de tipo de compilación 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>
Una vez que se configura el proyecto, debemos obtener las credenciales del cliente de Cloud Dashboard. Ahora, si no tiene una cuenta en Aspose Cloud Dashboard, cree una cuenta gratuita a través de una dirección de correo electrónico válida. Ahora inicie sesión con la cuenta recién creada y busque/cree el ID del cliente y el secreto del cliente en el panel de Aspose Cloud.
Recortar imagen usando Java
Exploremos los detalles sobre cómo podemos cargar una imagen existente y recortarla en línea. Primero vamos a recortar PNG/croppng y guardar la imagen actualizada en el mismo formato. El PNG se cargará desde el disco local, se recortará la foto en línea y la salida resultante se guardará en el almacenamiento en la nube. En caso de que no especifiquemos el nombre del archivo de salida, la respuesta contendrá la imagen transmitida.
- En primer lugar, necesitamos crear una instancia de ImagingApi basada en credenciales de cliente personalizadas.
- En segundo lugar, lea la carpeta local del formulario de archivo PNG usando el objeto Archivo
- Cree una instancia de byte [] y lea todos los bytes del archivo usando el método readAllBytes (…)
- Ahora especifique las dimensiones y las coordenadas X, Y con respecto al punto para iniciar la operación de recorte
- Posteriormente, cree una instancia de CreateCroppedImageRequest que requiera todos los parámetros anteriores y el nombre de la imagen resultante
- Finalmente, recorte la imagen usando el método createCroppedImage(…)
// Obtenga ClientID y ClientSecret de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// crear objeto de imagen
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// cargar archivo desde disco local
File f = new File("PinClipart.png");
// leer el contenido de la imagen PNG a la matriz de bytes
byte[] bytes = Files.readAllBytes(f.toPath());
// especificar el ancho y la altura de la imagen recortada
int newWidth = 350;
int newHeight = 350;
// especificar el punto desde el que se iniciará el recorte de la imagen
int x = 100;
int y = 100;
// crear una solicitud de imagen de recorte mientras se especifica el nombre de la imagen resultante
CreateCroppedImageRequest cropRequest = new CreateCroppedImageRequest(bytes, x,y, newWidth, newHeight, null, "Cropped.png", null);
// método de llamada para recortar PNG y guardar la salida en el almacenamiento en la nube
imageApi.createCroppedImage(cropRequest);
Recortar foto usando comandos cURL
Como nuestras API se desarrollan en la arquitectura REST, ofrecemos dos flexibilidades, es decir, obtener una experiencia unificada incluso cuando se llama a las API en cualquier plataforma y acceder a las API mediante comandos cURL. Ahora, para acceder a las API utilizando los comandos cURL a través de la terminal de la línea de comandos, primero debemos generar un token de acceso JWT (basado en las credenciales del cliente) usando el siguiente 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"
Una vez que se haya generado el token JWT, llame a la API CropImage para recortar la foto cargada desde el almacenamiento en la nube en formato PNG. Ahora, para guardar la imagen recortada en formato JPG, estamos especificando el valor JPG contra el parámetro de formato. La imagen de recorte resultante se devuelve en el flujo de respuesta.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/image1.jpg/crop?x=50&y=50&width=200&height=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
-o "cropped.jpg"
Conclusión
Al final de este artículo, hemos aprendido los pasos sobre cómo recortar una foto usando un fragmento de código Java. Al mismo tiempo, también hemos explorado la opción de recortar imágenes en línea usando los comandos cURL. Además de la operación de recorte de imágenes, puede explorar Documentación del producto para conocer otras características interesantes que ofrece la API. Antes de trabajar con un fragmento de código, puede explorar las características de la API dentro del navegador a través de Referencia de la API de Swagger.
Sin embargo, brindamos total flexibilidad a nuestros usuarios al permitirles descargar el código fuente completo de la API de procesamiento de imágenes de GitHub (se publica bajo licencia MIT). En caso de que encuentre algún problema al usar la API, puede considerar acercarse a nosotros para una resolución rápida a través del foro de soporte del producto gratuito.
Artículos relacionados
Visite los siguientes enlaces para obtener más información sobre: