Examples of ImageObject


Examples of bdsup2sub.supstream.ImageObject

        List<PaletteInfo> paletteInfos = subPictureBD.getPalettes().get(0);
        paletteInfos.add(new PaletteInfo(70, 16));

        List<ImageObject> imageObjectList = subPictureBD.getImageObjectList();
        ImageObject imageObject = new ImageObject();
        imageObject.setPaletteID(0);
        imageObject.setBufferSize(28390);
        imageObject.setWidth(1920);
        imageObject.setHeight(125);
        imageObject.setXOffset(0);
        imageObject.setYOffset(931);
        ImageObjectFragment imageObjectFragment = new ImageObjectFragment(174, 28390);
        imageObject.getFragmentList().add(imageObjectFragment);
        imageObjectList.add(imageObject);
    }
View Full Code Here

Examples of bdsup2sub.supstream.ImageObject

                List<PaletteInfo> cpi = new ArrayList<PaletteInfo>(pi);
                this.palettes.add(cpi);
            }
        }
        for (ImageObject io : other.imageObjectList) {
            this.imageObjectList.add(new ImageObject(io));
        }
    }
View Full Code Here

Examples of bdsup2sub.supstream.ImageObject

        }
        return false;
    }

    private boolean isThisImageObjectIdenticalWith(ImageObject previousImageObject) {
        ImageObject thisImageObject = getImageObject();
        if (previousImageObject != null && thisImageObject != null) {
            return previousImageObject.getBufferSize() == thisImageObject.getBufferSize() && previousImageObject.getWidth() == thisImageObject.getWidth() && previousImageObject.getHeight() == thisImageObject.getHeight();
        }
        return false;
    }
View Full Code Here

