# CSJ2K.j2k.image.Tiler

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="CSJ2K_j2k_image_Tiler" data-uid="CSJ2K.j2k.image.Tiler" class="text-break">Tiler Class
</h1>
  <div class="markdown level0 summary"><p>This class places an image in the canvas coordinate system, tiles it, if so
specified, and performs the coordinate conversions transparently. The
source must be a 'BlkImgDataSrc' which is not tiled and has a the image
origin at the canvas origin (i.e. it is not &quot;canvased&quot;), or an exception is
thrown by the constructor. A tiled and &quot;canvased&quot; output is given through
the 'BlkImgDataSrc' interface. See the 'ImgData' interface for a
description of the canvas and tiling.</p>
<pre><code>       &lt;p&gt;All tiles produced are rectangular, non-overlapping and their union
       covers all the image. However, the tiling may not be uniform, depending on
       the nominal tile size, tiling origin, component subsampling and other
       factors. Therefore it might not be assumed that all tiles are of the same
       width and height.&lt;/p&gt;&lt;p&gt;The nominal dimension of the tiles is the maximal one, in the reference
       grid. All the components of the image have the same number of tiles.&lt;/p&gt;
</code></pre>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="CSJ2K.j2k.image.ImgDataAdapter.html">ImgDataAdapter</a></div>
    <div class="level2"><span class="xref">Tiler</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="CSJ2K.j2k.image.BlkImgDataSrc.html">BlkImgDataSrc</a></div>
    <div><a class="xref" href="CSJ2K.j2k.image.ImgData.html">ImgData</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CSJ2K.j2k.image.html">CSJ2K.j2k.image</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.ReportViewer.4.6.2.dll</h6>
  <h5 id="CSJ2K_j2k_image_Tiler_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class Tiler : ImgDataAdapter, BlkImgDataSrc, ImgData</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class Tiler
    Inherits ImgDataAdapter
    Implements BlkImgDataSrc, ImgData</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler__ctor_CSJ2K_j2k_image_BlkImgDataSrc_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.#ctor(CSJ2K.j2k.image.BlkImgDataSrc,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.-ctor.html#CSJ2K_j2k_image_Tiler__ctor_CSJ2K_j2k_image_BlkImgDataSrc_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_">Tiler(BlkImgDataSrc, int, int, int, int, int, int)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_ImgULX" data-uid="CSJ2K.j2k.image.Tiler.ImgULX">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.ImgULX.html#CSJ2K_j2k_image_Tiler_ImgULX">ImgULX</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the horizontal coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_ImgULY" data-uid="CSJ2K.j2k.image.Tiler.ImgULY">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.ImgULY.html#CSJ2K_j2k_image_Tiler_ImgULY">ImgULY</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the vertical coordinate of the image origin, the top-left
