L'API Images consente di pubblicare immagini direttamente da Google Cloud Storage o Blobstore e di manipolarle al volo. Per visualizzare i contenuti del pacchetto image
, consulta la documentazione di riferimento del pacchetto image
.
Affinché l'API Images funzioni, i bucket Cloud Storage devono utilizzare elenchi di controllo dell'accesso granulari. Per i bucket configurati per l'accesso uniforme a livello di bucket, l'API Images non potrà recuperare le immagini al loro interno e verrà visualizzato il messaggio di errore TransformationError
. Se il bucket è configurato in questo modo, puoi disattivare l'accesso uniforme a livello di bucket.
Formati delle immagini
Il servizio accetta dati delle immagini nei formati JPEG, PNG, WEBP, GIF (incluse le 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 stabile e dedicato 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 che possa pubblicare l'immagine ridimensionata e/o ritagliata automaticamente. La pubblicazione da questo URL non comporta alcun carico della CPU o della pubblicazione dinamica sulla tua applicazione (anche se la larghezza di banda viene comunque addebitata come di consueto).
L'URL restituito dalla funzione è sempre pubblico, ma non è possibile indovinarlo. Al momento gli URL privati non sono supportati. Se vuoi interrompere la pubblicazione dell'URL, eliminalo utilizzando la funzione image.DeleteServingURL
.
Se passi un valore
image.ServingURLOptions
alla funzione, questa 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 e-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 pubblichi le immagini utilizzando l'API Blobstore, devi creare una chiave blob per l'oggetto Cloud Storage.
Una nota sull'eliminazione
Per interrompere la pubblicazione di un'immagine archiviata in Cloud Storage o Blobstore, chiama la funzione image.DeleteServingURL
.
Evita di eliminare direttamente le immagini in Cloud Storage o Blobstore, in quanto in questo modo potresti lasciarle accessibili tramite l'URL di pubblicazione.
Gli URL di pubblicazione smetteranno di funzionare se l'applicazione che li ha creati viene disattivata o eliminata, anche se l'immagine sottostante rimane disponibile.