Избранное | Русский | Войти

Обзор API Java для изображений

App Engine позволяет управлять данными изображений с помощью специальной службы Images. Эта служба позволяет изменять размер, поворачивать, отражать и обрезать изображения. С ее помощью можно составлять из нескольких изображений одно и преобразовывать данные изображений из одного формата в другой. Кроме того, она позволяет улучшать качество фотографий с помощью предварительно определенного алгоритма. API может предоставить информацию об изображении, такую как его формат, ширина, высота и гистограмма цветовых значений.

Преобразование изображений на Java

API Java для службы Image позволяет преобразовывать изображения без выполнения их обработки на сервере приложений. Приложение подготавливает объект Image с данными изображения, которое нужно преобразовать, и объект Transform с инструкциями по нужному преобразованию. Приложение получает объект ImagesService, вызывает его метод applyTransform() с объектами Image и Transform. Для преобразованного изображения метод возвращает объект Image.

Приложение получает экземпляры классов ImagesService, Image и Transform с помощью объекта ImagesServiceFactory.

import com.google.appengine.api.images.Image;
import com.google.appengine.api.images.ImagesService;
import com.google.appengine.api.images.ImagesServiceFactory;
import com.google.appengine.api.images.Transform;

// ...
        byte[] oldImageData;  // ...

        ImagesService imagesService = ImagesServiceFactory.getImagesService();

        Image oldImage = ImagesServiceFactory.makeImage(oldImageData);
        Transform resize = ImagesServiceFactory.makeResize(200, 300);

        Image newImage = imagesService.applyTransform(resize, oldImage);

        byte[] newImageData = newImage.getImageData();

С помощью экземпляра класса CompositeTransform можно объединить несколько преобразований в одно действие. См. Справочное руководство по API изображений.

Возможные преобразования изображений

Служба Images позволяет изменять размеры, поворачивать, отражать и обрезать изображения, а также улучшать их качество. Кроме того, с ее помощью из нескольких изображений можно составить одно.

Изменение размера

Можно изменять размеры изображения, сохраняя их соотношение.

  

Поворот

Можно поворачивать изображение на 90 градусов по часовой стрелке.

  

Горизонтальное отражение

Можно отражать изображение горизонтально.

  

Вертикальное отражение

Можно отражать изображение вертикально.

  

Обрезка

Можно обрезать изображение по ограничивающему прямоугольнику.

  

Мне повезет!

Преобразование "Мне повезет!" улучшает темные и яркие цвета изображения и оптимально настраивает яркость и контраст.

  

Форматы изображений

Служба принимает данные изображений в форматах JPEG, PNG, GIF (включая анимированный GIF), BMP, TIFF и ICO.

Она может возвращать преобразованные изображения в форматах JPEG и PNG. Если входной и выходной форматы отличаются, перед преобразованием изображения служба преобразует входные данные в выходной формат.

Служба Images и сервер разработки

Сервер разработки реализует возможности службы Images на вашем локальном компьютере.

Сервер разработки Java включает функциональность для имитации этой службы. Однако, он не поддерживает функцию улучшения качества изображений "Мне повезет!".

Квоты и ограничения

Каждый запрос к службе Images учитывается относительно квоты вызовов API манипуляций с изображениями. Приложение может выполнить несколько преобразований в одном вызове API.

Данные, отправляемые в службу Images, учитываются относительно квоты данных, отправленных в API (Images). Данные, получаемые из службы Images, учитываются относительно квоты данных, полученных из API (Images).

Каждое преобразование изображения учитывается относительно квоты выполненных преобразований.

Подробнее о квотах рассказано в разделе Квоты и в разделе Консоли администрирования "Сведения о квотах".

Помимо квот, к использованию службы Images применяются следующие ограничения:

Ограничение Величина
Максимальный размер данных изображений, отправленных в службу 1 мегабайт
Максимальный размер данных изображений, полученных из службы 1 мегабайт