當前位置: 首頁>>代碼示例>>Java>>正文


Java ImageReadParam.getSourceRegion方法代碼示例

本文整理匯總了Java中javax.imageio.ImageReadParam.getSourceRegion方法的典型用法代碼示例。如果您正苦於以下問題:Java ImageReadParam.getSourceRegion方法的具體用法?Java ImageReadParam.getSourceRegion怎麽用?Java ImageReadParam.getSourceRegion使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.imageio.ImageReadParam的用法示例。


在下文中一共展示了ImageReadParam.getSourceRegion方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: checkImageReadParam

import javax.imageio.ImageReadParam; //導入方法依賴的package包/類
/**
 * <p>
 * Validate that the specified {@link javax.imageio.ImageReadParam} contains
 * only the default values. If non-default values are present,
 * {@link java.io.IOException} is thrown.
 * </p>
 * 
 * @param param
 *            the <code>ImageReadParam</code> to be validated
 * @param head
 *            the <code>TGAHeader</code> that contains information about the
 *            source image
 * @throws IOException
 *             if the <code>ImageReadParam</code> contains non-default
 *             values
 */
private void checkImageReadParam(final ImageReadParam param, final TGAHeader header) throws IOException {
	if (param != null) {
		// get the image height and width from the header for convenience
		final int width = header.getWidth();
		final int height = header.getHeight();

		// ensure that the param contains only the defaults
		final Rectangle sourceROI = param.getSourceRegion();
		if ((sourceROI != null) && ((sourceROI.x != 0) || (sourceROI.y != 0) || (sourceROI.width != width) || (sourceROI.height != height))) {
			throw new IOException("The source region of interest is not the default."); // FIXME:
																						// localize
		} /* else -- the source ROI is the default */

		final Rectangle destinationROI = param.getSourceRegion();
		if ((destinationROI != null) && ((destinationROI.x != 0) || (destinationROI.y != 0) || (destinationROI.width != width) || (destinationROI.height != height))) {
			throw new IOException("The destination region of interest is not the default."); // FIXME:
																								// localize
		} /* else -- the destination ROI is the default */

		if ((param.getSourceXSubsampling() != 1) || (param.getSourceYSubsampling() != 1)) {
			throw new IOException("Source sub-sampling is not supported."); // FIXME:
																			// localize
		} /* else -- sub-sampling is the default */
	} /* else -- the ImageReadParam is null so the defaults *are* used */
}
 
開發者ID:xtremexp,項目名稱:UT4Converter,代碼行數:42,代碼來源:TGAImageReader.java

示例2: checkImageReadParam

import javax.imageio.ImageReadParam; //導入方法依賴的package包/類
/**
 * <p>Validate that the specified {@link javax.imageio.ImageReadParam} 
 * contains only the default values.  If non-default values are present,
 * {@link java.io.IOException} is thrown.</p>
 * 
 * @param  param the <code>ImageReadParam</code> to be validated
 * @param  head the <code>TGAHeader</code> that contains information about
 *         the source image
 * @throws IOException if the <code>ImageReadParam</code> contains non-default
 *         values
 */
private void checkImageReadParam(final ImageReadParam param,
                                 final TGAHeader header)
    throws IOException
{
    if(param != null)
    {
        // get the image height and width from the header for convenience
        final int width = header.getWidth();
        final int height = header.getHeight();
        
        // ensure that the param contains only the defaults
        final Rectangle sourceROI = param.getSourceRegion();
        if( (sourceROI != null) && 
            ( (sourceROI.x != 0) || (sourceROI.y != 0) ||
              (sourceROI.width != width) || (sourceROI.height != height) ) )
        {
            throw new IOException("The source region of interest is not the default."); // FIXME:  localize
        } /* else -- the source ROI is the default */

        final Rectangle destinationROI = param.getSourceRegion();
        if( (destinationROI != null) &&
            ( (destinationROI.x != 0) || (destinationROI.y != 0) ||
              (destinationROI.width != width) || (destinationROI.height != height) ) )
        {
            throw new IOException("The destination region of interest is not the default."); // FIXME:  localize
        } /* else -- the destination ROI is the default */

        if( (param.getSourceXSubsampling() != 1) || 
            (param.getSourceYSubsampling() != 1) )
        {
            throw new IOException("Source sub-sampling is not supported."); // FIXME:  localize
        } /* else -- sub-sampling is the default */
    } /* else -- the ImageReadParam is null so the defaults *are* used */
}
 
