La API Images permite publicar imágenes directamente desde Google Cloud Storage
o Blobstore, así como manipularlas sobre la marcha. Para ver el contenido del paquete image
, consulta la referencia del paquete image
.
Los segmentos de Cloud Storage deben usar listas de control de acceso detalladas para que funcione la API Images. En los segmentos que se hayan configurado para usar el acceso uniforme a nivel de segmento, la API Images no podrá obtener imágenes de ese segmento y mostrará el mensaje de error TransformationError
. Si tu segmento está configurado de esta forma, puedes inhabilitar el acceso uniforme a nivel de segmento.
Formatos de imagen
El servicio acepta datos de imagen en los formatos JPEG, PNG, WEBP, GIF (incluidos los GIF animados), BMP, TIFF e ICO. Las imágenes transformadas se pueden devolver en formato JPEG, WebP y PNG.
Si el formato de entrada y el de salida son diferentes, el servicio convierte los datos de entrada al formato de salida antes de realizar la transformación.
Servir y cambiar el tamaño de las imágenes
La función image.ServingURL
te permite generar una URL estable y específica para servir miniaturas de imágenes aptas para la Web.
Puedes almacenar una sola copia de la imagen original en Blobstore y, a continuación, solicitar una URL de alto rendimiento por imagen que pueda servir la imagen redimensionada o recortada automáticamente. El servicio desde esta URL no supone ninguna carga de CPU ni de servicio dinámico para tu aplicación (aunque el ancho de banda se sigue cobrando como de costumbre).
La URL devuelta por la función siempre es pública, pero no se puede adivinar. Actualmente, no se admiten URLs privadas. Si quiere dejar de servir la URL, elimínela
con la función
image.DeleteServingURL
.
Si pasas un valor de image.ServingURLOptions
a la función, esta devuelve una URL codificada con esas opciones. Si pasa
nil
, la función devuelve la URL predeterminada de la imagen. Por ejemplo:
http://lhx.ggpht.com/randomStringImageId
Puedes cambiar el tamaño y recortar la imagen de forma dinámica especificando los argumentos en la URL. Estos son los argumentos disponibles:
=sxx
, dondexx
es un número entero entre 0 y 2560 que representa la longitud, en píxeles, del lado más largo de la imagen. Por ejemplo, si añades=s32
, la imagen se redimensionará de forma que su dimensión más larga sea de 32 píxeles.=sxx-c
, donde xx es un número entero del 0 al 2560 que representa el tamaño de la imagen recortada en píxeles y-c
indica al sistema que recorte la imagen.
# 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
Servir imágenes de Cloud Storage con la API Blobstore
Si usas Cloud Storage como almacén de datos y sirves las imágenes mediante la API Blobstore, debes crear una clave de blob para el objeto de Cloud Storage.
Nota sobre la eliminación
Para dejar de servir una imagen almacenada en Cloud Storage o Blobstore, llama a la función
image.DeleteServingURL
.
No debes eliminar imágenes directamente en Cloud Storage o Blobstore, ya que, si lo haces, se podrá acceder a ellas a través de la URL de servicio.
Las URLs de servicio dejarán de funcionar si la aplicación que las creó se inhabilita o se elimina, aunque la imagen subyacente siga estando disponible.