Example usage for com.liferay.portal.image ImageToolImpl getInstance

List of usage examples for com.liferay.portal.image ImageToolImpl getInstance

Introduction

In this page you can find the example usage for com.liferay.portal.image ImageToolImpl getInstance.

Prototype

public static ImageTool getInstance() 

Source Link

Usage

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

License:Open Source License

protected int decodeVideo(IVideoResampler iVideoResampler, IVideoPicture inputIVideoPicture,
        IVideoPicture resampledIVideoPicture, IPacket inputIPacket, IPacket outputIPacket,
        IStreamCoder inputIStreamCoder, IStreamCoder outputIStreamCoder, IContainer outputIContainer,
        File thumbnailFile, String thumbnailExtension, int thumbnailHeight, int thumbnailWidth,
        long timeStampOffset) throws Exception {

    int offset = 0;

    boolean stopDecoding = false;

    while (offset < inputIPacket.getSize()) {
        int value = inputIStreamCoder.decodeVideo(inputIVideoPicture, inputIPacket, offset);

        if (value <= 0) {
            return value;
        }/*from  w  ww .ja va2 s  .  co m*/

        updateVideoTimeStamp(inputIVideoPicture, timeStampOffset);

        offset += value;

        // Workaround for FFmpeg bug. See
        // http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/135657

        ICodec.ID iCodecID = inputIStreamCoder.getCodecID();

        if (iCodecID.equals(ICodec.ID.CODEC_ID_MJPEG)) {
            stopDecoding = true;
        }

        if (!inputIVideoPicture.isComplete()) {
            if (stopDecoding) {
                return 1;
            } else {
                continue;
            }
        }

        if (thumbnailFile != null) {
            BufferedImage bufferedImage = null;

            if (_converterFactoryType == null) {
                _converterFactoryType = ConverterFactory
                        .findRegisteredConverter(ConverterFactory.XUGGLER_BGR_24);
            }

            if (_converterFactoryType == null) {
                throw new UnsupportedOperationException(
                        "No converter found for " + ConverterFactory.XUGGLER_BGR_24);
            }

            if (_videoIConverter == null) {
                _videoIConverter = ConverterFactory.createConverter(_converterFactoryType.getDescriptor(),
                        inputIVideoPicture);
            }

            bufferedImage = _videoIConverter.toImage(inputIVideoPicture);

            thumbnailFile.createNewFile();

            ImageToolImpl imageToolImpl = ImageToolImpl.getInstance();

            RenderedImage renderedImage = imageToolImpl.scale(bufferedImage, thumbnailHeight, thumbnailWidth);

            ImageIO.write(renderedImage, thumbnailExtension, new FileOutputStream(thumbnailFile));

            return DECODE_VIDEO_THUMBNAIL;
        }

        if ((outputIStreamCoder != null) && (outputIContainer != null)) {
            IVideoPicture outputIVideoPicture = resampleVideo(iVideoResampler, inputIVideoPicture,
                    resampledIVideoPicture);

            outputIVideoPicture.setQuality(0);

            encodeVideo(outputIStreamCoder, outputIVideoPicture, outputIPacket, outputIContainer);
        }

        if (stopDecoding) {
            break;
        }
    }

    return 1;
}

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

License:Open Source License

private void _generateImagesPB(PDFRenderer pdfRenderer, int index, File outputFile, String extension)
        throws Exception {

    RenderedImage renderedImage = pdfRenderer.renderImageWithDPI(index, _dpi, ImageType.RGB);

    ImageTool imageTool = ImageToolImpl.getInstance();

    if (_height != 0) {
        renderedImage = imageTool.scale(renderedImage, _width, _height);
    } else {/*from   w  w w . ja v  a2 s.co  m*/
        renderedImage = imageTool.scale(renderedImage, _width);
    }

    outputFile.createNewFile();

    ImageIO.write(renderedImage, extension, outputFile);
}