Example usage for com.liferay.portal.kernel.image ImageToolUtil getBytes

List of usage examples for com.liferay.portal.kernel.image ImageToolUtil getBytes

Introduction

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

Prototype

public static byte[] getBytes(RenderedImage renderedImage, String contentType) throws IOException 

Source Link

Document

Returns the image as a byte[].

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();
    }//  w w  w. ja va 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.inikah.slayer.service.impl.PhotoLocalServiceImpl.java

License:Open Source License

private void minifyPhoto(Image image, long thumbnailId, float newWidth) {
    ImageBag imageBag = null;/*  w w w .j  a  v a2 s.  c o m*/
    try {
        imageBag = ImageToolUtil.read(image.getTextObj());
    } catch (IOException e) {
        e.printStackTrace();
    }
    if (Validator.isNull(imageBag))
        return;

    RenderedImage renderedImage = imageBag.getRenderedImage();

    float reduceBy = (newWidth / (float) image.getWidth());

    long height = Math.round(image.getHeight() * reduceBy);
    long width = Math.round(image.getWidth() * reduceBy);
    renderedImage = ImageToolUtil.scale(renderedImage, (int) height, (int) width);

    byte[] bytes = null;
    try {
        bytes = ImageToolUtil.getBytes(renderedImage, image.getType());
    } catch (IOException e) {
        e.printStackTrace();
    }

    if (Validator.isNotNull(bytes)) {
        try {
            imageLocalService.updateImage(thumbnailId, bytes);
        } catch (PortalException e) {
            e.printStackTrace();
        } catch (SystemException e) {
            e.printStackTrace();
        }
    }
}

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 {/*from   ww  w.  ja v  a  2 s. c o  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);
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.java

License:Open Source License

public void updateSmallImage(long smallImageId, long largeImageId) throws PortalException, SystemException {

    try {/*from   www  .  ja va 2 s  . co  m*/
        RenderedImage renderedImage = null;

        Image largeImage = imageLocalService.getImage(largeImageId);

        byte[] bytes = largeImage.getTextObj();
        String contentType = largeImage.getType();

        if (bytes != null) {
            ImageBag imageBag = ImageToolUtil.read(bytes);

            renderedImage = imageBag.getRenderedImage();

            //validate(bytes);
        }

        if (renderedImage != null) {
            int height = PrefsPropsUtil.getInteger(PropsKeys.DL_FILE_ENTRY_THUMBNAIL_MAX_HEIGHT);
            int width = PrefsPropsUtil.getInteger(PropsKeys.DL_FILE_ENTRY_THUMBNAIL_MAX_WIDTH);

            RenderedImage thumbnailRenderedImage = ImageToolUtil.scale(renderedImage, height, width);

            imageLocalService.updateImage(smallImageId,
                    ImageToolUtil.getBytes(thumbnailRenderedImage, contentType));
        }
    } catch (IOException ioe) {
        throw new ImageSizeException(ioe);
    }
}

From source file:com.liferay.portlet.documentlibrary.util.DLPreviewableProcessor.java

License:Open Source License

protected void storeThumbnailImage(FileVersion fileVersion, RenderedImage renderedImage, int index)
        throws Exception {

    if (!isThumbnailEnabled(index) || hasThumbnail(fileVersion, index)) {
        return;//from   w w w . j  av  a 2 s  . co  m
    }

    String type = getThumbnailType(fileVersion);

    String maxHeightPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_MAX_HEIGHT;
    String maxWidthPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_MAX_WIDTH;

    if (index == THUMBNAIL_INDEX_CUSTOM_1) {
        maxHeightPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_CUSTOM_1_MAX_HEIGHT;
        maxWidthPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_CUSTOM_1_MAX_WIDTH;
    } else if (index == THUMBNAIL_INDEX_CUSTOM_2) {
        maxHeightPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_CUSTOM_2_MAX_HEIGHT;
        maxWidthPropsKey = PropsKeys.DL_FILE_ENTRY_THUMBNAIL_CUSTOM_2_MAX_WIDTH;
    }

    RenderedImage thumbnailRenderedImage = ImageToolUtil.scale(renderedImage,
            PrefsPropsUtil.getInteger(maxHeightPropsKey), PrefsPropsUtil.getInteger(maxWidthPropsKey));

    byte[] bytes = ImageToolUtil.getBytes(thumbnailRenderedImage, type);

    File file = null;

    try {
        file = FileUtil.createTempFile(bytes);

        addFileToStore(fileVersion.getCompanyId(), THUMBNAIL_PATH,
                getThumbnailFilePath(fileVersion, type, index), file);
    } finally {
        FileUtil.delete(file);
    }
}