L'API Images consente di pubblicare immagini direttamente da Google Cloud Storage o di Blobstore e di manipolare tali immagini all'istante. Per visualizzare i contenuti del pacchetto image
, consulta il riferimento del pacchetto image
.
Affinché l'API Images funzioni, i bucket Cloud Storage devono utilizzare elenchi di controllo di accesso granulari. Per i bucket che sono stati configurati per l'accesso uniforme a livello di bucket, l'API Images non sarà in grado di recuperare immagini in quel bucket e genera il messaggio di errore TransformationError
. Se il bucket è configurato in questo modo, puoi disabilitare l'accesso uniforme a livello di bucket.
Formati delle immagini
Il servizio accetta dati di immagine nei formati JPEG, PNG, WEBP, GIF (incluse GIF animate), BMP, TIFF e ICO. Le immagini trasformate possono essere restituite nei formati JPEG, WebP e PNG.
Se il formato di input e quello di output sono diversi, il servizio converte i dati di input nel formato di output prima di eseguire la trasformazione.
Pubblicazione e ridimensionamento delle immagini
La funzione image.ServingURL
consente di generare un URL dedicato e stabile per la pubblicazione di miniature
di immagini adatte al web.
Puoi archiviare una singola copia dell'immagine originale in Blobstore e poi richiedere un URL per immagine ad alte prestazioni in grado di pubblicare l'immagine ridimensionata e/o ritagliata automaticamente. La pubblicazione da questo URL non comporta alcun carico di CPU o pubblicazione dinamica sull'applicazione (sebbene la larghezza di banda venga comunque addebitata come di consueto).
L'URL restituito dalla funzione è sempre pubblico, ma non intuibile; gli URL privati non sono attualmente supportati. Se vuoi interrompere la pubblicazione dell'URL, eliminalo
utilizzando la funzione
image.DeleteServingURL
.
Se passi un valore image.ServingURLOptions
alla funzione, questo restituisce un URL codificato con queste opzioni. Se passi nil
, la funzione restituisce l'URL predefinito per l'immagine, ad esempio:
http://lhx.ggpht.com/randomStringImageId
Puoi ridimensionare e ritagliare l'immagine in modo dinamico specificando gli argomenti nell'URL. Gli argomenti disponibili sono:
=sxx
, dovexx
è un numero intero compreso tra 0 e 2560 che rappresenta la lunghezza, in pixel, del lato più lungo dell'immagine. Ad esempio, l'aggiunta di=s32
ridimensiona l'immagine in modo che la sua dimensione più lunga sia di 32 pixel.=sxx-c
, dove xx è un numero intero compreso tra 0 e 2560 che rappresenta le dimensioni dell'immagine ritagliata in pixel, mentre-c
indica al sistema di ritagliare l'immagine.
# Resize the image to 32 pixels (aspect-ratio preserved) http://lhx.ggpht.com/randomStringImageId=s32 # Crop the image to 32 pixels http://lhx.ggpht.com/randomStringImageId=s32-c
Pubblicazione di immagini da Cloud Storage utilizzando l'API Blobstore
Se utilizzi Cloud Storage come datastore e gestisci le immagini con l'API Blobstore, devi creare una chiave blob per l'oggetto Cloud Storage.
Una nota sull'eliminazione
Per interrompere la gestione di un'immagine archiviata in Cloud Storage o Blobstore, chiama la funzione image.DeleteServingURL
.
Dovresti evitare di eliminare direttamente le immagini in Cloud Storage o Blobstore, in quanto puoi lasciarle accessibili tramite l'URL di pubblicazione.
La pubblicazione degli URL smetterà di funzionare se l'applicazione che li ha creati viene disattivata o eliminata, anche se l'immagine sottostante rimane disponibile.