enable Crops and Default Images for Planeswalkers #588

master
ShawnieBoy 2015-12-23 21:47:57 +00:00
parent 08abe55304
commit 25255e4563
4 changed files with 27 additions and 3 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 870 B

View File

@ -200,6 +200,7 @@ public class ResourceManager {
public static final BufferedImage greenPlaneswalkerHidden = getFrame("transform/planeswalker/gcard2.jpg");
public static final BufferedImage multiPlaneswalkerTransform = getFrame("transform/planeswalker/mcard.jpg");
public static final BufferedImage multiPlaneswalkerHidden = getFrame("transform/planeswalker/mcard2.jpg");
public static final BufferedImage getPlaneswalkerImageBlend = getFrame("planeswalker/imageMask.png");

View File

@ -62,6 +62,7 @@ public class CardBuilder {
private static BufferedImage makePlaneswalker(IRenderableCard cardDef) {
BufferedImage cardImage = Frame.getPlaneswalkerFrameType(cardDef);
ImageFrame.drawImage(cardImage, cardDef);
OracleText.drawPlaneswalkerOracleText(cardImage, cardDef);
PTFrame.drawLoyaltyPanels(cardImage, cardDef);
TitleFrame.drawCardName(cardImage, cardDef);

View File

@ -57,7 +57,11 @@ public class ImageFrame {
static void drawImage(BufferedImage card, IRenderableCard cardDef) {
Graphics2D g2d = card.createGraphics();
g2d.drawImage(getCardImage(cardDef), null, 29, 60);
if (cardDef.isPlaneswalker()){
g2d.drawImage(getCardImage(cardDef), null, 27, 54);
} else {
g2d.drawImage(getCardImage(cardDef), null, 29, 60);
}
g2d.dispose();
}
@ -112,8 +116,18 @@ public class ImageFrame {
public static BufferedImage getCardImage(IRenderableCard cardDef) {
File cropFile = MagicFileSystem.getCroppedCardImageFile(cardDef);
if (cropFile.exists()) {
BufferedImage image = ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD);
return GraphicsUtils.scale(image, 316, 231);
if (cardDef.isPlaneswalker()) {
BufferedImage crop = GraphicsUtils.scale(ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD),320,234);
BufferedImage blend = ResourceManager.newFrame(ResourceManager.getPlaneswalkerImageBlend);
BufferedImage image = Frame.getBlendedFrame(new BufferedImage(320,234,BufferedImage.TYPE_INT_ARGB),blend,crop);
return image;
} else {
BufferedImage image = ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD);
return GraphicsUtils.scale(image, 316, 231);
}
}
if (cardDef.isPlaneswalker()){
return buildPlaneswalkerImage(cardDef);
}
return buildDefaultImage(cardDef);
}
@ -123,6 +137,14 @@ public class ImageFrame {
return getCompositeImage(getDefaultBackground(cardDef), getDefaultSymbol(cardDef));
}
private static BufferedImage buildPlaneswalkerImage(IRenderableCard cardDef) {
BufferedImage background = GraphicsUtils.scale(getDefaultBackground(cardDef),320,234);
BufferedImage blend = ResourceManager.newFrame(ResourceManager.getPlaneswalkerImageBlend);
BufferedImage symbol = GraphicsUtils.scale(getDefaultSymbol(cardDef),320,234);
BufferedImage image = Frame.getBlendedFrame(new BufferedImage(320,234,BufferedImage.TYPE_INT_ARGB),blend,background);
return getCompositeImage(image,symbol);
}
static BufferedImage getCompositeImage(BufferedImage baseFrame, BufferedImage topFrame) {
//create top Image
Graphics2D graphics2D = topFrame.createGraphics();