List of usage examples for com.liferay.portal.kernel.image ImageBag getType
public String getType()
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); }