<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>ImageRenderer (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.coverage.grid.ImageRenderer class">
<meta name="keywords" content="getNumBands()">
<meta name="keywords" content="getBounds()">
<meta name="keywords" content="setData()">
<meta name="keywords" content="setInterleavedPixelOffsets()">
<meta name="keywords" content="raster()">
<meta name="keywords" content="image()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.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.3.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ImageRenderer (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":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 = false;
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="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ImageRenderer.html">Use</a></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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</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">&nbsp;</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>&nbsp;<a href="package-summary.html">org.apache.sis.coverage.grid</a></div>
<h2 title="Class ImageRenderer" class="title">Class ImageRenderer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li>ImageRenderer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">ImageRenderer</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">A builder for the rendered image to be returned by <a href="GridCoverage.html#render(org.apache.sis.coverage.grid.GridExtent)"><code>Grid­Coverage​.render(Grid­Extent)</code></a>.
 This builder does not copy any sample values. Instead, it wraps existing data arrays into
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/Raster.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Raster</code></a> objects by computing required information such as
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/ComponentSampleModel.html?is-external=true#getPixelStride()" title="class or interface in java.awt.image" class="externalLink">pixel stride</a>,
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/ComponentSampleModel.html?is-external=true#getScanlineStride()" title="class or interface in java.awt.image" class="externalLink">scanline stride</a> and
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/ComponentSampleModel.html?is-external=true#getBandOffsets()" title="class or interface in java.awt.image" class="externalLink">band offsets</a>.
 Different <code>set­Data(…)</code> methods are provided for allowing to specify the data arrays
 from different objects such as Java2D <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer</code></a> or NIO <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink"><code>Buffer</code></a>.

 <p>All <code>set­Data(…)</code> methods assume that the first valid element in each array is the value
 located at <code><a href="GridCoverage.html#getGridGeometry()">Grid­Coverage​.get­Grid­Geometry()</a>.<a href="GridGeometry.html#getExtent()">get­Extent()</a>.<a href="GridExtent.html#getLow(int)">get­Low()</a></code>. This <code>Image­Renderer</code> class
 computes automatically the offsets from that position to the position of the first value included
 in the <code>slice­Extent</code> given to the constructor.</p>

 <div class="note"><b>Usage example:</b>
 <blockquote><pre><font color="green">class</font> MyResource <font color="green">extends</font> GridCoverage {
    @Override
    <font color="green">public</font> RenderedImage <b>render</b>(GridExtent sliceExtent) {
        <font color="green">try</font> {
            ImageRenderer renderer = <font color="green">new</font> <b>ImageRenderer</b>(<font color="green">this</font>, sliceExtent);
            renderer.<b>setData</b>(data);
            <font color="green">return</font> renderer.<b>image</b>();
        } <font color="green">catch</font> (IllegalArgumentException | ArithmeticException | RasterFormatException e) {
            <font color="green">throw</font> <font color="green">new</font> <b>CannotEvaluateException</b>(<font color="orangered">"Can not create an image."</font>, e);
        }
    }
}</pre></blockquote>
 </div>

 <div class="section">Limitations</div>
 Current implementation constructs only images made of a single tile.
 Support for tiled images will be added in a future version.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="GridCoverage.html#render(org.apache.sis.coverage.grid.GridExtent)"><code>Grid­Coverage​.render(Grid­Extent)</code></a></dd>

<p><font size="-1">Defined in the <code>sis-feature</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<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">&nbsp;</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(org.apache.sis.coverage.grid.GridCoverage,org.apache.sis.coverage.grid.GridExtent)">ImageRenderer</a></span>&#8203;(<a href="GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a>&nbsp;coverage,
             <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a>&nbsp;sliceExtent)</code></th>