corner, in the canvas system, on the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_NomTileHeight" data-uid="CSJ2K.j2k.image.Tiler.NomTileHeight">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.NomTileHeight.html#CSJ2K_j2k_image_Tiler_NomTileHeight">NomTileHeight</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the nominal width of the tiles in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_NomTileWidth" data-uid="CSJ2K.j2k.image.Tiler.NomTileWidth">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.NomTileWidth.html#CSJ2K_j2k_image_Tiler_NomTileWidth">NomTileWidth</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the nominal width of the tiles in the reference grid.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_TileHeight" data-uid="CSJ2K.j2k.image.Tiler.TileHeight">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.TileHeight.html#CSJ2K_j2k_image_Tiler_TileHeight">TileHeight</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the overall height of the current tile in pixels. This is the
tile's width without accounting for any component subsampling.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_TileIdx" data-uid="CSJ2K.j2k.image.Tiler.TileIdx">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.TileIdx.html#CSJ2K_j2k_image_Tiler_TileIdx">TileIdx</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the index of the current tile, relative to a standard scan-line
order.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_TilePartULX" data-uid="CSJ2K.j2k.image.Tiler.TilePartULX">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.TilePartULX.html#CSJ2K_j2k_image_Tiler_TilePartULX">TilePartULX</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the horizontal tile partition offset in the reference grid</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_TilePartULY" data-uid="CSJ2K.j2k.image.Tiler.TilePartULY">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.TilePartULY.html#CSJ2K_j2k_image_Tiler_TilePartULY">TilePartULY</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the vertical tile partition offset in the reference grid</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_TileWidth" data-uid="CSJ2K.j2k.image.Tiler.TileWidth">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.TileWidth.html#CSJ2K_j2k_image_Tiler_TileWidth">TileWidth</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the overall width of the current tile in pixels. This is the
tile's width without accounting for any component subsampling.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_ToString" data-uid="CSJ2K.j2k.image.Tiler.ToString">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.ToString.html#CSJ2K_j2k_image_Tiler_ToString">ToString()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a String object representing Tiler's informations</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getCompData_CSJ2K_j2k_image_DataBlk_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getCompData.html#CSJ2K_j2k_image_Tiler_getCompData_CSJ2K_j2k_image_DataBlk_System_Int32_">getCompData(DataBlk, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component. The data is
returned, as a copy of the internal data, therefore the returned data
can be modified &quot;in place&quot;.</p>
<pre><code>       &lt;p&gt;The rectangular area to return is specified by the 'ulx', 'uly', 'w'
       and 'h' members of the 'blk' argument, relative to the current
       tile. These members are not modified by this method. The 'offset' of
       the returned data is 0, and the 'scanw' is the same as the block's
       width. See the 'DataBlk' class.&lt;/p&gt;&lt;p&gt;This method, in general, is less efficient than the
       'getInternCompData()' method since, in general, it copies the
       data. However if the array of returned data is to be modified by the
       caller then this method is preferable.&lt;/p&gt;&lt;p&gt;If the data array in 'blk' is 'null', then a new one is created. If
       the data array is not 'null' then it is reused, and it must be large
       enough to contain the block's data. Otherwise an 'ArrayStoreException'
       or an 'IndexOutOfBoundsException' is thrown by the Java system.&lt;/p&gt;&lt;p&gt;The returned data may have its 'progressive' attribute set. In this
       case the returned data is only an approximation of the &quot;final&quot;
       data.&lt;/p&gt;
