Example usage for com.liferay.portal.kernel.image ImageBag getType

List of usage examples for com.liferay.portal.kernel.image ImageBag getType

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.image ImageBag getType.

Prototype

public String getType() 

Source Link

Usage

From source file:com.idetronic.subur.service.impl.AuthorLocalServiceImpl.java

License:Open Source License

public Author updatePortrait(long authorId, byte[] bytes) throws PortalException, SystemException {

    Author author = authorPersistence.findByPrimaryKey(authorId);

    long imageMaxSize = Long.valueOf(PortletProps.get("author.image.max.size"));

    if ((imageMaxSize > 0) && ((bytes == null) || (bytes.length > imageMaxSize))) {

        throw new UserPortraitSizeException();
    }/*from w  w  w.j  a  v  a  2 s .c  om*/

    long portraitId = author.getPortraitId();

    if (portraitId <= 0) {
        portraitId = counterLocalService.increment();

        author.setPortraitId(portraitId);
    }

    try {
        ImageBag imageBag = ImageToolUtil.read(bytes);

        RenderedImage renderedImage = imageBag.getRenderedImage();

        if (renderedImage == null) {
            throw new UserPortraitTypeException();
        }
        int maxHeight = Integer.valueOf(PortletProps.get("author.image.max.height"));
        int maxWidth = Integer.valueOf(PortletProps.get("author.image.max.width"));
        renderedImage = ImageToolUtil.scale(renderedImage, maxHeight, maxWidth);

        String contentType = imageBag.getType();

        imageLocalService.updateImage(portraitId, ImageToolUtil.getBytes(renderedImage, contentType));
    } catch (IOException ioe) {
        throw new ImageSizeException(ioe);
    }
    authorPersistence.update(author);

    return author;
}

From source file:com.liferay.image.uploader.web.internal.portlet.action.UploadImageMVCActionCommand.java

License:Open Source License

protected FileEntry saveTempImageFileEntry(ActionRequest actionRequest) throws Exception {

    try {// ww w. j  av  a2s  . co m
        FileEntry tempFileEntry = UploadImageUtil.getTempImageFileEntry(actionRequest);

        try (InputStream tempImageStream = tempFileEntry.getContentStream()) {

            ImageBag imageBag = ImageToolUtil.read(tempImageStream);

            RenderedImage renderedImage = imageBag.getRenderedImage();

            String cropRegionJSON = ParamUtil.getString(actionRequest, "cropRegion");

            if (Validator.isNotNull(cropRegionJSON)) {
                JSONObject jsonObject = JSONFactoryUtil.createJSONObject(cropRegionJSON);

                int height = jsonObject.getInt("height");
                int width = jsonObject.getInt("width");
                int x = jsonObject.getInt("x");
                int y = jsonObject.getInt("y");

                if ((x == 0) && (y == 0) && (renderedImage.getHeight() == height)
                        && (renderedImage.getWidth() == width)) {

                    return tempFileEntry;
                }

                if ((height + y) > renderedImage.getHeight()) {
                    height = renderedImage.getHeight() - y;
                }

                if ((width + x) > renderedImage.getWidth()) {
                    width = renderedImage.getWidth() - x;
                }

                renderedImage = ImageToolUtil.crop(renderedImage, height, width, x, y);
            }

            byte[] bytes = ImageToolUtil.getBytes(renderedImage, imageBag.getType());

            ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

            File file = FileUtil.createTempFile(bytes);

            try {
                TempFileEntryUtil.deleteTempFileEntry(themeDisplay.getScopeGroupId(), themeDisplay.getUserId(),
                        UploadImageUtil.getTempImageFolderName(), getTempImageFileName(actionRequest));
            } catch (Exception e) {
            }

            return TempFileEntryUtil.addTempFileEntry(themeDisplay.getScopeGroupId(), themeDisplay.getUserId(),
                    UploadImageUtil.getTempImageFolderName(), getTempImageFileName(actionRequest), file,
                    tempFileEntry.getMimeType());
        }
    } catch (NoSuchFileEntryException nsfee) {
        throw new UploadException(nsfee);
    } catch (NoSuchRepositoryException nsre) {
        throw new UploadException(nsre);
    }
}

From source file:com.liferay.image.uploader.web.internal.portlet.action.UploadImageMVCResourceCommand.java

License:Open Source License

protected void serveTempImageFile(MimeResponse mimeResponse, InputStream tempImageStream) throws Exception {

    ImageBag imageBag = ImageToolUtil.read(tempImageStream);

    byte[] bytes = ImageToolUtil.getBytes(imageBag.getRenderedImage(), imageBag.getType());

    String contentType = MimeTypesUtil.getExtensionContentType(imageBag.getType());

    mimeResponse.setContentType(contentType);

    PortletResponseUtil.write(mimeResponse, bytes);
}