Package com.atlassian.jira.avatar
Interface AvatarTranscoder
- All Known Implementing Classes:
AvatarTranscoderImpl
public interface AvatarTranscoder
- Since:
- 7.0
A component that can perform the conversion of images from vector (SVG) format to raster format (PNG).
-
Method Summary
Modifier and TypeMethodDescriptioncom.atlassian.dc.filestore.api.FileStore.Path
getOrCreateRasterizedAvatarFile
(Avatar avatar, Avatar.Size size, InputStream inputStream) Creates a PNG image file for the given avatar based on the base avatar image file which should be in SVG format.void
transcodeAndTag
(InputStream inputStream, OutputStream outputStream) Converts given SVG data to PNG format.byte[]
transcodeAndTag
(String imageKey, InputStream inputStream, Avatar.Size size) Converts a given SVG data to PNG format.
-
Method Details
-
getOrCreateRasterizedAvatarFile
com.atlassian.dc.filestore.api.FileStore.Path getOrCreateRasterizedAvatarFile(Avatar avatar, Avatar.Size size, InputStream inputStream) throws IOException Creates a PNG image file for the given avatar based on the base avatar image file which should be in SVG format. The created file is also saved on disk. The subsequent requests for the same avatar and size will not trigger the conversion, previously saved file will be returned.- Parameters:
avatar
- to be transcodedsize
- of requested rasterinputStream
- the data of the avatar to be transcoded- Returns:
- a handle to avatar image file in PNG format
- Throws:
IOException
-
transcodeAndTag
Converts given SVG data to PNG format. The default avatar size will be used which isAvatar.Size
.MEDIUM.- Parameters:
inputStream
- to be convertedoutputStream
- to which the result should be written- Throws:
IOException
-
transcodeAndTag
byte[] transcodeAndTag(String imageKey, InputStream inputStream, Avatar.Size size) throws IOException Converts a given SVG data to PNG format.This method will save the converted image to disk so that if the method is invoked once again with the same
imageKey
andsize
the previous result will be returned. Therefore it is very important to chooseimageKey
carefully - it should uniquely identify the image.- Parameters:
imageKey
- name of the file thatinputStream
- svg datasize
- size of the output- Returns:
- byte array containing the PNG image
- Throws:
IOException
-