</code></pre>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getCompULX_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getCompULX(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getCompULX.html#CSJ2K_j2k_image_Tiler_getCompULX_System_Int32_">getCompULX(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the horizontal coordinate of the upper-left corner of the
specified component in the current tile.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getCompULY_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getCompULY(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getCompULY.html#CSJ2K_j2k_image_Tiler_getCompULY_System_Int32_">getCompULY(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the vertical coordinate of the upper-left corner of the
specified component in the current tile.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getFixedPoint_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getFixedPoint(System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getFixedPoint.html#CSJ2K_j2k_image_Tiler_getFixedPoint_System_Int32_">getFixedPoint(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the position of the fixed point in the specified
component. This is the position of the least significant integral
(i.e. non-fractional) bit, which is equivalent to the number of
fractional bits. For instance, for fixed-point values with 2 fractional
bits, 2 is returned. For floating-point data this value does not apply
and 0 should be returned. Position 0 is the position of the least
significant bit in the data.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getInternCompData_CSJ2K_j2k_image_DataBlk_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getInternCompData(CSJ2K.j2k.image.DataBlk,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getInternCompData.html#CSJ2K_j2k_image_Tiler_getInternCompData_CSJ2K_j2k_image_DataBlk_System_Int32_">getInternCompData(DataBlk, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns, in the blk argument, a block of image data containing the
specifed rectangular area, in the specified component. The data is
returned, as a reference to the internal data, if any, instead of as a
copy, therefore the returned data should not be modified.</p>
<pre><code>       &lt;p&gt;The rectangular area to return is specified by the 'ulx', 'uly', 'w'
       and 'h' members of the 'blk' argument, relative to the current
       tile. These members are not modified by this method. The 'offset' and
       'scanw' of the returned data can be arbitrary. See the 'DataBlk'
       class.&lt;/p&gt;&lt;p&gt;This method, in general, is more efficient than the 'getCompData()'
       method since it may not copy the data. However if the array of returned
       data is to be modified by the caller then the other method is probably
       preferable.&lt;/p&gt;&lt;p&gt;If the data array in &lt;tt&gt;blk&lt;/tt&gt; is &lt;tt&gt;null&lt;/tt&gt;, then a new one
       is created if necessary. The implementation of this interface may
       choose to return the same array or a new one, depending on what is more
       efficient. Therefore, the data array in &lt;tt&gt;blk&lt;/tt&gt; prior to the
       method call should not be considered to contain the returned data, a
       new array may have been created. Instead, get the array from
       &lt;tt&gt;blk&lt;/tt&gt; after the method has returned.&lt;/p&gt;&lt;p&gt;The returned data may have its 'progressive' attribute set. In this
       case the returned data is only an approximation of the &quot;final&quot;
       data.&lt;/p&gt;
</code></pre>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getNumTiles" data-uid="CSJ2K.j2k.image.Tiler.getNumTiles">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getNumTiles.html#CSJ2K_j2k_image_Tiler_getNumTiles">getNumTiles()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the total number of tiles in the image.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getNumTiles_CSJ2K_j2k_image_Coord_" data-uid="CSJ2K.j2k.image.Tiler.getNumTiles(CSJ2K.j2k.image.Coord)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getNumTiles.html#CSJ2K_j2k_image_Tiler_getNumTiles_CSJ2K_j2k_image_Coord_">getNumTiles(Coord)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the number of tiles in the horizontal and vertical directions.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getTile_CSJ2K_j2k_image_Coord_" data-uid="CSJ2K.j2k.image.Tiler.getTile(CSJ2K.j2k.image.Coord)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getTile.html#CSJ2K_j2k_image_Tiler_getTile_CSJ2K_j2k_image_Coord_">getTile(Coord)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the horizontal and vertical indexes of the current tile.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getTileCompHeight_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getTileCompHeight(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getTileCompHeight.html#CSJ2K_j2k_image_Tiler_getTileCompHeight_System_Int32_System_Int32_">getTileCompHeight(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the height in pixels of the specified tile-component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getTileCompWidth_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.getTileCompWidth(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getTileCompWidth.html#CSJ2K_j2k_image_Tiler_getTileCompWidth_System_Int32_System_Int32_">getTileCompWidth(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the width in pixels of the specified tile-component.</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_getTilingOrigin_CSJ2K_j2k_image_Coord_" data-uid="CSJ2K.j2k.image.Tiler.getTilingOrigin(CSJ2K.j2k.image.Coord)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.getTilingOrigin.html#CSJ2K_j2k_image_Tiler_getTilingOrigin_CSJ2K_j2k_image_Coord_">getTilingOrigin(Coord)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns the tiling origin, referred to as '(xt0siz,yt0siz)' in the
codestream header (SIZ marker segment).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_nextTile" data-uid="CSJ2K.j2k.image.Tiler.nextTile">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.nextTile.html#CSJ2K_j2k_image_Tiler_nextTile">nextTile()</a>
        </td>
        <td class="markdown level1 summary"><p>Advances to the next tile, in standard scan-line order (by rows then
columns). An NoNextElementException is thrown if the current tile is
the last one (i.e. there is no next tile).</p>
</td>
      </tr>
      <tr>
        <td id="CSJ2K_j2k_image_Tiler_setTile_System_Int32_System_Int32_" data-uid="CSJ2K.j2k.image.Tiler.setTile(System.Int32,System.Int32)">
          <a class="xref" href="CSJ2K.j2k.image.Tiler.setTile.html#CSJ2K_j2k_image_Tiler_setTile_System_Int32_System_Int32_">setTile(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Changes the current tile, given the new tile indexes. An
IllegalArgumentException is thrown if the coordinates do not correspond
to a valid tile.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="seealso">See Also</h3>
  <div class="seealso">
      <div><a class="xref" href="CSJ2K.j2k.image.ImgData.html">ImgData</a></div>
      <div><a class="xref" href="CSJ2K.j2k.image.BlkImgDataSrc.html">BlkImgDataSrc</a></div>
  </div>

</div>
