<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>TJCompressor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TJCompressor";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li>Field | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor.detail">Constr</a> | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding"> </div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.libjpegturbo.turbojpeg</a></div>
<h2 title="Class TJCompressor" class="title">Class TJCompressor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.libjpegturbo.turbojpeg.TJCompressor</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Closeable</code>, <code>java.lang.AutoCloseable</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">TJCompressor</span>
extends java.lang.Object
implements java.io.Closeable</pre>
<div class="block">TurboJPEG compressor</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">TJCompressor</a></span>()</code></th>
<td class="colLast">
<div class="block">Create a TurboJPEG compressor instance.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(byte%5B%5D,int,int,int,int,int,int)">TJCompressor</a></span>​(byte[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)</code></th>
<td class="colLast">
<div class="block">Create a TurboJPEG compressor instance and associate the packed-pixel
source image, stored in <code>srcImage</code> with 2 to 8 bits of data
precision per sample, with the newly created instance.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.awt.image.BufferedImage,int,int,int,int)">TJCompressor</a></span>​(java.awt.image.BufferedImage srcImage,
int x,
int y,
int width,
int height)</code></th>
<td class="colLast">
<div class="block">Create a TurboJPEG compressor instance and associate the 8-bit-per-sample
packed-pixel source image stored in <code>srcImage</code> with the newly
created instance.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Free the native structures associated with this compressor instance.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compress()">compress</a></span>()</code></th>
<td class="colLast">
<div class="block">Compress the packed-pixel or planar YUV source image associated with this
compressor instance and return a buffer containing a JPEG image.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compress(byte%5B%5D)">compress</a></span>​(byte[] dstBuf)</code></th>
<td class="colLast">
<div class="block">Compress the packed-pixel or planar YUV source image associated with this
compressor instance and output a JPEG image to the given destination
buffer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodeYUV(int)">encodeYUV</a></span>​(int align)</code></th>
<td class="colLast">
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into an 8-bit-per-sample unified planar YUV image and
return a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the encoded image.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodeYUV(int%5B%5D)">encodeYUV</a></span>​(int[] strides)</code></th>
<td class="colLast">
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into separate 8-bit-per-sample Y, U (Cb), and V (Cr)
image planes and return a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the encoded
image planes.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#encodeYUV(org.libjpegturbo.turbojpeg.YUVImage)">encodeYUV</a></span>​(<a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> dstImage)</code></th>
<td class="colLast">
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into an 8-bit-per-sample planar YUV image and store it
in the given <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#finalize()">finalize</a></span>()</code></th>
<td class="colLast"> </td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(int)">get</a></span>​(int param)</code></th>
<td class="colLast">
<div class="block">Get the value of a compression parameter.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCompressedSize()">getCompressedSize</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the size of the image (in bytes) generated by the most recent
compression operation.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHeight()">getHeight</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the height of the source image (packed-pixel or YUV) associated
with this compressor instance.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPitch()">getPitch</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the pitch (samples per row) of the packed-pixel source image
associated with this compressor instance.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPixelFormat()">getPixelFormat</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the pixel format of the packed-pixel source image associated with
this compressor instance.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSourceBuf()">getSourceBuf</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the buffer containing the packed-pixel image associated with this
compressor instance.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getWidth()">getWidth</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the width of the source image (packed-pixel or YUV) associated
with this compressor instance.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadSourceImage(java.lang.String,int,int)">loadSourceImage</a></span>​(java.lang.String fileName,
int align,
int pixelFormat)</code></th>
<td class="colLast">
<div class="block">Load a packed-pixel RGB or grayscale source image with 2 to 16 bits of
data precision per sample from disk into memory and associate it with this
compressor instance.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(int,int)">set</a></span>​(int param,
int value)</code></th>
<td class="colLast">
<div class="block">Set the value of a compression parameter.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setICCProfile(byte%5B%5D)">setICCProfile</a></span>​(byte[] iccBuf)</code></th>
<td class="colLast">
<div class="block">Embed an ICC (International Color Consortium) color management profile in
JPEG images generated by subsequent compression operations.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)">setSourceImage</a></span>​(byte[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)</code></th>
<td class="colLast">
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 2 to 8
bits of data precision per sample with this compressor instance.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)">setSourceImage</a></span>​(java.awt.image.BufferedImage srcImage,
int x,
int y,
int width,
int height)</code></th>
<td class="colLast">
<div class="block">Associate an 8-bit-per-sample packed-pixel RGB or grayscale source image
with this compressor instance.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)">setSourceImage</a></span>​(<a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> srcImage)</code></th>
<td class="colLast">
<div class="block">Associate an 8-bit-per-sample planar YUV source image with this compressor
instance.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceImage12(short%5B%5D,int,int,int,int,int,int)">setSourceImage12</a></span>​(short[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)</code></th>
<td class="colLast">
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 9 to 12
bits of data precision per sample with this compressor instance.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceImage16(short%5B%5D,int,int,int,int,int,int)">setSourceImage16</a></span>​(short[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)</code></th>
<td class="colLast">
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 13 to
16 bits of data precision per sample with this compressor instance.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class java.lang.Object</h3>
<code>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="<init>()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TJCompressor</h4>
<pre>public TJCompressor()
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Create a TurboJPEG compressor instance.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="<init>(byte[],int,int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TJCompressor</h4>
<pre>public TJCompressor​(byte[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Create a TurboJPEG compressor instance and associate the packed-pixel
source image, stored in <code>srcImage</code> with 2 to 8 bits of data
precision per sample, with the newly created instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>x</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>y</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>width</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>pitch</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>height</code> - see <a href="#setSourceImage(byte%5B%5D,int,int,int,int,int,int)"><code>setSourceImage(byte[], int, int, int, int, int, int)</code></a> for description</dd>
<dd><code>pixelFormat</code> - pixel format of the source image (one of
<a href="TJ.html#PF_RGB"><code>TJ.PF_*</code></a>)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="<init>(java.awt.image.BufferedImage,int,int,int,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TJCompressor</h4>
<pre>public TJCompressor​(java.awt.image.BufferedImage srcImage,
int x,
int y,
int width,
int height)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Create a TurboJPEG compressor instance and associate the 8-bit-per-sample
packed-pixel source image stored in <code>srcImage</code> with the newly
created instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - see
<a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"><code>setSourceImage(BufferedImage, int, int, int, int)</code></a> for description</dd>
<dd><code>x</code> - see
<a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"><code>setSourceImage(BufferedImage, int, int, int, int)</code></a> for description</dd>
<dd><code>y</code> - see
<a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"><code>setSourceImage(BufferedImage, int, int, int, int)</code></a> for description</dd>
<dd><code>width</code> - see
<a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"><code>setSourceImage(BufferedImage, int, int, int, int)</code></a> for description</dd>
<dd><code>height</code> - see
<a href="#setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"><code>setSourceImage(BufferedImage, int, int, int, int)</code></a> for description</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="setSourceImage(byte[],int,int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceImage</h4>
<pre class="methodSignature">public void setSourceImage​(byte[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 2 to 8
bits of data precision per sample with this compressor instance. Note
that packed-pixel source images with 2 to 7 bits of data precision per
sample can only be compressed into lossless JPEG images.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - buffer containing a packed-pixel RGB, grayscale, or CMYK
source image to be compressed or encoded. The data precision of the
source image (from 2 to 8 bits per sample) can be specified using
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> and defaults to 8 if <a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a>
is unset or out of range. This buffer is not modified.</dd>
<dd><code>x</code> - x offset (in pixels) of the region in the source image from which
the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>y</code> - y offset (in pixels) of the region in the source image from which
the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>width</code> - width (in pixels) of the region in the source image from
which the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>pitch</code> - bytes per row in the source image. Normally this should be
<code>width * <a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>,
if the source image is unpadded. (Setting this parameter to 0 is the
equivalent of setting it to <code>width *
<a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>.) However,
you can also use this parameter to specify the row alignment/padding of
the source image, to skip rows, or to compress/encode a JPEG or YUV image
from a specific region of a larger source image.</dd>
<dd><code>height</code> - height (in pixels) of the region in the source image from
which the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>pixelFormat</code> - pixel format of the source image (one of
<a href="TJ.html#PF_RGB"><code>TJ.PF_*</code></a>)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="setSourceImage12(short[],int,int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceImage12</h4>
<pre class="methodSignature">public void setSourceImage12​(short[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 9 to 12
bits of data precision per sample with this compressor instance. Note
that packed-pixel source images with 9 to 11 bits of data precision per
sample can only be compressed into lossless JPEG images.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - buffer containing a packed-pixel RGB, grayscale, or CMYK
source image to be compressed. The data precision of the source image
(from 9 to 12 bits per sample) can be specified using
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> and defaults to 12 if
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> is unset or out of range. This buffer is not
modified.</dd>
<dd><code>x</code> - x offset (in pixels) of the region in the source image from which
the JPEG image should be compressed</dd>
<dd><code>y</code> - y offset (in pixels) of the region in the source image from which
the JPEG image should be compressed</dd>
<dd><code>width</code> - width (in pixels) of the region in the source image from
which the JPEG image should be compressed</dd>
<dd><code>pitch</code> - samples per row in the source image. Normally this should be
<code>width * <a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>,
if the source image is unpadded. (Setting this parameter to 0 is the
equivalent of setting it to <code>width *
<a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>.) However,
you can also use this parameter to specify the row alignment/padding of
the source image, to skip rows, or to compress a JPEG image from a
specific region of a larger source image.</dd>
<dd><code>height</code> - height (in pixels) of the region in the source image from
which the JPEG image should be compressed</dd>
<dd><code>pixelFormat</code> - pixel format of the source image (one of
<a href="TJ.html#PF_RGB"><code>TJ.PF_*</code></a>)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="setSourceImage16(short[],int,int,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceImage16</h4>
<pre class="methodSignature">public void setSourceImage16​(short[] srcImage,
int x,
int y,
int width,
int pitch,
int height,
int pixelFormat)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Associate a packed-pixel RGB, grayscale, or CMYK source image with 13 to
16 bits of data precision per sample with this compressor instance. Note
that packed-pixel source images with 13 to 16 bits of data precision per
sample can only be compressed into lossless JPEG images.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - buffer containing a packed-pixel RGB, grayscale, or CMYK
source image to be compressed. The data precision of the source image
(from 13 to 16 bits per sample) can be specified using
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> and defaults to 16 if
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> is unset or out of range. This buffer is not
modified.</dd>
<dd><code>x</code> - x offset (in pixels) of the region in the source image from which
the JPEG image should be compressed</dd>
<dd><code>y</code> - y offset (in pixels) of the region in the source image from which
the JPEG image should be compressed</dd>
<dd><code>width</code> - width (in pixels) of the region in the source image from
which the JPEG image should be compressed</dd>
<dd><code>pitch</code> - samples per row in the source image. Normally this should be
<code>width * <a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>,
if the source image is unpadded. (Setting this parameter to 0 is the
equivalent of setting it to <code>width *
<a href="TJ.html#getPixelSize(int)"><code>TJ.getPixelSize</code></a>(pixelFormat)</code>.) However,
you can also use this parameter to specify the row alignment/padding of
the source image, to skip rows, or to compress a JPEG image from a
specific region of a larger source image.</dd>
<dd><code>height</code> - height (in pixels) of the region in the source image from
which the JPEG image should be compressed</dd>
<dd><code>pixelFormat</code> - pixel format of the source image (one of
<a href="TJ.html#PF_RGB"><code>TJ.PF_*</code></a>)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="setSourceImage(java.awt.image.BufferedImage,int,int,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceImage</h4>
<pre class="methodSignature">public void setSourceImage​(java.awt.image.BufferedImage srcImage,
int x,
int y,
int width,
int height)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Associate an 8-bit-per-sample packed-pixel RGB or grayscale source image
with this compressor instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - a <code>BufferedImage</code> instance containing a
packed-pixel RGB or grayscale source image to be compressed or encoded.
This image is not modified.</dd>
<dd><code>x</code> - x offset (in pixels) of the region in the source image from which
the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>y</code> - y offset (in pixels) of the region in the source image from which
the JPEG or YUV image should be compressed/encoded</dd>
<dd><code>width</code> - width (in pixels) of the region in the source image from
which the JPEG or YUV image should be compressed/encoded (0 = use the
width of the source image)</dd>
<dd><code>height</code> - height (in pixels) of the region in the source image from
which the JPEG or YUV image should be compressed/encoded (0 = use the
height of the source image)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSourceImage</h4>
<pre class="methodSignature">public void setSourceImage​(<a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> srcImage)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Associate an 8-bit-per-sample planar YUV source image with this compressor
instance. This method sets <a href="TJ.html#PARAM_SUBSAMP"><code>TJ.PARAM_SUBSAMP</code></a> to the chrominance
subsampling level of the source image.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcImage</code> - planar YUV source image to be compressed. This image is
not modified.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="loadSourceImage(java.lang.String,int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadSourceImage</h4>
<pre class="methodSignature">public void loadSourceImage​(java.lang.String fileName,
int align,
int pixelFormat)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Load a packed-pixel RGB or grayscale source image with 2 to 16 bits of
data precision per sample from disk into memory and associate it with this
compressor instance. Note that packed-pixel source images with 2 to 7, 9
to 11, or 13 to 16 bits of data precision per sample can only be
compressed into lossless JPEG images.
<p><a href="#getWidth()"><code>getWidth()</code></a>, <a href="#getPitch()"><code>getPitch()</code></a>, <a href="#getHeight()"><code>getHeight()</code></a>,
<a href="#getPixelFormat()"><code>getPixelFormat()</code></a>, and <a href="#getSourceBuf()"><code>getSourceBuf()</code></a> can be used to
obtain the source image's dimensions, pixel format, and buffer after it is
loaded.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fileName</code> - name of a file containing a packed-pixel image in Windows
BMP or PBMPLUS (PPM/PGM) format. Windows BMP files require
8-bit-per-sample data precision. When loading a PBMPLUS file, the target
data precision (from 2 to 16 bits per sample) can be specified using
<a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a> and defaults to 8 if <a href="TJ.html#PARAM_PRECISION"><code>TJ.PARAM_PRECISION</code></a>
is unset. If the data precision of the PBMPLUS file does not match the
target data precision, then upconverting or downconverting will be
performed.</dd>
<dd><code>align</code> - row alignment (in samples) of the packed-pixel buffer into
which the source image will be loaded (must be a power of 2.) Setting
this parameter to n will cause all rows in the buffer to be padded to the
nearest multiple of n samples (1 = unpadded.)</dd>
<dd><code>pixelFormat</code> - pixel format of the packed-pixel buffer into which the
source image will be loaded. The behavior of this method varies depending
on the value of <code>pixelFormat</code>:
<ul>
<li> <a href="TJ.html#PF_UNKNOWN"><code>TJ.PF_UNKNOWN</code></a> : The packed-pixel buffer created by this
method will use the most optimal pixel format for the file type. Use
<a href="#getPixelFormat()"><code>getPixelFormat()</code></a> to obtain the ID of that pixel format.
<li> <a href="TJ.html#PF_GRAY"><code>TJ.PF_GRAY</code></a> : Only PGM files and 8-bit-per-pixel BMP files
with a grayscale colormap can be loaded.
<li> <a href="TJ.html#PF_CMYK"><code>TJ.PF_CMYK</code></a> : The RGB or grayscale pixels stored in the file
will be converted using a quick & dirty algorithm that is suitable
only for testing purposes. (Proper conversion between CMYK and other
formats requires a color management system.)
<li> Other <a href="TJ.html#PF_RGB"><code>pixel formats</code></a> : The packed-pixel buffer
will use the specified pixel format, and pixel format conversion will be
performed if necessary.
</ul></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="getWidth()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWidth</h4>
<pre class="methodSignature">public int getWidth()</pre>
<div class="block">Returns the width of the source image (packed-pixel or YUV) associated
with this compressor instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the width of the source image (packed-pixel or YUV) associated
with this compressor instance.</dd>
</dl>
</li>
</ul>
<a id="getPitch()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPitch</h4>
<pre class="methodSignature">public int getPitch()</pre>
<div class="block">Returns the pitch (samples per row) of the packed-pixel source image
associated with this compressor instance. If the source image is a
<code>BufferedImage</code> instance with integer pixels, then the stride
(pixels per row) is returned instead.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the pitch (samples per row) of the packed-pixel source image
associated with this compressor instance.</dd>
</dl>
</li>
</ul>
<a id="getHeight()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeight</h4>
<pre class="methodSignature">public int getHeight()</pre>
<div class="block">Returns the height of the source image (packed-pixel or YUV) associated
with this compressor instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the height of the source image (packed-pixel or YUV) associated
with this compressor instance.</dd>
</dl>
</li>
</ul>
<a id="getPixelFormat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPixelFormat</h4>
<pre class="methodSignature">public int getPixelFormat()</pre>
<div class="block">Returns the pixel format of the packed-pixel source image associated with
this compressor instance. The pixel format is one of
<a href="TJ.html#PF_RGB"><code>TJ.PF_*</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the pixel format of the packed-pixel source image associated with
this compressor instance.</dd>
</dl>
</li>
</ul>
<a id="getSourceBuf()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSourceBuf</h4>
<pre class="methodSignature">public java.lang.Object getSourceBuf()</pre>
<div class="block">Returns the buffer containing the packed-pixel image associated with this
compressor instance. The buffer is a <code>byte</code> array if the
source image has 2 to 8 bits of data precision per sample, a
<code>short</code> array if the source image has 9 to 16 bits of data
precision per sample, and either a <code>byte</code> or an
<code>int</code> array (depending on the image type) if the source image
is a <code>BufferedImage</code> instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the buffer containing the packed-pixel image associated with this
compressor instance.</dd>
</dl>
</li>
</ul>
<a id="set(int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre class="methodSignature">public void set​(int param,
int value)</pre>
<div class="block">Set the value of a compression parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>param</code> - one of <a href="TJ.html#PARAM_STOPONWARNING"><code>TJ.PARAM_*</code></a></dd>
<dd><code>value</code> - value of the compression parameter (refer to
<a href="TJ.html#PARAM_STOPONWARNING"><code>parameter documentation</code></a>)</dd>
</dl>
</li>
</ul>
<a id="get(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public int get​(int param)</pre>
<div class="block">Get the value of a compression parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>param</code> - one of <a href="TJ.html#PARAM_STOPONWARNING"><code>TJ.PARAM_*</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the specified compression parameter, or -1 if the
value is unknown.</dd>
</dl>
</li>
</ul>
<a id="setICCProfile(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setICCProfile</h4>
<pre class="methodSignature">public void setICCProfile​(byte[] iccBuf)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Embed an ICC (International Color Consortium) color management profile in
JPEG images generated by subsequent compression operations.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iccBuf</code> - buffer containing an ICC profile. (The size of the ICC
profile is assumed to be the length of the array.) A copy is made of the
ICC profile, so this buffer can be reused as soon as this method returns.
Setting this parameter to null removes any ICC profile that was previously
associated with this compressor instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="compress(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compress</h4>
<pre class="methodSignature">public void compress​(byte[] dstBuf)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Compress the packed-pixel or planar YUV source image associated with this
compressor instance and output a JPEG image to the given destination
buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstBuf</code> - buffer that will receive the JPEG image. Use
<a href="TJ.html#bufSize(int,int,int)"><code>TJ.bufSize()</code></a> to determine the maximum size for this
buffer based on the source image's width and height and the desired level
of chrominance subsampling (see <a href="TJ.html#PARAM_SUBSAMP"><code>TJ.PARAM_SUBSAMP</code></a>), then add the
size of the ICC profile (if any) that was previously associated with this
compressor instance (see <a href="#setICCProfile(byte%5B%5D)"><code>setICCProfile()</code></a>.)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="compress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compress</h4>
<pre class="methodSignature">public byte[] compress()
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Compress the packed-pixel or planar YUV source image associated with this
compressor instance and return a buffer containing a JPEG image.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a buffer containing a JPEG image. The length of this buffer will
not be equal to the size of the JPEG image. Use
<a href="#getCompressedSize()"><code>getCompressedSize()</code></a> to obtain the size of the JPEG image.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="encodeYUV(org.libjpegturbo.turbojpeg.YUVImage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeYUV</h4>
<pre class="methodSignature">public void encodeYUV​(<a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> dstImage)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into an 8-bit-per-sample planar YUV image and store it
in the given <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance. This method performs color
conversion (which is accelerated in the libjpeg-turbo implementation) but
does not execute any of the other steps in the JPEG compression process.
Encoding CMYK source images into YUV images is not supported. This method
sets <a href="TJ.html#PARAM_SUBSAMP"><code>TJ.PARAM_SUBSAMP</code></a> to the chrominance subsampling level of the
destination image.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dstImage</code> - <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance that will receive the planar YUV
image</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="encodeYUV(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeYUV</h4>
<pre class="methodSignature">public <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> encodeYUV​(int align)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into an 8-bit-per-sample unified planar YUV image and
return a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the encoded image. This
method performs color conversion (which is accelerated in the
libjpeg-turbo implementation) but does not execute any of the other steps
in the JPEG compression process. Encoding CMYK source images into YUV
images is not supported.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>align</code> - row alignment (in bytes) of the YUV image (must be a power of
2.) Setting this parameter to n will cause each row in each plane of the
YUV image to be padded to the nearest multiple of n bytes (1 = unpadded.)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the unified planar YUV
encoded image</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="encodeYUV(int[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeYUV</h4>
<pre class="methodSignature">public <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a> encodeYUV​(int[] strides)
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Encode the 8-bit-per-sample packed-pixel source image associated with this
compressor instance into separate 8-bit-per-sample Y, U (Cb), and V (Cr)
image planes and return a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the encoded
image planes. This method performs color conversion (which is accelerated
in the libjpeg-turbo implementation) but does not execute any of the other
steps in the JPEG compression process. Encoding CMYK source images into
YUV images is not supported.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>strides</code> - an array of integers, each specifying the number of bytes
per row in the corresponding plane of the YUV source image. Setting the
stride for any plane to 0 is the same as setting it to the plane width
(see <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a>.) If <code>strides</code> is null, then the strides
for all planes will be set to their respective plane widths. You can
adjust the strides in order to add an arbitrary amount of row padding to
each plane.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="YUVImage.html" title="class in org.libjpegturbo.turbojpeg"><code>YUVImage</code></a> instance containing the encoded image planes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="getCompressedSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompressedSize</h4>
<pre class="methodSignature">public int getCompressedSize()</pre>
<div class="block">Returns the size of the image (in bytes) generated by the most recent
compression operation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size of the image (in bytes) generated by the most recent
compression operation.</dd>
</dl>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public void close()
throws <a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></pre>
<div class="block">Free the native structures associated with this compressor instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code> in interface <code>java.lang.AutoCloseable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code> in interface <code>java.io.Closeable</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="TJException.html" title="class in org.libjpegturbo.turbojpeg">TJException</a></code></dd>
</dl>
</li>
</ul>
<a id="finalize()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>finalize</h4>
<pre class="methodSignature">protected void finalize()
throws java.lang.Throwable</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>finalize</code> in class <code>java.lang.Object</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Throwable</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
<li>Field | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li><a href="#constructor.detail">Constr</a> | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>