当前位置: 首页>>代码示例>>Java>>正文


Java MultiPixelPackedSampleModel.getPixelBitStride方法代码示例

本文整理汇总了Java中java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride方法的典型用法代码示例。如果您正苦于以下问题:Java MultiPixelPackedSampleModel.getPixelBitStride方法的具体用法?Java MultiPixelPackedSampleModel.getPixelBitStride怎么用?Java MultiPixelPackedSampleModel.getPixelBitStride使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.awt.image.MultiPixelPackedSampleModel的用法示例。


在下文中一共展示了MultiPixelPackedSampleModel.getPixelBitStride方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: convertTo1Bit

import java.awt.image.MultiPixelPackedSampleModel; //导入方法依赖的package包/类
/**
 * Convert buffered image src to 1-bit BYTE_BINARY buffered image.
 * @param src Image to convert
 * @return new Buffered image containing 1-bit bitmap
 */
static BufferedImage convertTo1Bit(BufferedImage src) {
    if(src.getType() == BufferedImage.TYPE_BYTE_BINARY){
        MultiPixelPackedSampleModel mppsm = (MultiPixelPackedSampleModel) src.getRaster().getSampleModel();
        if(mppsm.getPixelBitStride() == 1) return src;
    }
    int w = src.getWidth(null);
    int h = src.getHeight(null);

    BufferedImage dstImg = new BufferedImage(w, h,
            BufferedImage.TYPE_BYTE_BINARY);
    dstImg.getGraphics().drawImage(src, 0, 0, null);
    return dstImg;

}
 
开发者ID:shannah,项目名称:cn1,代码行数:20,代码来源:LinuxCursorFactory.java

示例2: BytePackedRaster

import java.awt.image.MultiPixelPackedSampleModel; //导入方法依赖的package包/类
/**
 * Constructs a BytePackedRaster with the given SampleModel,
 * DataBuffer, and parent.  DataBuffer must be a DataBufferByte and
 * SampleModel must be of type MultiPixelPackedSampleModel.
 * When translated into the base Raster's
 * coordinate system, aRegion must be contained by the base Raster.
 * Origin is the coordinate in the new Raster's coordinate system of
 * the origin of the base Raster.  (The base Raster is the Raster's
 * ancestor which has no parent.)
 *
 * Note that this constructor should generally be called by other
 * constructors or create methods, it should not be used directly.
 * @param sampleModel     The SampleModel that specifies the layout.
 * @param dataBuffer      The DataBufferShort that contains the image data.
 * @param aRegion         The Rectangle that specifies the image area.
 * @param origin          The Point that specifies the origin.
 * @param parent          The parent (if any) of this raster.
 *
 * @exception RasterFormatException if the parameters do not conform
 * to requirements of this Raster type.
 */
