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;
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;
protected Map<String, BufferedImage> loadImages(String imagesPath, ImageFilter filter)
throws ImageException
{
+ return loadImages(imagesPath, filter, DEF_IMAGE_SIZE);
+ }
+
+ protected Map<String, BufferedImage> loadImages(String imagesPath, ImageFilter filter, int size)
+ throws ImageException
+ {
Map<String, BufferedImage> images = new HashMap<>();
try (FileSystemContractor fsc = FileSystemDetector.detect(getImageResourceUri())) {
try (DirectoryStream<Path> ds =
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
)
);
}