<td class="colLast">
<div class="block">Creates a new image renderer for the given slice extent.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle.html?is-external=true" title="class or interface in java.awt" class="externalLink">Rectangle</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBounds()">getBounds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the location of the image upper-left corner together with the image size.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNumBands()">getNumBands</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of bands that the image will have.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RenderedImage.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">RenderedImage</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#image()">image</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates an image with the data specified by the last call to a <code>set­Data(…)</code> method.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/WritableRaster.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">WritableRaster</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#raster()">raster</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a raster with the data specified by the last call to a <code>set­Data(…)</code> method.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setData(int,java.nio.Buffer...)">setData</a></span>&#8203;(int&nbsp;dataType,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink">Buffer</a>...&nbsp;data)</code></th>
<td class="colLast">
<div class="block">Sets the data as NIO buffers.</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="#setData(java.awt.image.DataBuffer)">setData</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">DataBuffer</a>&nbsp;data)</code></th>
<td class="colLast">
<div class="block">Sets the data as a Java2D buffer.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setData(org.apache.sis.math.Vector...)">setData</a></span>&#8203;(<a href="../../math/Vector.html" title="class in org.apache.sis.math">Vector</a>...&nbsp;data)</code></th>
<td class="colLast">
<div class="block">Sets the data as vectors.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInterleavedPixelOffsets(int,int%5B%5D)">setInterleavedPixelOffsets</a></span>&#8203;(int&nbsp;pixelStride,
                          int[]&nbsp;bandOffsets)</code></th>
<td class="colLast">
<div class="block">Specifies the offsets to add to sample index in each band in order to reach the sample value in the <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer</code></a> bank.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hash­Code</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">to­String</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.apache.sis.coverage.grid.GridCoverage,org.apache.sis.coverage.grid.GridExtent)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ImageRenderer</h4>
<pre>public&nbsp;ImageRenderer&#8203;(<a href="GridCoverage.html" title="class in org.apache.sis.coverage.grid">GridCoverage</a>&nbsp;coverage,
                     <a href="GridExtent.html" title="class in org.apache.sis.coverage.grid">GridExtent</a>&nbsp;sliceExtent)</pre>
<div class="block">Creates a new image renderer for the given slice extent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>coverage</code> - the grid coverage for which to build an image.</dd>
<dd><code>slice­Extent</code> - the grid geometry from which to create an image, or <code>null</code> for the <code>coverage</code> extent.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../SubspaceNotSpecifiedException.html" title="class in org.apache.sis.coverage">Subspace­Not­Specified­Exception</a></code> - if this method can not infer a two-dimensional slice from <code>slice­Extent</code>.</dd>
<dd><code><a href="DisjointExtentException.html" title="class in org.apache.sis.coverage.grid">Disjoint­Extent­Exception</a></code> - if the given extent does not intersect this grid coverage.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Arithmetic­Exception</a></code> - if a stride calculation overflows the 32 bits integer capacity.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getNumBands()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumBands</h4>
<pre class="methodSignature">public final&nbsp;int&nbsp;getNumBands()</pre>
<div class="block">Returns the number of bands that the image will have. By default, this is the number of
 <a href="GridCoverage.html#getSampleDimensions()">sample dimensions</a> in the grid coverage.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bands in the rendered image.</dd>
</dl>
</li>
</ul>
<a id="getBounds()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBounds</h4>
<pre class="methodSignature">public final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle.html?is-external=true" title="class or interface in java.awt" class="externalLink">Rectangle</a>&nbsp;getBounds()</pre>
<div class="block">Returns the location of the image upper-left corner together with the image size.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the rendered image location and size (never null).</dd>
</dl>
</li>
</ul>
<a id="setData(java.awt.image.DataBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setData</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setData&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">DataBuffer</a>&nbsp;data)</pre>
<div class="block">Sets the data as a Java2D buffer. The <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#getNumBanks()" title="class or interface in java.awt.image" class="externalLink">number of banks</a>
 in the given buffer must be equal to the <a href="#getNumBands()">expected number of bands</a>.
 In each bank, the value located at the <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#getOffsets()" title="class or interface in java.awt.image" class="externalLink">bank offset</a> is the value
 located at <code><a href="GridCoverage.html#getGridGeometry()">Grid­Coverage​.get­Grid­Geometry()</a>.<a href="GridGeometry.html#getExtent()">get­Extent()</a>.<a href="GridExtent.html#getLow(int)">get­Low()</a></code>, as specified in class javadoc.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the Java2D buffer containing data for all bands.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../util/NullArgumentException.html" title="class in org.apache.sis.util">Null­Argument­Exception</a></code> - if <code>data</code> is null.</dd>