public BytePackedRaster(SampleModel sampleModel,
                        DataBuffer dataBuffer,
                        Rectangle aRegion,
                        Point origin,
                        BytePackedRaster parent){
    super(sampleModel,dataBuffer,aRegion,origin, parent);
    this.maxX = minX + width;
    this.maxY = minY + height;

    if (!(dataBuffer instanceof DataBufferByte)) {
       throw new RasterFormatException("BytePackedRasters must have" +
            "byte DataBuffers");
    }
    DataBufferByte dbb = (DataBufferByte)dataBuffer;
    this.data = stealData(dbb, 0);
    if (dbb.getNumBanks() != 1) {
        throw new
            RasterFormatException("DataBuffer for BytePackedRasters"+
                                  " must only have 1 bank.");
    }
    int dbOffset = dbb.getOffset();

    if (sampleModel instanceof MultiPixelPackedSampleModel) {
        MultiPixelPackedSampleModel mppsm =
            (MultiPixelPackedSampleModel)sampleModel;
        this.type = IntegerComponentRaster.TYPE_BYTE_BINARY_SAMPLES;
        pixelBitStride = mppsm.getPixelBitStride();
        if (pixelBitStride != 1 &&
            pixelBitStride != 2 &&
            pixelBitStride != 4) {
            throw new RasterFormatException
              ("BytePackedRasters must have a bit depth of 1, 2, or 4");
        }
        scanlineStride = mppsm.getScanlineStride();
        dataBitOffset = mppsm.getDataBitOffset() + dbOffset*8;
        int xOffset = aRegion.x - origin.x;
        int yOffset = aRegion.y - origin.y;
        dataBitOffset += xOffset*pixelBitStride + yOffset*scanlineStride*8;
        bitMask = (1 << pixelBitStride) -1;
        shiftOffset = 8 - pixelBitStride;
    } else {
        throw new RasterFormatException("BytePackedRasters must have"+
            "MultiPixelPackedSampleModel");
    }
    verify(false);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:68,代码来源:BytePackedRaster.java

示例3: BytePackedRaster

import java.awt.image.MultiPixelPackedSampleModel; //导入方法依赖的package包/类
/**
 * Constructs a BytePackedRaster with the given SampleModel,
 * DataBuffer, and parent.  DataBuffer must be a DataBufferByte and
 * SampleModel must be of type MultiPixelPackedSampleModel.
 * When translated into the base Raster's
 * coordinate system, aRegion must be contained by the base Raster.
 * Origin is the coordinate in the new Raster's coordinate system of
 * the origin of the base Raster.  (The base Raster is the Raster's
 * ancestor which has no parent.)
 *
 * Note that this constructor should generally be called by other
 * constructors or create methods, it should not be used directly.
 * @param sampleModel     The SampleModel that specifies the layout.
 * @param dataBuffer      The DataBufferByte that contains the image data.
 * @param aRegion         The Rectangle that specifies the image area.
 * @param origin          The Point that specifies the origin.
 * @param parent          The parent (if any) of this raster.
 *
 * @exception RasterFormatException if the parameters do not conform
 * to requirements of this Raster type.
 */
public BytePackedRaster(SampleModel sampleModel,
                        DataBufferByte dataBuffer,
                        Rectangle aRegion,
                        Point origin,
                        BytePackedRaster parent)
{
    super(sampleModel,dataBuffer,aRegion,origin, parent);
    this.maxX = minX + width;
    this.maxY = minY + height;

    this.data = stealData(dataBuffer, 0);
    if (dataBuffer.getNumBanks() != 1) {
        throw new
            RasterFormatException("DataBuffer for BytePackedRasters"+
                                  " must only have 1 bank.");
    }
    int dbOffset = dataBuffer.getOffset();

    if (sampleModel instanceof MultiPixelPackedSampleModel) {
        MultiPixelPackedSampleModel mppsm =
            (MultiPixelPackedSampleModel)sampleModel;
        this.type = IntegerComponentRaster.TYPE_BYTE_BINARY_SAMPLES;
        pixelBitStride = mppsm.getPixelBitStride();
        if (pixelBitStride != 1 &&
            pixelBitStride != 2 &&
            pixelBitStride != 4) {
            throw new RasterFormatException
              ("BytePackedRasters must have a bit depth of 1, 2, or 4");
        }
        scanlineStride = mppsm.getScanlineStride();
        dataBitOffset = mppsm.getDataBitOffset() + dbOffset*8;
        int xOffset = aRegion.x - origin.x;
        int yOffset = aRegion.y - origin.y;
        dataBitOffset += xOffset*pixelBitStride + yOffset*scanlineStride*8;
        bitMask = (1 << pixelBitStride) -1;
        shiftOffset = 8 - pixelBitStride;
    } else {
        throw new RasterFormatException("BytePackedRasters must have"+
            "MultiPixelPackedSampleModel");
    }
    verify(false);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:64,代码来源:BytePackedRaster.java

示例4: areEqualSampleModels

import java.awt.image.MultiPixelPackedSampleModel; //导入方法依赖的package包/类
/**
 * Determines whether two SampleModels are "equal", i.e.,
 * assignment-compatible.  This signifies that the two SampleModels
 * are either the very same object or are two different objects
 * with identical characteristics.
 */
public boolean areEqualSampleModels(SampleModel sm1, SampleModel sm2) {
    if(sm1 == sm2) {
        // Identical objects.
        return true;
    } else if(sm1.getClass() == sm2.getClass() &&
              sm1.getDataType() == sm2.getDataType() &&
              sm1.getTransferType() == sm2.getTransferType() &&
              sm1.getWidth() == sm2.getWidth() &&
              sm1.getHeight() == sm2.getHeight()) {
        // At this point all common attributes are equivalent. Next test
        // those specific to the known direct subclasses of SampleModel.
        // Subclasses which are not known will always return false.
        if(sm1 instanceof ComponentSampleModel) {
            ComponentSampleModel csm1 = (ComponentSampleModel)sm1;
            ComponentSampleModel csm2 = (ComponentSampleModel)sm2;
            return csm1.getPixelStride() == csm2.getPixelStride() &&
                csm1.getScanlineStride() == csm2.getScanlineStride() &&
                Arrays.equals(csm1.getBankIndices(),
                              csm2.getBankIndices()) &&
                Arrays.equals(csm1.getBandOffsets(),
                              csm2.getBandOffsets());
        } else if(sm1 instanceof MultiPixelPackedSampleModel) {
            MultiPixelPackedSampleModel mpp1 =
                (MultiPixelPackedSampleModel)sm1;
            MultiPixelPackedSampleModel mpp2 =
                (MultiPixelPackedSampleModel)sm2;
            return mpp1.getPixelBitStride() == mpp2.getPixelBitStride() &&
                mpp1.getScanlineStride() == mpp2.getScanlineStride() &&
                mpp1.getDataBitOffset() == mpp2.getDataBitOffset();
        } else if(sm1 instanceof SinglePixelPackedSampleModel) {
            SinglePixelPackedSampleModel spp1 =
                (SinglePixelPackedSampleModel)sm1;
            SinglePixelPackedSampleModel spp2 =
                (SinglePixelPackedSampleModel)sm2;
            return spp1.getScanlineStride() == spp2.getScanlineStride() &&
                Arrays.equals(spp1.getBitMasks(), spp2.getBitMasks());
        }
    }

    return false;
}
 
开发者ID:RoProducts,项目名称:rastertheque,代码行数:48,代码来源:ImageUtil.java


注:本文中的java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。