Example usage for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject setInterpolate

List of usage examples for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject setInterpolate

Introduction

In this page you can find the example usage for org.apache.pdfbox.pdmodel.graphics.image PDImageXObject setInterpolate.

Prototype

@Override
    public void setInterpolate(boolean value) 

Source Link

Usage

From source file:de.rototor.pdfbox.graphics2d.PdfBoxGraphics2D.java

License:Apache License

public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {
    checkNoCopyActive();/*  w w w .j a  va2  s.c  om*/
    AffineTransform tf = new AffineTransform();
    tf.concatenate(baseTransform);
    tf.concatenate(transform);

    // Sometimes the xform can be null
    if (xform != null)
        tf.concatenate((AffineTransform) xform.clone());

    PDImageXObject pdImage = imageEncoder.encodeImage(document, contentStream, img);
    try {
        contentStreamSaveState();
        int imgHeight = img.getHeight(obs);
        tf.translate(0, imgHeight);
        tf.scale(1, -1);
        contentStream.transform(new Matrix(tf));

        Object keyInterpolation = renderingHints.get(RenderingHints.KEY_INTERPOLATION);
        if (RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR.equals(keyInterpolation))
            pdImage.setInterpolate(false);
        contentStream.drawImage(pdImage, 0, 0, img.getWidth(obs), imgHeight);
        contentStreamRestoreState();
    } catch (IOException e) {
        throwException(e);
    }
    return true;
}