Examples of bdsup2sub.supstream.ImageObject

            int compositionObjectCount = buffer.getByte(index + 10);    // 8bit  number_of_composition_objects (0..2)
            if (compositionObjectCount > 0) {
                // composition_object:
                int objectId = buffer.getWord(index + 11); // 16bit object_id_ref
                message.append("paletteId: ").append(paletteId).append(", objectId: ").append(objectId);
                ImageObject imageObject;
                if (objectId >= subPictureBD.getImageObjectList().size()) {
                    imageObject = new ImageObject();
                    subPictureBD.getImageObjectList().add(imageObject);
                } else {
                    imageObject = subPictureBD.getImageObject(objectId);
                }
                imageObject.setPaletteID(paletteId);
                subPictureBD.setObjectID(objectId);

                // skipped:  8bit  window_id_ref
                if (segment.size >= 0x13) {
                    subPictureBD.setType(type);
                    // object_cropped_flag: 0x80, forced_on_flag = 0x040, 6bit reserved
                    int forcedCropped = buffer.getByte(index + 14);
                    subPictureBD.setCompositionNumber(compositionNumber);
                    subPictureBD.setForced(((forcedCropped & 0x40) == 0x40));
                    imageObject.setXOffset(buffer.getWord(index + 15));   // composition_object_horizontal_position
                    imageObject.setYOffset(buffer.getWord(index + 17));   // composition_object_vertical_position
                    // if (object_cropped_flag==1)
                    //      16bit object_cropping_horizontal_position
                    //      16bit object_cropping_vertical_position
                    //      16bit object_cropping_width
                    //      object_cropping_height
View Full Code Here

Examples of bdsup2sub.supstream.ImageObject

        int objectVersion = buffer.getByte(index+1);          // object_version_number
        int objectSequenceOrder = buffer.getByte(index+3);    // 8bit  first_in_sequence (0x80), last_in_sequence (0x40), 6bits reserved
        boolean first = (objectSequenceOrder & 0x80) == 0x80;
        boolean last = (objectSequenceOrder & 0x40) == 0x40;

        ImageObject imageObject;
        if (objectID >= subPictureBD.getImageObjectList().size()) {
            imageObject = new ImageObject();
            subPictureBD.getImageObjectList().add(imageObject);
        } else {
            imageObject = subPictureBD.getImageObject(objectID);
        }

        ImageObjectFragment imageObjectFragment;
        if (imageObject.getFragmentList().isEmpty() || first) {  // 8bit  object_version_number
            // skipped:
            // 24bit object_data_length - full RLE buffer length (including 4 bytes size info)
            int width  = buffer.getWord(index + 7);       // object_width
            int height = buffer.getWord(index + 9);       // object_height

            if (width <= subPictureBD.getWidth() && height <= subPictureBD.getHeight()) {
                imageObjectFragment = new ImageObjectFragment(index + 11, pcsSegment.size - (index + 11 - pcsSegment.offset));
                imageObject.getFragmentList().add(imageObjectFragment);
                imageObject.setBufferSize(imageObjectFragment.getImagePacketSize());
                imageObject.setHeight(height);
                imageObject.setWidth(width);
                message.append("ID: ").append(objectID).append(", update: ").append(objectVersion).append(", seq: ").append((first ? "first" : "")).append(((first && last) ? "/" : "")).append((last ? "" + "last" : ""));
                return true;
            } else {
                logger.warn("Invalid image size - ignored\n");
                return false;
            }
        } else {
            // object_data_fragment
            // skipped:
            //  16bit object_id
            //  8bit  object_version_number
            //  8bit  first_in_sequence (0x80), last_in_sequence (0x40), 6bits reserved
            imageObjectFragment = new ImageObjectFragment(index + 4, pcsSegment.size - (index + 4 - pcsSegment.offset));
            imageObject.getFragmentList().add(imageObjectFragment);
            imageObject.setBufferSize(imageObject.getBufferSize() + imageObjectFragment.getImagePacketSize());
            message.append("ID: ").append(objectID).append(", update: ").append(objectVersion).append(", seq: ").append((first ? "first" : "")).append(((first && last) ? "/" : "")).append((last ? "" + "last" : ""));
            return false;
        }
    }
View Full Code Here

Examples of org.apache.fop.afp.modca.ImageObject

     * @param imageObjectInfo the image object info
     * @return a newly created IOCA Image Object
     */
    public ImageObject createImage(AFPImageObjectInfo imageObjectInfo) {
        // IOCA bitmap image
        ImageObject imageObj = factory.createImageObject();

        // set data object viewport (i.e. position, rotation, dimension, resolution)
        imageObj.setViewport(imageObjectInfo);

        if (imageObjectInfo.hasCompression()) {
            int compression = imageObjectInfo.getCompression();
            switch (compression) {
            case TIFFImage.COMP_FAX_G3_1D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MH);
                break;
            case TIFFImage.COMP_FAX_G3_2D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MR);
                break;
            case TIFFImage.COMP_FAX_G4_2D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MMR);
                break;
            case ImageContent.COMPID_JPEG:
                imageObj.setEncoding((byte)compression);
                break;
            default:
                throw new IllegalStateException(
                        "Invalid compression scheme: " + compression);
            }
        }

        ImageContent content = imageObj.getImageSegment().getImageContent();
        int bitsPerPixel = imageObjectInfo.getBitsPerPixel();
        imageObj.setIDESize((byte) bitsPerPixel);
        IDEStructureParameter ideStruct;
        switch (bitsPerPixel) {
        case 1:
            //Skip IDE Structure Parameter
            break;
        case 4:
        case 8:
            //A grayscale image
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setBitsPerComponent(new int[] {bitsPerPixel});
            ideStruct.setColorModel(IDEStructureParameter.COLOR_MODEL_YCBCR);
            break;
        case 24:
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setDefaultRGBColorModel();
            break;
        case 32:
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setDefaultCMYKColorModel();
            break;
        default:
            throw new IllegalArgumentException("Unsupported number of bits per pixel: "
                    + bitsPerPixel);
        }
        if (bitsPerPixel > 1 && imageObjectInfo.isSubtractive()) {
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setSubtractive(imageObjectInfo.isSubtractive());
        }

        imageObj.setData(imageObjectInfo.getData());

        return imageObj;
    }
View Full Code Here

Examples of org.apache.fop.afp.modca.ImageObject

     * @return a new {@link ImageObject}
     */
    public ImageObject createImageObject() {
        String name = IMAGE_NAME_PREFIX
        + StringUtils.lpad(String.valueOf(++imageCount), '0', 5);
        ImageObject imageObject = new ImageObject(this, name);
        return imageObject;
    }
View Full Code Here

Examples of org.apache.fop.afp.modca.ImageObject

     * @return a new {@link ImageObject}
     */
    public ImageObject createImageObject() {
        String name = IMAGE_NAME_PREFIX
        + StringUtils.lpad(String.valueOf(++imageCount), '0', 5);
        ImageObject imageObject = new ImageObject(this, name);
        return imageObject;
    }
View Full Code Here

