mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Merge branch 'master' into 'master'
[Desktop] remove unnecessary codes See merge request core-developers/forge!4619
This commit is contained in:
@@ -1,21 +1,17 @@
|
||||
package forge;
|
||||
|
||||
import java.awt.color.ColorSpace;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.awt.image.ColorConvertOp;
|
||||
import java.awt.image.Raster;
|
||||
import java.io.File;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.imageio.stream.ImageInputStream;
|
||||
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
||||
import com.twelvemonkeys.imageio.ImageReaderBase;
|
||||
import forge.gui.error.BugReporter;
|
||||
import forge.localinstance.properties.ForgePreferences;
|
||||
import forge.model.FModel;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
final class ImageLoader extends CacheLoader<String, BufferedImage> {
|
||||
@Override
|
||||
public BufferedImage load(String key) {
|
||||
@@ -32,39 +28,13 @@ final class ImageLoader extends CacheLoader<String, BufferedImage> {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
//it seems twelvemonkeys plugin handles the cmyk and other non standard colorspace jpeg automaticaly :)
|
||||
return ImageIO.read(file);
|
||||
} catch (Exception e) {
|
||||
//Use TwelveMonkeys to support JPEG "flavors"
|
||||
ImageReaderBase reader = null;
|
||||
try {
|
||||
ImageInputStream input;
|
||||
input = ImageIO.createImageInputStream(file);
|
||||
if (input == null) {
|
||||
System.err.println("ImageIO.createImageInputStream return null");
|
||||
return null;
|
||||
}
|
||||
reader.setInput(input);
|
||||
//Read the image raster
|
||||
Raster raster = reader.readRaster(0, null);
|
||||
//Create a new RGB image
|
||||
BufferedImage bi = new BufferedImage(raster.getWidth(), raster.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);
|
||||
//Fill the new image with the old raster
|
||||
bi.getRaster().setRect(raster);
|
||||
return colorConvert(bi);
|
||||
} catch (Exception ex) {
|
||||
catch (IOException ex) {
|
||||
BugReporter.reportException(ex, "Could not read image file " + file.getAbsolutePath() + " ");
|
||||
} finally {
|
||||
if (reader != null)
|
||||
reader.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
private static BufferedImage colorConvert(BufferedImage img) {
|
||||
BufferedImage bufferedImage = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
|
||||
bufferedImage.getGraphics().drawImage(img, 0, 0, img.getWidth(), img.getHeight(), null);
|
||||
bufferedImage = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_sRGB), null).filter(img, bufferedImage);
|
||||
return bufferedImage;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user