private WidthHeightHelper determineScaleSize(int maxWidth, int maxHeight, Image image) { return determineScaleSize(maxWidth, maxHeight, image.getWidth(null), image.getHeight(null)); }
private BufferedImage scaleImage(Image originalImage, int maxWidth, int maxHeight) { return scaleImage(originalImage, determineScaleSize(maxWidth, maxHeight, originalImage)); }
public UploadedAvatar scaleImageToTempFile(final Image sourceImage, final File targetFile, final int edgeSize) throws IOException { ThumbnailDimension targetDimension = thumber.determineScaleSize(edgeSize, edgeSize, sourceImage.getWidth(null), sourceImage.getHeight(null)); BufferedImage scaledImage = thumber.scaleImage(sourceImage, targetDimension); ImageIO.write(scaledImage, AVATAR_IMAGE_FORMAT, targetFile); return new UploadedAvatar(targetFile, AVATAR_IMAGE_FORMAT_FULL.getContentType(), targetDimension.getWidth(), targetDimension.getHeight()); } }
private ResultAndContentTypeChanged cropImageToFile(final int edgeSize, final Image sourceImage) { Result<File> prescaledFile = createTemporaryFile(TEMP_FILE_EXTENSION); if (!prescaledFile.isValid()) { return new ResultAndContentTypeChanged(prescaledFile, false); } ThumbnailDimension dimensions = thumber.determineScaleSize(edgeSize, edgeSize, sourceImage.getWidth(null), sourceImage.getHeight(null)); BufferedImage scaledImage = thumber.scaleImage(sourceImage, dimensions); try { ImageIO.write(scaledImage, AVATAR_IMAGE_FORMAT, prescaledFile.getResult()); return new ResultAndContentTypeChanged(prescaledFile, true); } catch (IOException e) { return new ResultAndContentTypeChanged(new Result<File>().addError(getText("avatarpicker.upload.temp.io", e.getMessage()), ErrorCollection.Reason.SERVER_ERROR), false); } }