Enable display of cropped images from full-image files for ENG cards #1037

master
ShawnieBoy 2017-01-16 22:13:52 +00:00
parent 239a962f12
commit b6d1bf6aca
3 changed files with 16 additions and 9 deletions

View File

@ -135,7 +135,7 @@ public class ImageFrame {
return Frame.getBlendedFrame(new BufferedImage(320, 289, BufferedImage.TYPE_INT_ARGB), blend, crop);
} else {
BufferedImage crop = ImageHelper.scale(ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD), 320, 360);
BufferedImage blend =ResourceManager.newFrame(ResourceManager.tokenImageMaskLarge);
BufferedImage blend = ResourceManager.newFrame(ResourceManager.tokenImageMaskLarge);
return Frame.getBlendedFrame(new BufferedImage(320, 360, BufferedImage.TYPE_INT_ARGB), blend, crop);
}
} else {
@ -152,8 +152,12 @@ public class ImageFrame {
return buildDefaultImage(cardDef);
}
private static BufferedImage buildDefaultImage(IRenderableCard cardDef) {
File fullImage = MagicFileSystem.getCardImageFile(cardDef);
if (fullImage.exists()) {
BufferedImage full = ImageHelper.scale(ImageFileIO.toImg(fullImage, MagicImages.MISSING_CARD),375,523);
return full.getSubimage(29, 60, 316, 231);
}
return getCompositeImage(getDefaultBackground(cardDef), getDefaultSymbol(cardDef));
}

View File

@ -14,7 +14,7 @@ import magic.utility.MagicFileSystem;
*/
public final class MagicCardImages {
private enum ImageType {
private enum ImageType {
UNKNOWN,
CUSTOM,
PROXY,
@ -76,8 +76,13 @@ public final class MagicCardImages {
tryDownloadingImage(face);
}
if (MagicFileSystem.getCardImageFile(face).exists()) {
return ImageFileIO.getOptimizedImage(MagicFileSystem.getCardImageFile(face));
if (GeneralConfig.getInstance().getCardTextLanguage() == CardTextLanguage.ENGLISH) {
return face.isPlaneswalker() || face.isFlipCard() || face.isToken() ? ImageFileIO.getOptimizedImage(MagicFileSystem.getCardImageFile(face)) : CardBuilder.getCardBuilderImage(face);
} else {
return ImageFileIO.getOptimizedImage(MagicFileSystem.getCardImageFile(face));
}
}
}
return CardBuilder.getCardBuilderImage(face);
}

View File

@ -18,8 +18,8 @@ class NewGameWorker extends SwingWorker<MagicGame, Void> {
private final DuelDecksScreen screen;
NewGameWorker(final MagicDuel aDuel, final DuelDecksScreen aScreen) {
this.duel = aDuel;
this.screen = aScreen;
duel = aDuel;
screen = aScreen;
}
private Optional<MagicCardDefinition> findFirstProxyCard(MagicDeck aDeck) {
@ -36,9 +36,7 @@ class NewGameWorker extends SwingWorker<MagicGame, Void> {
private void loadCardBuilderIfRequired() {
if (!CardBuilder.IS_LOADED) {
Optional<MagicCardDefinition> proxy = findFirstProxyCardInDecks();
if (proxy.isPresent()) {
CardBuilder.getCardBuilderImage(proxy.get());
}
proxy.ifPresent(CardBuilder::getCardBuilderImage);
}
}