Examples of org.apache.fop.afp.modca.ImageObject

     * @param imageObjectInfo the image object info
     * @return a newly created IOCA Image Object
     */
    public ImageObject createImage(AFPImageObjectInfo imageObjectInfo) {
        // IOCA bitmap image
        ImageObject imageObj = factory.createImageObject();

        // set data object viewport (i.e. position, rotation, dimension, resolution)
        imageObj.setViewport(imageObjectInfo);

        if (imageObjectInfo.hasCompression()) {
            int compression = imageObjectInfo.getCompression();
            switch (compression) {
            case TIFFImage.COMP_FAX_G3_1D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MH);
                break;
            case TIFFImage.COMP_FAX_G3_2D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MR);
                break;
            case TIFFImage.COMP_FAX_G4_2D:
                imageObj.setEncoding(ImageContent.COMPID_G3_MMR);
                break;
            default:
                throw new IllegalStateException(
                        "Invalid compression scheme: " + compression);
            }
        }

        ImageContent content = imageObj.getImageSegment().getImageContent();
        int bitsPerPixel = imageObjectInfo.getBitsPerPixel();
        imageObj.setIDESize((byte) bitsPerPixel);
        IDEStructureParameter ideStruct;
        switch (bitsPerPixel) {
        case 1:
            //Skip IDE Structure Parameter
            break;
        case 4:
        case 8:
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setBitsPerComponent(new int[] {bitsPerPixel});
            break;
        case 24:
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setDefaultRGBColorModel();
            break;
        case 32:
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setDefaultCMYKColorModel();
            break;
        default:
            throw new IllegalArgumentException("Unsupported number of bits per pixel: "
                    + bitsPerPixel);
        }
        if (imageObjectInfo.isSubtractive()) {
            ideStruct = content.needIDEStructureParameter();
            ideStruct.setSubtractive(imageObjectInfo.isSubtractive());
        }

        imageObj.setData(imageObjectInfo.getData());

        return imageObj;
    }
View Full Code Here

Examples of org.apache.fop.render.afp.modca.ImageObject

                TIFFImage tiffImage = (TIFFImage) fopimage;
                int x = mpts2units(pos.getX() + currentIPPosition);
                int y = mpts2units(pos.getY() + currentBPPosition);
                int w = mpts2units(pos.getWidth());
                int h = mpts2units(pos.getHeight());
                ImageObject io = _afpDataStream.getImageObject(x, y, w, h);
                io.setImageParameters(
                    (int)(fopimage.getHorizontalResolution() * 10),
                    (int)(fopimage.getVerticalResolution() * 10),
                    fopimage.getWidth(),
                    fopimage.getHeight()
                );
                if (tiffImage.getStripCount() == 1) {
                    int comp = tiffImage.getCompression();
                    if (comp == 3) {
                        if (!fopimage.load(FopImage.ORIGINAL_DATA)) {
                            return;
                        }
                        io.setImageEncoding((byte)0x81);
                        io.setImageData(fopimage.getRessourceBytes());
                    } else if (comp == 4) {
                        if (!fopimage.load(FopImage.ORIGINAL_DATA)) {
                            return;
                        }
                        io.setImageEncoding((byte)0x82);
                        io.setImageData(fopimage.getRessourceBytes());
                    } else {
                        if (!fopimage.load(FopImage.BITMAP)) {
                            return;
                        }
                        convertToGrayScaleImage(io, fopimage.getBitmaps(),
                                fopimage.getWidth(), fopimage.getHeight());
                    }
                } else {
                    if (!fopimage.load(FopImage.BITMAP)) {
                        return;
                    }
                    convertToGrayScaleImage(io, fopimage.getBitmaps(),
                            fopimage.getWidth(), fopimage.getHeight());
                }
            } else {
                if (!fopimage.load(FopImage.BITMAP)) {
                    return;
                }
                fact.releaseImage(url, userAgent);

                int x = mpts2units(pos.getX() + currentIPPosition);
                int y = mpts2units(pos.getY() + currentBPPosition);
                int w = mpts2units(pos.getWidth());
                int h = mpts2units(pos.getHeight());
                ImageObject io = _afpDataStream.getImageObject(x, y, w, h);
                io.setImageParameters(
                    (int)(fopimage.getHorizontalResolution() * 10),
                    (int)(fopimage.getVerticalResolution() * 10),
                    fopimage.getWidth(),
                    fopimage.getHeight()
                );
                if (colorImages) {
                    io.setImageIDESize((byte)24);
                    io.setImageData(fopimage.getBitmaps());
                } else {
                    convertToGrayScaleImage(io, fopimage.getBitmaps(),
                            fopimage.getWidth(), fopimage.getHeight());
                }
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.