Le moteur App offre la possibilité de manipuler des données d’image au moyen d’un service d’image dédié. Le service d’image peut manipuler des images, rejoindre plusieurs images en une, convertir les formats d’image, fournir des métadonnées d’image en tant que format, largeur, hauteur et histogramme de valeurs de couleur.
Java 8 dans l’App Engine Prise en charge des images autochtones Java Les classes de manipulation, telles que AWT et Java2D, ainsi que l’API de l’image du moteur d’application.
Le service d’image peut accepter les données d’image directement à partir de l’application ou utiliser une valeur du stockage de Google Cloud. Le service d’image peut également utiliser une valeur de blobstore en nuage, mais nous vous recommandons d’utiliser le stockage en nuage.
Les images stockées dans le stockage en nuage et le nuage Blobstore peuvent atteindre la valeur maximale autorisée pour le service correspondant. L’image transformée est affichée directement sur l’application et doit être inférieure à 32 mégaoctets.
transforme les images dans Java 8
L’API du service d’image vous permet d’appliquer des transformations en images par un service au lieu d’effectuer un traitement d’image sur le serveur d’applications. L’application prépare un objet Image
avec les données d’image qui seront transformées et un objet Transform
avec les instructions pour transformer l’image. L’application obtient un objet ImagesService
puis appelez votre méthode applyTransform()
avec le Image
et le Objets Transform
. La méthode montre un objet Image
de l’image transformée.
L’application obtient les instances ImagesService
, Image
et Transform
à l’aide de
Vous pouvez combiner plusieurs transformations dans une seule action au moyen d’une instance CompositeTransform
. Vérifiez la référence de l’API d’images.
Transformations d’image disponibles
Le service d’image peut modifier la taille, faire pivoter, faire pivoter et couper des images et améliorer les photographies. Vous pouvez également composer plusieurs images dans une seule image.
Modification de la taille
Vous pouvez modifier la taille de l’image en maintenant la même proportion. Ni la largeur ni l’image redimensionnée ne peuvent dépasser 4 000 pixels.
rotation
Vous pouvez faire pivoter l’image par incréments de 90 degrés.
rotation horizontale
Vous pouvez faire pivoter l’image horizontalement.
rotatif verticalement
Vous pouvez faire pivoter l’image verticalement.
Couper
Vous pouvez couper l’image avec un boîtier limite donné.
<454E67C3EE">
Je vais avoir la chance
transformation « Je vais avoir de la chance » Améliore les couleurs sombres et Bright à partir d’une image, ajustez les couleurs et optimise le contraste.
Formats d’image
Le service Acceptez les données d’image dans les formats JPEG, PNG, WebP, GIF (y compris GIF animée), BMP, TIFF et ICO. Les images transformées peuvent être affichées dans les formats JPEG, WebP et PNG.
Si le format d’entrée et le format de sortie sont différents, le service convertit les données d’entrée au format de sortie avant de faire la transformation.
Comment transformer des images
Le service d’image peut utiliser une valeur de stockage de cloud Google Cloud ou de blobstore comme source d’images pour une transformation. Il y a deux façons de transformer des images:
- Vous pouvez utiliser les images iMerviceFactory (), qui vous permet de faire des transformations d’image simples, telles que la garniture, la rotation et la rotation.
- Utiliser getvergingurl () vous permet de modifier la taille des images et de les couper de manière dynamique afin de ne pas avoir besoin de stocker différentes tailles d’images sur le serveur. Avec cette méthode, une URL qui fournit l’image est affichée et les transformations apportées à l’image sont codées dans cette URL. Dans cette fonction, on suppose que l’image ne change pas. S’il est modifié après avoir obtenu l’URL, vous pouvez obtenir des résultats inattendus lorsque vous l’utilisez.
Utilisez l’image ImagseServiceFactory ()
Vous pouvez transformer des images du stockage en nuage ou blobstore si la taille de l’image est inférieure au maximum autorisé par ces deux.Notez que le résultat de la transformation est affiché directement sur l’application et ne doit pas dépasser la limite de réponse de l’API de 32 mégaoctets.
Afin de transformer une image de stockage en nuage ou blobstore dans Java 8, créez l’objet Image
. Pour ce faire, appelez la méthode statique ImagesServiceFactory.makeImageFromBlob()
et transmettez-la une valeur blobstore.BlobKey
. Le reste de l’API se comporte de manière attendue. La méthode iv iD = « ad27b7640d » est indique le résultat des transformations ou génère un ImagesServiceFailureException
si le résultat est supérieur à la taille maximale de 32 mégaoctets.
// Make an image from a Cloud Storage object, and transform it.BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();BlobKey blobKey = blobstoreService.createGsBlobKey("/gs/" + bucket + "/image.jpeg");Image blobImage = ImagesServiceFactory.makeImageFromBlob(blobKey);Transform rotate = ImagesServiceFactory.makeRotate(90);Image rotatedImage = imagesService.applyTransform(rotate, blobImage);// Write the transformed image back to a Cloud Storage object.gcsService.createOrReplace( new GcsFilename(bucket, "rotatedImage.jpeg"), new GcsFileOptions.Builder().mimeType("image/jpeg").build(), ByteBuffer.wrap(rotatedImage.getImageData()));
utilise getververurn ()
la méthode getveringurl () vous permet de générer une URL fixe et dédiée pour une image qui est stockée dans le stockage en nuage ou Blobstore. Par exemple:
// Create a fixed dedicated URL that points to the GCS hosted fileServingUrlOptions options = ServingUrlOptions.Builder .withGoogleStorageFileName("/gs/" + bucket + "/image.jpeg") .imageSize(150) .crop(true) .secureUrl(true);String url = imagesService.getServingUrl(options);
L’URL générée utilise une infrastructure de distribution d’image hautement optimisée séparée de votre application. Comme l’image est livrée indépendamment de votre application, elle ne génère pas de charge et peut être très rentable. L’URL montrée à cette méthode est toujours un accès public, mais ne peut pas être devinée.
Si vous souhaitez arrêter de livrer l’URL, graver-la avec la méthode DeleServingURL ().
La méthode montre une URL codée avec les arguments de taille et de coupure spécifiés. Si vous ne spécifiez aucun argument, la méthode indique l’URL d’image par défaut, par exemple:
http://lhx.ggpht.com/randomStringImageId
Vous pouvez modifier la taille de l’image et la couper de manière dynamique Spécifier les arguments dans l’URL. Les arguments disponibles sont les suivants:
-
=sxx
oùxx
est un entier de 0 2 560 représentant la longueur , en pixels, du côté le plus long de l’image. Par exemple, si vous ajoutez=s32
, la taille de l’image est modifiée de sorte que sa dimension la plus longue est de 32 pixels. - <3b74d97d5e ">
où xx est un entier de 0 à 2 560 représentant la taille de l’image de coupure en pixels, et -c
indique au système qui coupe l’image.
# Resize the image to 32 pixels (aspect-ratio preserved)http://lhx.ggpht.com/randomStringImageId=s32# Crop the image to 32 pixelshttp://lhx.ggpht.com/randomStringImageId=s32-c
images et serveur de développement
Le serveur de développement utilise votre machine locale pour effectuer les capacités de service des images
Le serveur de développeur Java utilise le cadre de travail d’image pour simuler le service d’image. La fonctionnalité pour améliorer les photos « Je vais avoir de la chance » n’est pas compatible. Le format WebP image n’est pris en charge que si un complément de décodeur approprié a été installé. Par exemple, le complément du codeur Java VP8 peut être utilisé. Notez que la méthode
n’est pas disponible sur le serveur de développement.
une clarification sur le retrait
Pour arrêter de livrer une image stockée dans Stockage en nuage ou blobstore, appelle la méthode SuppringServingURL ().
Vous devez éviter de supprimer des images directement dans le stockage en nuage ou le blobstore, car cela peut désactiver l’accès à ceux-ci via l’URL active.
URL active cessera de fonctionner si l’application qui les a créés est désactivé ou supprimé, même si l’image sous-jacente reste disponible.
frais, limites et prix
À ce moment-là, l’utilisation de l’API d’image ne génère pas de frais supplémentaires. Vérifiez la page de prix du moteur de l’application.
Chaque requête à l’image API est prise en compte pour les frais d’appel à l’API de manipulation d’image. Une application peut apporter plusieurs transformations d’une image dans un seul appel à l’API.
Les données envoyées au service d’image sont considérées dans les frais de données envoyés à l’API (d’images). Les données reçues du service d’image sont prises en compte pour les frais de données reçus de l’API (d’images).
Chaque transformation d’une image est considérée comme des frais de transformation exécutée.
Pour plus d’informations, voir Frais. Pour voir l’utilisation actuelle de votre application, visitez l’onglet Détails des frais de la console de la console Google Cloud.
Outre les frais, les limites suivantes sont appliquées à l’utilisation du service d’image:
limite | |
---|---|
taille maximale de données de l’image envoyée à | 32 mégaoctets |
taille de données maximale de l’image reçue de | 32 mégaoctets |
taille maximale de données de l’image envoyée au service ou reçu de ce | 50 mégapixels |