mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2025-08-05 04:25:29 -04:00
#374 Added support for TIFF 32 bit float Grayscale
This commit is contained in:
parent
c1fac78f3c
commit
a15e69e019
@ -112,6 +112,9 @@ public final class ImageTypeSpecifiers {
|
||||
// As the ComponentColorModel is broken for 32 bit unsigned int, we'll use our own version
|
||||
return UInt32ImageTypeSpecifier.createInterleaved(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] {0}, false, false);
|
||||
}
|
||||
else if (dataType == DataBuffer.TYPE_FLOAT || dataType == DataBuffer.TYPE_DOUBLE) {
|
||||
return ImageTypeSpecifier.createInterleaved(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] {0}, dataType, false, false);
|
||||
}
|
||||
|
||||
// NOTE: The isSigned boolean is stored but *not used for anything* in the Grayscale ImageTypeSpecifier...
|
||||
return ImageTypeSpecifier.createGrayscale(bits, dataType, false);
|
||||
@ -126,6 +129,9 @@ public final class ImageTypeSpecifiers {
|
||||
// As the ComponentColorModel is broken for 32 bit unsigned int, we'll use our own version
|
||||
return UInt32ImageTypeSpecifier.createInterleaved(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] {0, 1}, true, isAlphaPremultiplied);
|
||||
}
|
||||
else if (dataType == DataBuffer.TYPE_FLOAT || dataType == DataBuffer.TYPE_DOUBLE) {
|
||||
return ImageTypeSpecifier.createInterleaved(ColorSpace.getInstance(ColorSpace.CS_GRAY), new int[] {0, 1}, dataType, true, isAlphaPremultiplied);
|
||||
}
|
||||
|
||||
// NOTE: The isSigned boolean is stored but *not used for anything* in the Grayscale ImageTypeSpecifier...
|
||||
return ImageTypeSpecifier.createGrayscale(bits, dataType, false, isAlphaPremultiplied);
|
||||
|
@ -386,9 +386,21 @@ public class ImageTypeSpecifiersTest {
|
||||
UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0}, false, false),
|
||||
ImageTypeSpecifiers.createGrayscale(32, DataBuffer.TYPE_INT)
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateGrayscaleFloat() {
|
||||
assertEquals(
|
||||
UInt32ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0}, false, false),
|
||||
ImageTypeSpecifiers.createGrayscale(32, DataBuffer.TYPE_INT)
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0}, DataBuffer.TYPE_FLOAT, false, false),
|
||||
ImageTypeSpecifiers.createGrayscale(32, DataBuffer.TYPE_FLOAT)
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateGrayscaleDouble() {
|
||||
assertEquals(
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0}, DataBuffer.TYPE_DOUBLE, false, false),
|
||||
ImageTypeSpecifiers.createGrayscale(64, DataBuffer.TYPE_DOUBLE)
|
||||
);
|
||||
}
|
||||
|
||||
@ -463,6 +475,30 @@ public class ImageTypeSpecifiersTest {
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateGrayscaleAlphaFloat() {
|
||||
assertEquals(
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0, 1}, DataBuffer.TYPE_FLOAT, true, false),
|
||||
ImageTypeSpecifiers.createGrayscale(32, DataBuffer.TYPE_FLOAT, false)
|
||||
);
|
||||
assertEquals(
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0, 1}, DataBuffer.TYPE_FLOAT, true, true),
|
||||
ImageTypeSpecifiers.createGrayscale(32, DataBuffer.TYPE_FLOAT, true)
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreateGrayscaleAlphaDouble() {
|
||||
assertEquals(
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0, 1}, DataBuffer.TYPE_DOUBLE, true, false),
|
||||
ImageTypeSpecifiers.createGrayscale(64, DataBuffer.TYPE_DOUBLE, false)
|
||||
);
|
||||
assertEquals(
|
||||
ImageTypeSpecifier.createInterleaved(GRAY, new int[] {0, 1}, DataBuffer.TYPE_DOUBLE, true, true),
|
||||
ImageTypeSpecifiers.createGrayscale(64, DataBuffer.TYPE_DOUBLE, true)
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreatePackedGrayscale1() {
|
||||
assertEquals(
|
||||
|
Loading…
x
Reference in New Issue
Block a user