<dd><code><a href="../MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">Mismatched­Coverage­Range­Exception</a></code> - if the given data buffer does not have the expected amount of banks.</dd>
</dl>
</li>
</ul>
<a id="setData(int,java.nio.Buffer...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setData</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setData&#8203;(int&nbsp;dataType,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink">Buffer</a>...&nbsp;data)</pre>
<div class="block">Sets the data as NIO buffers. The number of buffers must be equal to the <a href="#getNumBands()">expected
 number of bands</a>. All buffers must be <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true#array()" title="class or interface in java.nio" class="externalLink">backed by arrays</a> of the type specified by
 the <code>data­Type</code> argument and have the same amount of <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true#remaining()" title="class or interface in java.nio" class="externalLink">remaining elements</a>.
 This method wraps the underlying arrays of a primitive type into a Java2D buffer; data are not copied.
 For each buffer, the grid coverage data (not only the slice data) starts at <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true#position()" title="class or interface in java.nio" class="externalLink">buffer position</a> and ends at that position + <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true#remaining()" title="class or interface in java.nio" class="externalLink">remaining</a>.

 <p>The data type must be specified in order to distinguish between the signed and unsigned types.
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_BYTE" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer​.TYPE_BYTE</code></a> and <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_USHORT" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer​.TYPE_USHORT</code></a> are unsigned, all other supported
 types are signed.</p>

 <p><b>Implementation note:</b> the Java2D buffer is set by a call to <a href="#setData(java.awt.image.DataBuffer)"><code>set­Data(Data­Buffer)</code></a>,
 which can be overridden by subclasses if desired.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data­Type</code> - type of data as one of <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_BYTE" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer​.TYPE_BYTE</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_SHORT" title="class or interface in java.awt.image" class="externalLink"><code>TYPE_SHORT</code></a>
         <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_USHORT" title="class or interface in java.awt.image" class="externalLink"><code>TYPE_USHORT</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_INT" title="class or interface in java.awt.image" class="externalLink"><code>TYPE_INT</code></a>,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_FLOAT" title="class or interface in java.awt.image" class="externalLink"><code>TYPE_FLOAT</code></a> or <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true#TYPE_DOUBLE" title="class or interface in java.awt.image" class="externalLink"><code>TYPE_DOUBLE</code></a> constants.</dd>
<dd><code>data</code> - the buffers wrapping arrays of primitive type.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../util/NullArgumentException.html" title="class in org.apache.sis.util">Null­Argument­Exception</a></code> - if <code>data</code> is null or one of <code>data</code> element is null.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­Argument­Exception</a></code> - if <code>data­Type</code> is not a supported value.</dd>
<dd><code><a href="../MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">Mismatched­Coverage­Range­Exception</a></code> - if the number of specified buffers is not equal to the number of bands.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Unsupported­Operation­Exception</a></code> - if a buffer is not backed by an accessible array or is read-only.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArrayStoreException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Array­Store­Exception</a></code> - if a buffer type is incompatible with <code>data­Type</code>.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RasterFormatException.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">Raster­Format­Exception</a></code> - if buffers do not have the same amount of remaining values.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Arithmetic­Exception</a></code> - if a buffer position overflows the 32 bits integer capacity.</dd>
</dl>
</li>
</ul>
<a id="setData(org.apache.sis.math.Vector...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setData</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setData&#8203;(<a href="../../math/Vector.html" title="class in org.apache.sis.math">Vector</a>...&nbsp;data)</pre>
<div class="block">Sets the data as vectors. The number of vectors must be equal to the <a href="#getNumBands()">expected number of bands</a>.
 All vectors must be backed by arrays (indirectly, through <a href="../../math/Vector.html#buffer()">buffers</a> backed by arrays) and have
 the same <a href="../../math/Vector.html#size()">size</a>.
 This method wraps the underlying arrays of a primitive type into a Java2D buffer; data are not copied.

 <p><b>Implementation note:</b> the NIO buffers are set by a call to <a href="#setData(int,java.nio.Buffer...)"><code>set­Data(int, Buffer...)</code></a>,
 which can be overridden by subclasses if desired.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the vectors wrapping arrays of primitive type.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../util/NullArgumentException.html" title="class in org.apache.sis.util">Null­Argument­Exception</a></code> - if <code>data</code> is null or one of <code>data</code> element is null.</dd>
