Skip to content

Commit

Permalink
fix: better image reading errors (#2632)
Browse files Browse the repository at this point in the history
- closes #2593
  • Loading branch information
dordsor21 committed Mar 17, 2024
1 parent dc61efe commit d2ca3ed
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
Expand Up @@ -53,7 +53,7 @@ public HeightBrush(
try {
heightMap = ScalableHeightMap.fromPNG(stream);
} catch (IOException e) {
throw new FaweException(Caption.of("fawe.worldedit.brush.brush.height.invalid"));
throw new FaweException(Caption.of("fawe.worldedit.brush.brush.height.invalid", e.getMessage()));
}
} else if (clipboard != null) {
heightMap = ScalableHeightMap.fromClipboard(clipboard, minY, maxY);
Expand Down
Expand Up @@ -38,6 +38,8 @@
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
Expand Down Expand Up @@ -70,6 +72,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
Expand Down Expand Up @@ -519,8 +522,22 @@ public static File copyFile(File sourceFile, File destFile) throws IOException {
return destFile;
}

public static BufferedImage readImage(InputStream in) throws IOException {
return MainUtil.toRGB(ImageIO.read(in));
public static BufferedImage readImage(InputStream stream) throws IOException {
Iterator<ImageReader> iter = ImageIO.getImageReaders(stream);
if (!iter.hasNext()) {
throw new IOException("Could not get image reader from stream.");
}
ImageReader reader = iter.next();
ImageReadParam param = reader.getDefaultReadParam();
reader.setInput(stream, true, true);
BufferedImage bi;
try {
bi = reader.read(0, param);
} finally {
reader.dispose();
stream.close();
}
return MainUtil.toRGB(bi);
}

public static BufferedImage readImage(URL url) throws IOException {
Expand Down

0 comments on commit d2ca3ed

Please sign in to comment.