forked from j62/ctbrec
1
0
Fork 0

Scale down images to 360px to prevent OutOfMemoryErrors

This commit is contained in:
0xboobface 2019-12-31 12:54:27 +01:00
parent abef15a5f7
commit 25fc51521a
1 changed files with 7 additions and 7 deletions

View File

@ -353,25 +353,25 @@ public class ThumbCell extends StackPane {
} }
private void setImage(String url) { private void setImage(String url) {
if(!Objects.equals(System.getenv("CTBREC_DEV"), "1")) { if (!Objects.equals(System.getenv("CTBREC_DEV"), "1")) {
boolean updateThumbs = Config.getInstance().getSettings().updateThumbnails; boolean updateThumbs = Config.getInstance().getSettings().updateThumbnails;
if(updateThumbs || iv.getImage() == null) { if (updateThumbs || iv.getImage() == null) {
imageLoadingThreadPool.submit(() -> { imageLoadingThreadPool.submit(() -> {
Request req = new Request.Builder() Request req = new Request.Builder()
.url(url) .url(url)
.header(USER_AGENT, Config.getInstance().getSettings().httpUserAgent) .header(USER_AGENT, Config.getInstance().getSettings().httpUserAgent)
.build(); .build();
try(Response resp = CamrecApplication.httpClient.execute(req)) { try (Response resp = CamrecApplication.httpClient.execute(req)) {
if(resp.isSuccessful()) { if (resp.isSuccessful()) {
Image img = new Image(resp.body().byteStream()); Image img = new Image(resp.body().byteStream(), 0, 360, true, true);
if(img.progressProperty().get() == 1.0) { if (img.progressProperty().get() == 1.0) {
Platform.runLater(() -> { Platform.runLater(() -> {
iv.setImage(img); iv.setImage(img);
setThumbWidth(Config.getInstance().getSettings().thumbWidth); setThumbWidth(Config.getInstance().getSettings().thumbWidth);
}); });
} else { } else {
img.progressProperty().addListener((ChangeListener<Number>) (observable, oldValue, newValue) -> { img.progressProperty().addListener((ChangeListener<Number>) (observable, oldValue, newValue) -> {
if(newValue.doubleValue() == 1.0) { if (newValue.doubleValue() == 1.0) {
iv.setImage(img); iv.setImage(img);
setThumbWidth(Config.getInstance().getSettings().thumbWidth); setThumbWidth(Config.getInstance().getSettings().thumbWidth);
} }