本文整理汇总了Java中javax.imageio.ImageTypeSpecifier.getBufferedImageType方法的典型用法代码示例。如果您正苦于以下问题:Java ImageTypeSpecifier.getBufferedImageType方法的具体用法?Java ImageTypeSpecifier.getBufferedImageType怎么用?Java ImageTypeSpecifier.getBufferedImageType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.imageio.ImageTypeSpecifier
的用法示例。
在下文中一共展示了ImageTypeSpecifier.getBufferedImageType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: canEncodeImage
import javax.imageio.ImageTypeSpecifier; //导入方法依赖的package包/类
private boolean canEncodeImage(String compression,
ImageTypeSpecifier imgType, int rawType)
{
int biType = imgType.getBufferedImageType();
if ((!compression.equals("BI_BITFIELDS")) &&
((rawType == BufferedImage.TYPE_USHORT_565_RGB) ||
(rawType == TYPE_USHORT_565_BGR)))
{
return false;
}
int bpp = imgType.getColorModel().getPixelSize();
if (compression.equals("BI_RLE4") && bpp != 4) {
// only 4bpp images can be encoded as BI_RLE4
return false;
}
if (compression.equals("BI_RLE8") && bpp != 8) {
// only 8bpp images can be encoded as BI_RLE8
return false;
}
if (compression.equals("BI_PNG") &&
((rawType == TYPE_USHORT_555_GRB) ||
(rawType == TYPE_USHORT_555_BGR)))
{
return false;
}
return true;
}
示例2: getPreferredCompressionType
import javax.imageio.ImageTypeSpecifier; //导入方法依赖的package包/类
protected int getPreferredCompressionType(ImageTypeSpecifier imageType) {
if (imageType.getBufferedImageType() == BufferedImage.TYPE_USHORT_565_RGB) {
return BI_BITFIELDS;
}
return BI_RGB;
}
示例3: canEncodeImage
import javax.imageio.ImageTypeSpecifier; //导入方法依赖的package包/类
protected boolean canEncodeImage(int compression, ImageTypeSpecifier imgType) {
ImageWriterSpi spi = this.getOriginatingProvider();
if (!spi.canEncodeImage(imgType)) {
return false;
}
int biType = imgType.getBufferedImageType();
int bpp = imgType.getColorModel().getPixelSize();
if (compressionType == BI_RLE4 && bpp != 4) {
// only 4bpp images can be encoded as BI_RLE4
return false;
}
if (compressionType == BI_RLE8 && bpp != 8) {
// only 8bpp images can be encoded as BI_RLE8
return false;
}
if (bpp == 16) {
/*
* Technically we expect that we may be able to
* encode only some of SinglePixelPackedSampleModel
* images here.
*
* In addition we should take into account following:
*
* 1. BI_RGB case, according to the MSDN description:
*
* The bitmap has a maximum of 2^16 colors. If the
* biCompression member of the BITMAPINFOHEADER is BI_RGB,
* the bmiColors member of BITMAPINFO is NULL. Each WORD
* in the bitmap array represents a single pixel. The
* relative intensities of red, green, and blue are
* represented with five bits for each color component.
*
* 2. BI_BITFIELDS case, according ot the MSDN description:
*
* Windows 95/98/Me: When the biCompression member is
* BI_BITFIELDS, the system supports only the following
* 16bpp color masks: A 5-5-5 16-bit image, where the blue
* mask is 0x001F, the green mask is 0x03E0, and the red mask
* is 0x7C00; and a 5-6-5 16-bit image, where the blue mask
* is 0x001F, the green mask is 0x07E0, and the red mask is
* 0xF800.
*/
boolean canUseRGB = false;
boolean canUseBITFIELDS = false;
SampleModel sm = imgType.getSampleModel();
if (sm instanceof SinglePixelPackedSampleModel) {
int[] sizes =
((SinglePixelPackedSampleModel)sm).getSampleSize();
canUseRGB = true;
canUseBITFIELDS = true;
for (int i = 0; i < sizes.length; i++) {
canUseRGB &= (sizes[i] == 5);
canUseBITFIELDS &= ((sizes[i] == 5) ||
(i == 1 && sizes[i] == 6));
}
}
return (((compressionType == BI_RGB) && canUseRGB) ||
((compressionType == BI_BITFIELDS) && canUseBITFIELDS));
}
return true;
}
示例4: canEncodeImage
import javax.imageio.ImageTypeSpecifier; //导入方法依赖的package包/类
@Override
public boolean canEncodeImage(ImageTypeSpecifier type) {
// TODO: Implement alpha support
return ((type.getNumBands() == 3 && type.getBufferedImageType() == TYPE_3BYTE_BGR) ||
(type.getNumBands() == 1 && type.getBufferedImageType() == TYPE_BYTE_GRAY));
}