private void cropImageToSize(final BufferedImage imageData, final Selection croppingSelection, final Avatar.Size size, OutputStream target) throws IOException { final int pixels = size.getPixels(); RenderedImage image = cropImage(imageData, croppingSelection, pixels); avatarTagger.saveTaggedAvatar(image, targetFormat, target); }
/** * Converts given SVG data to PNG format. The default avatar size will be used which is * {@link Avatar.Size}.MEDIUM. * * @param inputStream to be converted * @param outputStream to which the result should be written * @throws IOException */ public void transcodeAndTag(final InputStream inputStream, final OutputStream outputStream) throws IOException { try { final TranscoderInput transcoderInput = new TranscoderInput(inputStream); final ByteArrayOutputStream transcoded = new ByteArrayOutputStream(); final TranscoderOutput transcoderOutput = new TranscoderOutput(transcoded); final PNGTranscoder transcoder = newPNGTranscoder(Avatar.Size.MEDIUM); transcoder.transcode(transcoderInput, transcoderOutput); avatarTagger.tag(new ByteArrayInputStream(transcoded.toByteArray()), outputStream); } catch (TranscoderException e) { throw new RuntimeException(e); } }
private void transcodeAndTag(final Avatar avatar, final Avatar.Size size, final File transcoded) throws IOException { try (final OutputStream outputStream = new FileOutputStream(transcoded); final InputStream svgFileStream = AvatarManagerImpl.class.getResourceAsStream("/avatars/" + avatar.getFileName())) { final TranscoderInput transcoderInput = new TranscoderInput(svgFileStream); final TranscoderOutput transcoderOutput = new TranscoderOutput(outputStream); final PNGTranscoder transcoder = newPNGTranscoder(size); transcoder.transcode(transcoderInput, transcoderOutput); avatarTagger.tagSingleAvatarFile(transcoded, transcoded); } catch (TranscoderException e) { throw new RuntimeException(e); } }
String newFileName = avatarTagger.tagAvatar(id, fileName); gv.setString(FILE_NAME, newFileName); gv.setString(CONTENT_TYPE, "image/png");
File processImage(final Avatar created, final InputStream imageData, final Selection croppingSelection, final ImageSize size) throws IOException { RenderedImage image = scaler.getSelectedImageData(new Thumber().getImage(imageData), croppingSelection, size.getPixels()); File file = createAvatarFile(created, size.getFilenameFlag()); avatarTagger.saveTaggedAvatar(image, AVATAR_IMAGE_FORMAT_FULL.getName(), file); eventPublisher.publish(new JiraHomeChangeEvent(JiraHomeChangeEvent.Action.FILE_ADD, JiraHomeChangeEvent.FileType.AVATAR, file)); return file; }