com.itextpdf.text.pdf.codec
Class CCITTG4Encoder

java.lang.Object
  extended by com.itextpdf.text.pdf.codec.CCITTG4Encoder

public class CCITTG4Encoder
extends Object

Encodes data in the CCITT G4 FAX format.


Field Summary
private  int bit
           
private static int CODE
           
private  int data
           
private  byte[] dataBp
           
private static int EOL
           
private static int G3CODE_EOF
           
private static int G3CODE_EOL
           
private static int G3CODE_INCOMP
           
private static int G3CODE_INVALID
           
private  int[] horizcode
           
private static int LENGTH
           
private  int[] msbmask
           
private  int offsetData
           
private static byte[] oneruns
           
private  ByteBuffer outBuf
           
private  int[] passcode
           
private  byte[] refline
           
private  int rowbytes
           
private  int rowpixels
           
private static int RUNLEN
           
private  int sizeData
           
private  int[][] TIFFFaxBlackCodes
           
private  int[][] TIFFFaxWhiteCodes
           
private  int[][] vcodes
           
private static byte[] zeroruns
           
 
Constructor Summary
CCITTG4Encoder(int width)
          Creates a new encoder.
 
Method Summary
 byte[] close()
          Closes the encoder and returns the encoded data.
static byte[] compress(byte[] data, int width, int height)
          Encodes a full image.
private  void Fax3Encode2DRow()
           
 void fax4Encode(byte[] data, int height)
          Encodes a number of lines.
 void fax4Encode(byte[] data, int offset, int size)
          Encodes a number of lines.
private  void Fax4PostEncode()
           
private static int find0span(byte[] bp, int offset, int bs, int be)
           
private static int find1span(byte[] bp, int offset, int bs, int be)
           
private static int finddiff(byte[] bp, int offset, int bs, int be, int color)
           
private static int finddiff2(byte[] bp, int offset, int bs, int be, int color)
           
private  int pixel(byte[] data, int offset, int bit)
           
private  void putBits(int bits, int length)
           
private  void putcode(int[] table)
           
private  void putspan(int span, int[][] tab)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rowbytes

private int rowbytes

rowpixels

private int rowpixels

bit

private int bit

data

private int data

refline

private byte[] refline

outBuf

private ByteBuffer outBuf

dataBp

private byte[] dataBp

offsetData

private int offsetData

sizeData

private int sizeData

zeroruns

private static byte[] zeroruns

oneruns

private static byte[] oneruns

LENGTH

private static final int LENGTH
See Also:
Constant Field Values

CODE

private static final int CODE
See Also:
Constant Field Values

RUNLEN

private static final int RUNLEN
See Also:
Constant Field Values

EOL

private static final int EOL
See Also:
Constant Field Values

G3CODE_EOL

private static final int G3CODE_EOL
See Also:
Constant Field Values

G3CODE_INVALID

private static final int G3CODE_INVALID
See Also:
Constant Field Values

G3CODE_EOF

private static final int G3CODE_EOF
See Also:
Constant Field Values

G3CODE_INCOMP

private static final int G3CODE_INCOMP
See Also:
Constant Field Values

TIFFFaxWhiteCodes

private int[][] TIFFFaxWhiteCodes

TIFFFaxBlackCodes

private int[][] TIFFFaxBlackCodes

horizcode

private int[] horizcode

passcode

private int[] passcode

vcodes

private int[][] vcodes

msbmask

private int[] msbmask
Constructor Detail

CCITTG4Encoder

public CCITTG4Encoder(int width)
Creates a new encoder.

Parameters:
width - the line width
Method Detail

fax4Encode

public void fax4Encode(byte[] data,
                       int offset,
                       int size)
Encodes a number of lines.

Parameters:
data - the data to be encoded
offset - the offset into the data
size - the size of the data to be encoded

compress

public static byte[] compress(byte[] data,
                              int width,
                              int height)
Encodes a full image.

Parameters:
data - the data to encode
width - the image width
height - the image height
Returns:
the encoded image

fax4Encode

public void fax4Encode(byte[] data,
                       int height)
Encodes a number of lines.

Parameters:
data - the data to be encoded
height - the number of lines to encode

putcode

private void putcode(int[] table)

putspan

private void putspan(int span,
                     int[][] tab)

putBits

private void putBits(int bits,
                     int length)

Fax3Encode2DRow

private void Fax3Encode2DRow()

Fax4PostEncode

private void Fax4PostEncode()

close

public byte[] close()
Closes the encoder and returns the encoded data.

Returns:
the encoded data

pixel

private int pixel(byte[] data,
                  int offset,
                  int bit)

find1span

private static int find1span(byte[] bp,
                             int offset,
                             int bs,
                             int be)

find0span

private static int find0span(byte[] bp,
                             int offset,
                             int bs,
                             int be)

finddiff

private static int finddiff(byte[] bp,
                            int offset,
                            int bs,
                            int be,
                            int color)

finddiff2

private static int finddiff2(byte[] bp,
                             int offset,
                             int bs,
                             int be,
                             int color)

Hosted by Hostbasket