A API Images permite publicar imagens diretamente a partir do Google Cloud Storage ou do Blobstore, e manipular essas imagens em tempo real. Para ver
o conteúdo do pacote image
, consulte a image
referência
do pacote.
Os contentores do Cloud Storage têm de usar listas de controlo de acesso detalhadas para que a API Images funcione. Para contentores que foram configurados para acesso de nível de contentor uniforme, a API Images não vai conseguir obter imagens nesse contentor e apresenta a mensagem de erro TransformationError
. Se o seu contentor estiver configurado desta forma, pode desativar o acesso uniforme ao nível do contentor.
Formatos de imagem
O serviço aceita dados de imagem nos formatos JPEG, PNG, WEBP, GIF (incluindo GIF animado), BMP, TIFF e ICO. As imagens transformadas podem ser devolvidas nos formatos JPEG, WEBP e PNG.
Se o formato de entrada e o formato de saída forem diferentes, o serviço converte os dados de entrada no formato de saída antes de realizar a transformação.
Publicação e redimensionamento de imagens
A função image.ServingURL
permite-lhe gerar um URL estável e dedicado para publicar miniaturas de imagens adequadas para a Web.
Pode armazenar uma única cópia da sua imagem original no Blobstore e, em seguida, pedir um URL por imagem de alto desempenho que possa publicar a imagem redimensionada e/ou recortada automaticamente. A publicação a partir deste URL não incorre em qualquer carga de CPU ou publicação dinâmica na sua aplicação (embora a largura de banda continue a ser cobrada como habitualmente).
O URL devolvido pela função é sempre público, mas não é adivinhável. Atualmente, não são suportados URLs privados. Se quiser parar de publicar o URL, elimine-o
através da função
image.DeleteServingURL
.
Se transmitir um valor image.ServingURLOptions
à função, esta devolve um URL codificado com essas opções. Se transmitir
nil
, a função devolve o URL predefinido da imagem, por exemplo:
http://lhx.ggpht.com/randomStringImageId
Pode redimensionar e recortar a imagem dinamicamente especificando os argumentos no URL. Os argumentos disponíveis são:
=sxx
, ondexx
é um número inteiro de 0 a 2560 que representa o comprimento, em píxeis, do lado mais longo da imagem. Por exemplo, adicionar=s32
redimensiona a imagem para que a sua dimensão mais longa seja de 32 píxeis.=sxx-c
, em que xx é um número inteiro de 0 a 2560 que representa o tamanho da imagem recortada em píxeis e-c
indica ao sistema que deve recortar a imagem.
# 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
Publicar imagens do Cloud Storage através da API Blobstore
Se estiver a usar o Cloud Storage como um repositório de dados e a publicar as imagens através da API Blobstore, tem de criar uma chave de blob para o objeto do Cloud Storage.
Uma nota sobre a eliminação
Para parar de publicar uma imagem armazenada no Cloud Storage ou no Blobstore, chame a função image.DeleteServingURL
.
Deve evitar eliminar diretamente imagens no Cloud Storage ou no Blobstore, uma vez que, ao fazê-lo, as imagens podem continuar acessíveis através do URL de publicação.
Os URLs de publicação deixam de funcionar se a aplicação que os criou for desativada ou eliminada, mesmo que a imagem subjacente permaneça disponível.