Last active
June 28, 2016 11:46
-
-
Save the21st/7db788d0417dbff63d6c4ba6a80b5dc8 to your computer and use it in GitHub Desktop.
failing twelvemonkeys cmyk image load
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.color.ColorSpace | |
import java.io.File | |
import javax.imageio.stream.FileImageInputStream | |
import javax.imageio.{ImageIO, ImageReadParam, ImageTypeSpecifier} | |
import scala.collection.JavaConverters._ | |
val file = new File("cmyk.jpg") | |
val iis = new FileImageInputStream(file) | |
val jpegReaders = ImageIO.getImageReaders(iis).asScala.toVector | |
val reader = jpegReaders.find { reader => | |
reader.getClass.getName == "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader" | |
}.get | |
val cmykImage = { | |
reader.setInput(new FileImageInputStream(file)) | |
val types = reader.getImageTypes(0) | |
val cmykType = types.asScala | |
.find(_.getColorModel.getColorSpace.getType == ColorSpace.TYPE_CMYK).get | |
val param = reader.getDefaultReadParam | |
param.setDestinationType(cmykType) | |
reader.read(0, param) | |
} | |
val rgbImage = { | |
reader.setInput(new FileImageInputStream(file)) | |
val types = reader.getImageTypes(0) | |
val rgbType = types.asScala | |
.find(_.getColorModel.getColorSpace.getType == ColorSpace.TYPE_RGB).get | |
val param: ImageReadParam = reader.getDefaultReadParam | |
param.setDestinationType(rgbType) | |
reader.read(0, param) | |
} | |
assert(cmykImage.getRGB(4, 4) == rgbImage.getRGB(4, 4)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment