java.awt.image.SampleModel#getDataType()源码实例Demo

下面列出了java.awt.image.SampleModel#getDataType() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Returns true if the data read was originally signed in the specified
 * component, false if not. This method always returns false since PPM
 * data is always unsigned.
 *
 * @param c The index of the component, from 0 to N-1.
 *
 * @return always false, since PPM data is always unsigned.
 * */
public boolean isOrigSigned(int c) {
    if (isBinary) return true;

    // Check component index
    SampleModel sm = null;
    if (inputIsRaster)
        sm = raster.getSampleModel();
    else
        sm = src.getSampleModel();

    if (sm.getDataType() == DataBuffer.TYPE_USHORT ||
        sm.getDataType() == DataBuffer.TYPE_BYTE)
        return false;
    return true;
}
 
/**
 *  Returns the most efficient FormatTag that is compatible with
 *  the destination raster and all source rasters.
 *
 *  @param srcs the source <code>Raster</code>; may be <code>null</code>.
 *  @param dst  the destination <code>Raster</code>.
 */
public static int findCompatibleTag(Raster src) {
    SampleModel dstSM = src.getSampleModel();
    int dstDT = dstSM.getDataType();

    int defaultDataType = dstSM.getDataType();

    boolean allComponentSampleModel =
         dstSM instanceof ComponentSampleModel;
    boolean allBinary = ImageUtil.isBinary(dstSM);

    if(allBinary) {
        // The copy flag is not set until the mediaLibImage is
        // created as knowing this information requires too much
        // processing to determine here.
        return DataBuffer.TYPE_BYTE | BINARY;
    }

    if (!allComponentSampleModel) {
        if ((defaultDataType == DataBuffer.TYPE_BYTE) ||
            (defaultDataType == DataBuffer.TYPE_USHORT) ||
            (defaultDataType == DataBuffer.TYPE_SHORT)) {
            defaultDataType = DataBuffer.TYPE_INT;
        }
    }

    int tag = defaultDataType | COPIED;

    if (!allComponentSampleModel) {
        return tag;
    }

    if (isPixelSequential(dstSM))
        return dstDT | UNCOPIED;
    return tag;
}
 
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();

    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT)
        throw new IllegalArgumentException(I18N.getString("J2KImageWriter5"));
    if (sm.getNumBands() > 16384)
        throw new IllegalArgumentException(I18N.getString("J2KImageWriter6"));
}
 
源代码4 项目: pdfxtk   文件: Util.java
/** Checks if an image is binary or not.

      @param image image to check
      @return true if it is a binary image */

  public static boolean isBinary(PlanarImage image) {
    SampleModel sm = image.getSampleModel();
    ColorModel cm = image.getColorModel();

    return (sm instanceof MultiPixelPackedSampleModel) &&
      (sm.getDataType() == DataBuffer.TYPE_BYTE) &&
      (sm.getNumBands() == 1) &&
      (sm.getSampleSize(1) == 1);
  }
 
源代码5 项目: sis   文件: ConvertedGridCoverage.java
SampleConverter(SampleModel base, MathTransform1D[] toConverted, MathTransform1D[] toPacked) {
    super(DataBuffer.TYPE_FLOAT, base.getWidth(), base.getHeight(), base.getNumBands());
    this.base         = base;
    this.baseDataType = base.getDataType();
    this.toConverted  = toConverted;
    this.toPacked     = toPacked;
}
 
源代码6 项目: jdk1.8-source-analysis   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码7 项目: dragonwell8_jdk   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
private boolean isOriginalSigned(SampleModel sampleModel) {
    int type = sampleModel.getDataType();
    if (type == DataBuffer.TYPE_BYTE || type == DataBuffer.TYPE_USHORT)
        return false;
    return true;
}
 
源代码9 项目: geowave   文件: WarpNearestOpImage.java
/**
 * Constructs a WarpNearestOpImage.
 *
 * @param source The source image.
 * @param config RenderingHints used in calculations.
 * @param layout The destination image layout.
 * @param warp An object defining the warp algorithm.
 * @param interp An object describing the interpolation method.
 * @param roi input ROI object used.
 * @param noData NoData Range object used for checking if NoData are present.
 */
