Package com.lowagie.examples.objects.images

Source Code of com.lowagie.examples.objects.images.RawData

/*
* $Id$
*
* This code is part of the 'iText Tutorial'.
* You can find the complete tutorial at the following address:
* http://itextdocs.lowagie.com/tutorial/
*
* This code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* itext-questions@lists.sourceforge.net
*/
package com.lowagie.examples.objects.images;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;

import com.lowagie.text.LwgDocument;
import com.lowagie.text.DocumentException;
import com.lowagie.text.LwgImage;
import com.lowagie.text.pdf.PdfWriter;
/**
* Using raw data to construct an LwgImage object.
*/
public class RawData {   
    /**
     * Raw data.
     * @param args no arguments needed
     */
    public static void main(String[] args) {
       
        System.out.println("bytes[] / raw image");
       
        // step 1: creation of a document-object
        LwgDocument document = new LwgDocument();
       
        try {
           
            // step 2:
            // we create a writer that listens to the document
            // and directs a PDF-stream to a file
           
            PdfWriter.getInstance(document, new FileOutputStream("rawdata.pdf"));
           
            // step 3: we open the document
            document.open();
           
            // step 4: we add content (example by Paulo Soares)
           
            // creation a jpeg passed as an array of bytes to the LwgImage
            RandomAccessFile rf = new RandomAccessFile("otsoe.jpg", "r");
            int size = (int)rf.length();
            byte imext[] = new byte[size];
            rf.readFully(imext);
            rf.close();
            LwgImage img1 = LwgImage.getInstance(imext);
            img1.setAbsolutePosition(50, 500);
            document.add(img1);
           
            // creation of an image of 100 x 100 pixels (x 3 bytes for the Red, Green and Blue value)
            byte data[] = new byte[100*100*3];
            for (int k = 0; k < 100; ++k) {
                for (int j = 0; j < 300; j += 3) {
                    data[k * 300 + j] = (byte)(255 * Math.sin(j * .5 * Math.PI / 300));
                    data[k * 300 + j + 1] = (byte)(256 - j * 256 / 300);
                    data[k * 300 + j + 2] = (byte)(255 * Math.cos(k * .5 * Math.PI / 100));
                }
            }
            LwgImage img2 = LwgImage.getInstance(100, 100, 3, 8, data);
            img2.setAbsolutePosition(200, 200);
            document.add(img2);
        }
        catch(DocumentException de) {
            System.err.println(de.getMessage());
        }
        catch(IOException ioe) {
            System.err.println(ioe.getMessage());
        }
       
        // step 5: we close the document
        document.close();
    }


}
TOP

Related Classes of com.lowagie.examples.objects.images.RawData

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.