下面列出了javax.imageio.plugins.bmp.BMPImageWriteParam#canWriteCompressed ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static Iterator createTestSet(ImageWriter w) {
List l = new LinkedList();
Test.iw = w;
// variate compression types
BMPImageWriteParam param = (BMPImageWriteParam)iw.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("BI_RGB");
if (param.canWriteCompressed()) {
String[] cTypes = param.getCompressionTypes();
String[] cDescr = param.getCompressionQualityDescriptions();
float[] cValues = param.getCompressionQualityValues();
if (cDescr == null) {
System.out.println("There are no compression quality description!");
} else {
for(int i=0; i<cDescr.length; i++) {
System.out.println("Quality[" + i + "]=\""+cDescr[i]+"\"");
}
}
if (cValues == null) {
System.out.println("There are no compression quality values!");
} else {
for(int i=0; i<cValues.length; i++) {
System.out.println("Value["+i+"]=\""+cValues[i]+"\"");
}
}
for(int i=0; i<cTypes.length; i++) {
String compressionType = cTypes[i];
BufferedImage img = null;
int type = BufferedImage.TYPE_INT_BGR;
try {
img = createTestImage(type);
if (compressionType.equals("BI_RLE8")) {
img = createTestImage2(8, DataBuffer.TYPE_BYTE);
} else if (compressionType.equals("BI_RLE4")) {
img = createTestImage3(4, DataBuffer.TYPE_BYTE);
} else if (compressionType.equals("BI_BITFIELDS")) {
img = createTestImage4(32);
}
} catch (IOException ex) {
throw new RuntimeException("Unable to create test image");
}
BMPImageWriteParam p = (BMPImageWriteParam)iw.getDefaultWriteParam();
System.out.println("Current compression type is \""+cTypes[i]+"\"");
p.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
p.setCompressionType(compressionType);
IIOMetadata md = iw.getDefaultImageMetadata(new ImageTypeSpecifier(img), p);
l.add( new Test(p, md, img));
}
}
// }
return l.iterator();
}
public static Iterator createTestSet(ImageWriter w) {
List l = new LinkedList();
Test.iw = w;
// variate compression types
BMPImageWriteParam param = (BMPImageWriteParam)iw.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
param.setCompressionType("BI_RGB");
if (param.canWriteCompressed()) {
String[] cTypes = param.getCompressionTypes();
String[] cDescr = param.getCompressionQualityDescriptions();
float[] cValues = param.getCompressionQualityValues();
if (cDescr == null) {
System.out.println("There are no compression quality description!");
} else {
for(int i=0; i<cDescr.length; i++) {
System.out.println("Quality[" + i + "]=\""+cDescr[i]+"\"");
}
}
if (cValues == null) {
System.out.println("There are no compression quality values!");
} else {
for(int i=0; i<cValues.length; i++) {
System.out.println("Value["+i+"]=\""+cValues[i]+"\"");
}
}
for(int i=0; i<cTypes.length; i++) {
String compressionType = cTypes[i];
BufferedImage img = null;
int type = BufferedImage.TYPE_INT_BGR;
try {
img = createTestImage(type);
if (compressionType.equals("BI_RLE8")) {
img = createTestImage2(8, DataBuffer.TYPE_BYTE);
} else if (compressionType.equals("BI_RLE4")) {
img = createTestImage3(4, DataBuffer.TYPE_BYTE);
} else if (compressionType.equals("BI_BITFIELDS")) {
img = createTestImage4(32);
}
} catch (IOException ex) {
throw new RuntimeException("Unable to create test image");
}
BMPImageWriteParam p = (BMPImageWriteParam)iw.getDefaultWriteParam();
System.out.println("Current compression type is \""+cTypes[i]+"\"");
p.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
p.setCompressionType(compressionType);
IIOMetadata md = iw.getDefaultImageMetadata(new ImageTypeSpecifier(img), p);
l.add( new Test(p, md, img));
}
}
// }
return l.iterator();
}