public WarpNearestOpImage(
    final RenderedImage source,
    final Map<?, ?> config,
    final ImageLayout layout,
    final Warp warp,
    final Interpolation interp,
    final ROI sourceROI,
    final Range noData,
    final double[] bkg) {
  super(
      source,
      layout,
      config,
      false,
      null, // extender not needed in
      // nearest-neighbor
      // interpolation
      interp,
      warp,
      bkg,
      sourceROI,
      noData);

  /*
   * If the source has IndexColorModel, override the default setting in OpImage. The dest shall
   * have exactly the same SampleModel and ColorModel as the source. Note, in this case, the
   * source should have an integral data type.
   */
  final ColorModel srcColorModel = source.getColorModel();
  if (srcColorModel instanceof IndexColorModel) {
    sampleModel = source.getSampleModel().createCompatibleSampleModel(tileWidth, tileHeight);
    colorModel = srcColorModel;
  }

  /*
   * Selection of a destinationNoData value for each datatype
   */
  final SampleModel sm = source.getSampleModel();
  // Source image data Type
  final int srcDataType = sm.getDataType();

  // Creation of a lookuptable containing the values to use for no data
  if ((srcDataType == DataBuffer.TYPE_BYTE) && hasNoData) {
    final int numBands = getNumBands();
    byteLookupTable = new byte[numBands][256];
    for (int b = 0; b < numBands; b++) {
      for (int i = 0; i < byteLookupTable[0].length; i++) {
        final byte value = (byte) i;
        if (noDataRange.contains(value)) {
          byteLookupTable[b][i] = (byte) backgroundValues[b];
        } else {
          byteLookupTable[b][i] = value;
        }
      }
    }
  }
}
 
源代码10 项目: TencentKona-8   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码11 项目: jdk8u60   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码12 项目: JDKSourceCode1.8   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码13 项目: openjdk-jdk8u   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码14 项目: openjdk-jdk8u-backup   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码15 项目: Bytecoder   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码16 项目: openjdk-jdk9   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码17 项目: jdk8u-jdk   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码18 项目: dawnsci   文件: AWTImageUtils.java
static public int[] getDTypeFromImage(final SampleModel sm, boolean keepBitWidth) {
	int dbtype = sm.getDataType();
	final int bits = sm.getSampleSize(0);
	if (dbtype == DataBuffer.TYPE_INT) {
		if (bits <= 8) {
			dbtype = DataBuffer.TYPE_BYTE;
		} else if (bits <= 16) {
			dbtype = DataBuffer.TYPE_SHORT;
		}
	}
	if (dbtype == DataBuffer.TYPE_USHORT) {
		if (bits < 8) {
			dbtype = DataBuffer.TYPE_BYTE;
		} else if (bits < 16) {
			dbtype = DataBuffer.TYPE_SHORT;
		}
	}
	if (dbtype == DataBuffer.TYPE_SHORT) {
		if (bits <= 8) {
			dbtype = DataBuffer.TYPE_BYTE;
		}
	}
	int dtype = -1;
	switch (dbtype) {
	case DataBuffer.TYPE_BYTE:
		dtype = keepBitWidth ? Dataset.INT8 : Dataset.INT16;
		break;
	case DataBuffer.TYPE_SHORT:
		dtype = Dataset.INT16;
		break;
	case DataBuffer.TYPE_USHORT:
		dtype = keepBitWidth ? Dataset.INT16 : Dataset.INT32;
		break;
	case DataBuffer.TYPE_INT:
		dtype = Dataset.INT32;
		break;
	case DataBuffer.TYPE_DOUBLE:
		dtype = Dataset.FLOAT64;
		break;
	case DataBuffer.TYPE_FLOAT:
		dtype = Dataset.FLOAT32;
		break;
	}

	return new int[] {dtype, dbtype == DataBuffer.TYPE_USHORT && !keepBitWidth ? 1 : 0};
}
 
源代码19 项目: jdk8u-dev-jdk   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}
 
源代码20 项目: jdk8u-jdk   文件: WBMPImageWriter.java
private void checkSampleModel(SampleModel sm) {
    int type = sm.getDataType();
    if (type < DataBuffer.TYPE_BYTE || type > DataBuffer.TYPE_INT
        || sm.getNumBands() != 1 || sm.getSampleSize(0) != 1)
        throw new IllegalArgumentException(I18N.getString("WBMPImageWriter2"));
}