<dd><code><a href="../MismatchedCoverageRangeException.html" title="class in org.apache.sis.coverage">Mismatched­Coverage­Range­Exception</a></code> - if the number of specified vectors is not equal to the number of bands.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Unsupported­Operation­Exception</a></code> - if a vector is not backed by an accessible array or is read-only.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RasterFormatException.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">Raster­Format­Exception</a></code> - if vectors do not have the same size.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Arithmetic­Exception</a></code> - if a buffer position overflows the 32 bits integer capacity.</dd>
</dl>
</li>
</ul>
<a id="setInterleavedPixelOffsets(int,int[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInterleavedPixelOffsets</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setInterleavedPixelOffsets&#8203;(int&nbsp;pixelStride,
                                       int[]&nbsp;bandOffsets)</pre>
<div class="block">Specifies the offsets to add to sample index in each band in order to reach the sample value in the <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer</code></a> bank.
 This method should be invoked when the data given to <code>set­Data(…)</code> contains only one <a href="../../math/Vector.html" title="class in org.apache.sis.math"><code>Vector</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html?is-external=true" title="class or interface in java.nio" class="externalLink"><code>Buffer</code></a> or
 <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/DataBuffer.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Data­Buffer</code></a> bank, and the bands in that unique bank are interleaved.

 <div class="note"><b>Example:</b>
 for an image having three bands named Red (R), Green (G) and Blue (B), if the sample values are stored in a single bank in a
 R₀,G₀,B₀, R₁,G₁,B₁, R₂,G₂,B₂, R₃,G₃,B₃, <i>etc.</i> fashion, then this method should be invoked as below:

 <blockquote><pre><b>setInterleavedPixelOffsets</b>(3, <font color="green">new</font> <font color="green">int</font>[] {0, 1, 2});</pre></blockquote>
 </div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pixel­Stride</code> - the number of data elements between each pixel in the data vector or buffer.</dd>
<dd><code>band­Offsets</code> - offsets to add to sample index in each band. This is typically {0, 1, 2, …}.
                      The length of this array shall be equal to <a href="#getNumBands()"><code>get­Num­Bands()</code></a>.</dd>
</dl>
</li>
</ul>
<a id="raster()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>raster</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/WritableRaster.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">WritableRaster</a>&nbsp;raster()</pre>
<div class="block">Creates a raster with the data specified by the last call to a <code>set­Data(…)</code> method.
 The raster upper-left corner is located at the position given by <a href="#getBounds()"><code>get­Bounds()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the raster.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­State­Exception</a></code> - if no <code>set­Data(…)</code> method has been invoked before this method call.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RasterFormatException.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">Raster­Format­Exception</a></code> - if a call to a <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/WritableRaster.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Writable­Raster</code></a> factory method failed.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Arithmetic­Exception</a></code> - if a property of the raster to construct exceeds the capacity of 32 bits integers.</dd>
</dl>
</li>
</ul>
<a id="image()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>image</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RenderedImage.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">RenderedImage</a>&nbsp;image()</pre>
<div class="block">Creates an image with the data specified by the last call to a <code>set­Data(…)</code> method.
 The image upper-left corner is located at the position given by <a href="#getBounds()"><code>get­Bounds()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the image.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Illegal­State­Exception</a></code> - if no <code>set­Data(…)</code> method has been invoked before this method call.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/RasterFormatException.html?is-external=true" title="class or interface in java.awt.image" class="externalLink">Raster­Format­Exception</a></code> - if a call to a <a href="https://docs.oracle.com/javase/8/docs/api/java/awt/image/WritableRaster.html?is-external=true" title="class or interface in java.awt.image" class="externalLink"><code>Writable­Raster</code></a> factory method failed.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html?is-external=true" title="class or interface in java.lang" class="externalLink">Arithmetic­Exception</a></code> - if a property of the image to construct exceeds the capacity of 32 bits integers.</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="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ImageRenderer.html">Use</a></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&nbsp;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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
