enable images for token permanents

master
ShawnieBoy 2016-10-06 16:53:28 +01:00
parent 5cb834f890
commit 4cc156f75e
2 changed files with 33 additions and 0 deletions

View File

@ -98,6 +98,7 @@ public class CardBuilder {
private static BufferedImage makeToken(IRenderableCard cardDef) {
BufferedImage cardImage = Frame.getTokenFrameType(cardDef);
ImageFrame.drawImage(cardImage,cardDef);
PTFrame.drawPTPanel(cardImage, cardDef);
OracleText.drawOracleText(cardImage, cardDef);
TitleFrame.drawCardName(cardImage, cardDef);

View File

@ -59,6 +59,8 @@ public class ImageFrame {
Graphics2D g2d = card.createGraphics();
if (cardDef.isPlaneswalker()) {
g2d.drawImage(getCardImage(cardDef), null, 27, 54);
} else if (cardDef.isToken()) {
g2d.drawImage(getCardImage(cardDef), null, 29, 64);
} else {
g2d.drawImage(getCardImage(cardDef), null, 29, 60);
}
@ -126,6 +128,16 @@ public class ImageFrame {
BufferedImage blend = GraphicsUtils.scale(ResourceManager.newFrame(ResourceManager.getPlaneswalkerImageBlend), 320, 201);
return Frame.getBlendedFrame(new BufferedImage(320, 210, BufferedImage.TYPE_INT_ARGB), blend, cropSmall);
}
} else if (cardDef.isToken()) {
if (cardDef.hasText()) {
BufferedImage crop = GraphicsUtils.scale(ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD), 320, 289);
BufferedImage blend = ResourceManager.newFrame(ResourceManager.tokenImageMaskSmall);
return Frame.getBlendedFrame(new BufferedImage(320, 289, BufferedImage.TYPE_INT_ARGB), blend, crop);
} else {
BufferedImage crop = GraphicsUtils.scale(ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD), 320, 360);
BufferedImage blend =ResourceManager.newFrame(ResourceManager.tokenImageMaskLarge);
return Frame.getBlendedFrame(new BufferedImage(320, 360, BufferedImage.TYPE_INT_ARGB), blend, crop);
}
} else {
BufferedImage image = ImageFileIO.toImg(cropFile, MagicImages.MISSING_CARD);
return GraphicsUtils.scale(image, 316, 231);
@ -134,6 +146,9 @@ public class ImageFrame {
if (cardDef.isPlaneswalker()) {
return buildPlaneswalkerImage(cardDef);
}
if (cardDef.isToken()) {
return buildTokenImage(cardDef);
}
return buildDefaultImage(cardDef);
}
@ -159,6 +174,23 @@ public class ImageFrame {
return getCompositeImage(image, symbol);
}
private static BufferedImage buildTokenImage(IRenderableCard cardDef) {
int WIDTH= 317;
int HEIGHT;
BufferedImage blend;
if (cardDef.hasText()) {
HEIGHT = 289;
blend = ResourceManager.newFrame(ResourceManager.tokenImageMaskSmall);
} else {
HEIGHT = 360;
blend = ResourceManager.newFrame((ResourceManager.tokenImageMaskLarge));
}
BufferedImage background = GraphicsUtils.scale(getDefaultBackground(cardDef), WIDTH, HEIGHT);
BufferedImage symbol = GraphicsUtils.scale(getDefaultSymbol(cardDef), WIDTH, HEIGHT);
BufferedImage image = Frame.getBlendedFrame(new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB), blend, background);
return getCompositeImage(image,symbol);
}
static BufferedImage getCompositeImage(BufferedImage baseFrame, BufferedImage topFrame) {
//create top Image
Graphics2D graphics2D = topFrame.createGraphics();