com.google.appengine.api.images
Class ImagesServiceFactory
- java.lang.Object
-
- com.google.appengine.api.images.ImagesServiceFactory
-
public final class ImagesServiceFactory extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static ImagesService
getImagesService()
Creates an implementation of the ImagesService.static Composite
makeComposite(Image image, int xOffset, int yOffset, float opacity, Composite.Anchor anchor)
Creates an image composition operation.static CompositeTransform
makeCompositeTransform()
Creates a composite transform that can represent multiple transforms applied in series.static CompositeTransform
makeCompositeTransform(java.util.Collection<Transform> transforms)
Creates a composite transform that can represent multiple transforms applied in series.static Transform
makeCrop(double leftX, double topY, double rightX, double bottomY)
Creates a transform that will crop an image to fit within the bounding box specified.static Transform
makeCrop(float leftX, float topY, float rightX, float bottomY)
Creates a transform that will crop an image to fit within the bounding box specified.static Transform
makeHorizontalFlip()
Creates a transform that will horizontally flip an image.static Image
makeImage(byte[] imageData)
Creates an image from the providedimageData
.static Image
makeImageFromBlob(BlobKey blobKey)
Create an image backed by the specifiedblobKey
.static Image
makeImageFromFilename(java.lang.String filename)
Create an image backed by the specifiedfilename
.static Transform
makeImFeelingLucky()
Creates a transform that automatically adjust contrast and color levels.static Transform
makeResize(int width, int height)
Creates a transform that will resize an image to fit within a box with widthwidth
and heightheight
.static Transform
makeResize(int width, int height, boolean allowStretch)
Creates a resize transform that will resize an image to fit within a box of widthwidth
and heightheight
.static Transform
makeResize(int width, int height, double cropOffsetX, double cropOffsetY)
Creates a transform that will resize an image to exactly fit a box with widthwidth
and heightheight
by resizing to the less constraining dimension and cropping the other.static Transform
makeResize(int width, int height, float cropOffsetX, float cropOffsetY)
Creates a transform that will resize an image to exactly fit a box with widthwidth
and heightheight
by resizing to the less constraining dimension and cropping the other.static Transform
makeRotate(int degrees)
Creates a transform that rotates an image bydegrees
degrees clockwise.static Transform
makeVerticalFlip()
Creates a transform that will vertically flip an image.
-
-
-
Method Detail
-
getImagesService
public static ImagesService getImagesService()
Creates an implementation of the ImagesService.- Returns:
- an images service
-
makeImage
public static Image makeImage(byte[] imageData)
Creates an image from the providedimageData
.- Parameters:
imageData
- image data to store in the image- Returns:
- an Image containing the supplied image data
- Throws:
java.lang.IllegalArgumentException
- IfimageData
is null or empty.
-
makeImageFromBlob
public static Image makeImageFromBlob(BlobKey blobKey)
Create an image backed by the specifiedblobKey
. Note that the returnedImage
object can be used with allImagesService
methods, but most of the methods on the Image itself will currently throwUnsupportedOperationException
.- Parameters:
blobKey
- referencing the image- Returns:
- an Image that references the specified blob data
-
makeImageFromFilename
public static Image makeImageFromFilename(java.lang.String filename)
Create an image backed by the specifiedfilename
. Note that the returnedImage
object can be used with allImagesService
methods, but most of the methods on the Image itself will currently throwUnsupportedOperationException
.- Parameters:
filename
- referencing the image. Currently only Google Storage files in the format "/gs/bucket_name/object_name" are supported.- Returns:
- an Image that references the specified blob data
- Throws:
java.lang.IllegalArgumentException
- Iffilename
is not in the format "/gs/bucket_name/object_name".BlobstoreFailureException
- If there is an error obtaining the Google Storage access token for thefilename
.
-
makeResize
public static Transform makeResize(int width, int height)
Creates a transform that will resize an image to fit within a box with widthwidth
and heightheight
.- Parameters:
width
- width of the bounding boxheight
- height of the bounding box- Returns:
- a resize transform
- Throws:
java.lang.IllegalArgumentException
- Ifwidth
orheight
are negative or greater thanMAX_RESIZE_DIMENSIONS
or if bothwidth
andheight
are 0.
-
makeResize
public static Transform makeResize(int width, int height, boolean allowStretch)
Creates a resize transform that will resize an image to fit within a box of widthwidth
and heightheight
. IfallowStretch
istrue
, the aspect ratio of the original image will be ignored.- Parameters:
width
- width of the bounding boxheight
- height of the bounding boxallowStretch
- allow the image to be resized ignoring the aspect ratio- Returns:
- a resize transform
- Throws:
java.lang.IllegalArgumentException
- Ifwidth
orheight
are negative or greater thanMAX_RESIZE_DIMENSIONS
, if bothwidth
andheight
are 0 or ifallowStretch
is True and eitherwidth
orheight
are 0.
-
makeResize
public static Transform makeResize(int width, int height, float cropOffsetX, float cropOffsetY)
Creates a transform that will resize an image to exactly fit a box with widthwidth
and heightheight
by resizing to the less constraining dimension and cropping the other. The center of the crop region is controlled bycropOffsetX
andcropOffsetY
.- Parameters:
width
- width of the bounding boxheight
- height of the bounding boxcropOffsetX
- the relative horizontal position of the centercropOffsetY
- the relative vertical position of the center- Returns:
- a resize transform
- Throws:
java.lang.IllegalArgumentException
- Ifwidth
orheight
are negative or greater thanMAX_RESIZE_DIMENSIONS
, if either ofwidth
andheight
are 0 or ifcropOffsetX
orcropOffsetY
are outside the range 0.0 to 1.0.
-
makeResize
public static Transform makeResize(int width, int height, double cropOffsetX, double cropOffsetY)
Creates a transform that will resize an image to exactly fit a box with widthwidth
and heightheight
by resizing to the less constraining dimension and cropping the other. The center of the crop region is controlled bycropOffsetX
andcropOffsetY
.- Parameters:
width
- width of the bounding boxheight
- height of the bounding boxcropOffsetX
- the relative horizontal position of the centercropOffsetY
- the relative vertical position of the center- Returns:
- a resize transform
- Throws:
java.lang.IllegalArgumentException
- Ifwidth
orheight
are negative or greater thanMAX_RESIZE_DIMENSIONS
, if either ofwidth
andheight
are 0 or ifcropOffsetX
orcropOffsetY
are outside the range 0.0 to 1.0.
-
makeCrop
public static Transform makeCrop(float leftX, float topY, float rightX, float bottomY)
Creates a transform that will crop an image to fit within the bounding box specified. The arguments define the top left and bottom right corners of the bounding box used to crop the image as a percentage of the total image size. Each argument should be in the range 0.0 to 1.0 inclusive.- Parameters:
leftX
- X coordinate of the top left corner of the bounding boxtopY
- Y coordinate of the top left corner of the bounding boxrightX
- X coordinate of the bottom right corner of the bounding boxbottomY
- Y coordinate of the bottom right corner of the bounding box- Returns:
- a crop transform
- Throws:
java.lang.IllegalArgumentException
- If any of the arguments are outside the range 0.0 to 1.0 or ifleftX >= rightX
ortopY >= bottomY
.
-
makeCrop
public static Transform makeCrop(double leftX, double topY, double rightX, double bottomY)
Creates a transform that will crop an image to fit within the bounding box specified. The arguments define the top left and bottom right corners of the bounding box used to crop the image as a percentage of the total image size. Each argument should be in the range 0.0 to 1.0 inclusive.- Parameters:
leftX
- X coordinate of the top left corner of the bounding boxtopY
- Y coordinate of the top left corner of the bounding boxrightX
- X coordinate of the bottom right corner of the bounding boxbottomY
- Y coordinate of the bottom right corner of the bounding box- Returns:
- a crop transform
- Throws:
java.lang.IllegalArgumentException
- If any of the arguments are outside the range 0.0 to 1.0 or ifleftX >= rightX
ortopY >= bottomY
.
-
makeVerticalFlip
public static Transform makeVerticalFlip()
Creates a transform that will vertically flip an image.- Returns:
- a vertical flip transform
-
makeHorizontalFlip
public static Transform makeHorizontalFlip()
Creates a transform that will horizontally flip an image.- Returns:
- a horizontal flip transform
-
makeRotate
public static Transform makeRotate(int degrees)
Creates a transform that rotates an image bydegrees
degrees clockwise.- Parameters:
degrees
- The number of degrees by which to rotate. Must be a multiple of 90.- Returns:
- a rotation transform
- Throws:
java.lang.IllegalArgumentException
- Ifdegrees
is not divisible by 90
-
makeImFeelingLucky
public static Transform makeImFeelingLucky()
Creates a transform that automatically adjust contrast and color levels. This is similar to the "I'm Feeling Lucky" button in Picasa.- Returns:
- an ImFeelingLucky autolevel transform
-
makeCompositeTransform
public static CompositeTransform makeCompositeTransform(java.util.Collection<Transform> transforms)
Creates a composite transform that can represent multiple transforms applied in series.- Parameters:
transforms
- Transforms for this composite transform to apply.- Returns:
- a composite transform containing the provided transforms
-
makeCompositeTransform
public static CompositeTransform makeCompositeTransform()
Creates a composite transform that can represent multiple transforms applied in series.- Returns:
- an empty composite transform
-
makeComposite
public static Composite makeComposite(Image image, int xOffset, int yOffset, float opacity, Composite.Anchor anchor)
Creates an image composition operation.- Parameters:
image
- The image to be composited.xOffset
- Offset in the x axis from the anchor point.yOffset
- Offset in the y axis from the anchor point.opacity
- Opacity to be used for the image in range [0.0, 1.0].anchor
- Anchor position from the enumComposite.Anchor
. The anchor position of the image is aligned with the anchor position of the canvas and then the offsets are applied.- Returns:
- A composition operation.
- Throws:
java.lang.IllegalArgumentException
- Ifimage
is null or empty,xOffset
oryOffset
is outside the range [-4000, 4000],opacity
is outside the range [0.0, 1.0] oranchor
is null.
-
-