開發者ID:Katharsas,項目名稱:GMM,代碼行數:46,代碼來源:TGAImageReader.java

示例3: read

import javax.imageio.ImageReadParam; //導入方法依賴的package包/類
@Override
public BufferedImage read(int imageIndex, ImageReadParam param) throws IOException {
  checkIndex(imageIndex);
  ByteBuffer data = jpegData;
  try {
    int rotation = 0;
    Rectangle region = null;
    Rectangle extraCrop = null;
    if (param instanceof TurboJpegImageReadParam) {
      rotation = ((TurboJpegImageReadParam) param).getRotationDegree();
    }
    if (param != null && param.getSourceRegion() != null) {
      region = param.getSourceRegion();
      scaleRegion(imageIndex, region);
      if (region.x + region.width == getWidth(0)) {
        region.width = 0;
      }
      if (region.y + region.height == getHeight(0)) {
        region.height = 0;
      }
      if (!isRegionFullImage(imageIndex, region)) {
        extraCrop = adjustRegion(info.getMCUSize(), region, rotation);
      } else {
        region = null;
      }
    }
    if (region != null || rotation != 0) {
      data = lib.transform(data.array(), info, region, rotation);
    }
    Info transformedInfo = lib.getInfo(data.array());
    BufferedImage img = lib.decode(
        data.array(), transformedInfo, transformedInfo.getAvailableSizes().get(imageIndex));
    if (extraCrop != null) {
      adjustExtraCrop(imageIndex, transformedInfo, extraCrop);
      img = img.getSubimage(extraCrop.x, extraCrop.y, extraCrop.width, extraCrop.height);
    }
    return img;
  } catch (TurboJpegException e) {
    throw new IOException(e);
  }
}
 
開發者ID:dbmdz,項目名稱:imageio-jnr,代碼行數:42,代碼來源:TurboJpegImageReader.java

示例4: readRaster

import javax.imageio.ImageReadParam; //導入方法依賴的package包/類
/**
 * Read the raw raster data from the image, without any LUTs being applied.
 * Cannot read overlay data, as it isn't clear what the raster format should
 * be for those.
 */
@Override
public Raster readRaster(int imageIndex, ImageReadParam param)
        throws IOException {
    initImageReader(imageIndex);
    if (param == null) {
        param = getDefaultReadParam();
    }
    if (compressed) {
        ImageReadParam param1 = reader.getDefaultReadParam();
        copyReadParam(param, param1);
        return decompressRaster(imageIndex, param1);
    }
    if( pmi.endsWith("422") || pmi.endsWith("420") ) {
        log.debug("Using a 422/420 partial component image reader.");
        if( param.getSourceXSubsampling()!=1
                || param.getSourceYSubsampling()!=1
                || param.getSourceRegion()!=null )
        {
            log.warn("YBR_*_422 and 420 reader does not support source sub-sampling or source region.");
            throw new UnsupportedOperationException("Implement sub-sampling/soure region.");
        }
        SampleModel sm = createSampleModel();
        WritableRaster wr = Raster.createWritableRaster(sm, new Point());
        DataBufferByte dbb = (DataBufferByte) wr.getDataBuffer();
        byte[] data = dbb.getData();
        log.debug("Seeking to "+(pixelDataPos + imageIndex * data.length)+" and reading "+data.length+" bytes.");
        iis.seek(pixelDataPos + imageIndex * data.length);
        iis.read(data);
        if (swapByteOrder) {
            ByteUtils.toggleShortEndian(data);
        }
        return wr;
    }
    Raster raster = reader.readRaster(imageIndex, param);
    if (swapByteOrder) {
        ByteUtils.toggleShortEndian(
                ((DataBufferByte)raster.getDataBuffer()).getData());
    }
    return raster;
}
 
開發者ID:Sofd,項目名稱:viskit,代碼行數:46,代碼來源:RawDicomImageReader.java


注:本文中的javax.imageio.ImageReadParam.getSourceRegion方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。