X-Git-Url: https://git.hedgecode.org/?p=chesshog.git;a=blobdiff_plain;f=chesshog-graphics%2Fsrc%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fimg%2FAbstractImageLoader.java;fp=chesshog-graphics%2Fsrc%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fimg%2FAbstractImageLoader.java;h=0d3681f5187bd0becf562a70170c7a7880ae967a;hp=c9c4f044f9d09bbcdeb972177c289d10027cfe21;hb=0b24d5b71c19ba38060297084ad39685f76a8539;hpb=cc2bc357ce3c21a0b092af8b2ba3e174d10cac81 diff --git a/chesshog-graphics/src/main/java/org/hedgecode/chess/img/AbstractImageLoader.java b/chesshog-graphics/src/main/java/org/hedgecode/chess/img/AbstractImageLoader.java index c9c4f04..0d3681f 100644 --- a/chesshog-graphics/src/main/java/org/hedgecode/chess/img/AbstractImageLoader.java +++ b/chesshog-graphics/src/main/java/org/hedgecode/chess/img/AbstractImageLoader.java @@ -25,8 +25,6 @@ import java.nio.file.Path; import java.util.HashMap; import java.util.Map; -import javax.imageio.ImageIO; - import org.hedgecode.chess.img.fs.FileSystemDetector; import org.hedgecode.chess.img.fs.FileSystemContractor; @@ -40,6 +38,8 @@ public abstract class AbstractImageLoader implements ImageLoader { private static final String IMAGES_DIR = ImageConstants.RESOURCE_ROOT_DIR.concat(ImageConstants.RESOURCE_IMAGES_DIR); + private static final int DEF_IMAGE_SIZE = 100; + private Type loadType; private URI imageResourceUri; @@ -82,6 +82,12 @@ public abstract class AbstractImageLoader implements ImageLoader { protected Map loadImages(String imagesPath, ImageFilter filter) throws ImageException { + return loadImages(imagesPath, filter, DEF_IMAGE_SIZE); + } + + protected Map loadImages(String imagesPath, ImageFilter filter, int size) + throws ImageException + { Map images = new HashMap<>(); try (FileSystemContractor fsc = FileSystemDetector.detect(getImageResourceUri())) { try (DirectoryStream ds = @@ -89,13 +95,17 @@ public abstract class AbstractImageLoader implements ImageLoader { fsc.getPath(imagesPath), filter ) ) { + ImageFormatShaper formatShaper = ImageFormatShaper.getInstance(); for (Path file : ds) { + String fileName = file.getFileName().toString(); + String baseName = FilenameUtils.getBaseName(fileName).toLowerCase(); + String imageFormat = FilenameUtils.getExtension(fileName).toLowerCase(); images.put( - FilenameUtils.getBaseName( - file.getFileName().toString() - ).toLowerCase(), - ImageIO.read( - fsc.getResourceAsStream(file) + baseName, + formatShaper.shape( + imageFormat, + fsc.getResourceAsStream(file), + size ) ); }