diff --git a/data/borders/m15/artifact/legendary.png b/data/borders/m15/artifact/legendary.png
new file mode 100644
index 00000000..7dc0973c
Binary files /dev/null and b/data/borders/m15/artifact/legendary.png differ
diff --git a/data/borders/m15/black/legendary.png b/data/borders/m15/black/legendary.png
index d80dedb8..deb3ea21 100644
Binary files a/data/borders/m15/black/legendary.png and b/data/borders/m15/black/legendary.png differ
diff --git a/data/borders/m15/blackLand/legendary.png b/data/borders/m15/blackLand/legendary.png
new file mode 100644
index 00000000..c1dedc3a
Binary files /dev/null and b/data/borders/m15/blackLand/legendary.png differ
diff --git a/data/borders/m15/blue/legendary.png b/data/borders/m15/blue/legendary.png
index c0c952fe..86663ae3 100644
Binary files a/data/borders/m15/blue/legendary.png and b/data/borders/m15/blue/legendary.png differ
diff --git a/data/borders/m15/blueLand/legendary.png b/data/borders/m15/blueLand/legendary.png
new file mode 100644
index 00000000..17e8017d
Binary files /dev/null and b/data/borders/m15/blueLand/legendary.png differ
diff --git a/data/borders/m15/borderMask.png b/data/borders/m15/borderMask.png
index b9581508..11a252d8 100644
Binary files a/data/borders/m15/borderMask.png and b/data/borders/m15/borderMask.png differ
diff --git a/data/borders/m15/colorless/legendary.png b/data/borders/m15/colorless/legendary.png
new file mode 100644
index 00000000..c8436563
Binary files /dev/null and b/data/borders/m15/colorless/legendary.png differ
diff --git a/data/borders/m15/colorlessLand/legendary.png b/data/borders/m15/colorlessLand/legendary.png
new file mode 100644
index 00000000..0eea19e0
Binary files /dev/null and b/data/borders/m15/colorlessLand/legendary.png differ
diff --git a/data/borders/m15/frameMask.png b/data/borders/m15/frameMask.png
new file mode 100644
index 00000000..ac8a0753
Binary files /dev/null and b/data/borders/m15/frameMask.png differ
diff --git a/data/borders/m15/gold/legendary.png b/data/borders/m15/gold/legendary.png
index b3592f06..364ae1cc 100644
Binary files a/data/borders/m15/gold/legendary.png and b/data/borders/m15/gold/legendary.png differ
diff --git a/data/borders/m15/goldLand/legendary.png b/data/borders/m15/goldLand/legendary.png
new file mode 100644
index 00000000..5cf60aa4
Binary files /dev/null and b/data/borders/m15/goldLand/legendary.png differ
diff --git a/data/borders/m15/green/legendary.png b/data/borders/m15/green/legendary.png
index 6276ab95..ad0bc4b2 100644
Binary files a/data/borders/m15/green/legendary.png and b/data/borders/m15/green/legendary.png differ
diff --git a/data/borders/m15/greenLand/legendary.png b/data/borders/m15/greenLand/legendary.png
new file mode 100644
index 00000000..aef2a911
Binary files /dev/null and b/data/borders/m15/greenLand/legendary.png differ
diff --git a/data/borders/m15/legendFrameMask.png b/data/borders/m15/legendFrameMask.png
new file mode 100644
index 00000000..a20a2dd5
Binary files /dev/null and b/data/borders/m15/legendFrameMask.png differ
diff --git a/data/borders/m15/multicolor_blend_card.png b/data/borders/m15/multicolor_blend_card.png
new file mode 100644
index 00000000..0994f612
Binary files /dev/null and b/data/borders/m15/multicolor_blend_card.png differ
diff --git a/data/borders/m15/rareStampMask.png b/data/borders/m15/rareStampMask.png
new file mode 100644
index 00000000..96d78d86
Binary files /dev/null and b/data/borders/m15/rareStampMask.png differ
diff --git a/data/borders/m15/red/legendary.png b/data/borders/m15/red/legendary.png
index fe5dbb4e..9e1a604e 100644
Binary files a/data/borders/m15/red/legendary.png and b/data/borders/m15/red/legendary.png differ
diff --git a/data/borders/m15/redLand/legendary.png b/data/borders/m15/redLand/legendary.png
new file mode 100644
index 00000000..3939e753
Binary files /dev/null and b/data/borders/m15/redLand/legendary.png differ
diff --git a/data/borders/m15/white/legendary.png b/data/borders/m15/white/legendary.png
index 29e24e56..c49dbe12 100644
Binary files a/data/borders/m15/white/legendary.png and b/data/borders/m15/white/legendary.png differ
diff --git a/data/borders/m15/whiteLand/legendary.png b/data/borders/m15/whiteLand/legendary.png
new file mode 100644
index 00000000..89e7ab0c
Binary files /dev/null and b/data/borders/m15/whiteLand/legendary.png differ
diff --git a/data/borders/m15/artMask.png b/data/borders/old/artMask.png
similarity index 100%
rename from data/borders/m15/artMask.png
rename to data/borders/old/artMask.png
diff --git a/data/borders/m15/borderColorMask.png b/data/borders/old/borderColorMask.png
similarity index 100%
rename from data/borders/m15/borderColorMask.png
rename to data/borders/old/borderColorMask.png
diff --git a/data/borders/borderEdge.png b/data/borders/old/borderEdge.png
similarity index 100%
rename from data/borders/borderEdge.png
rename to data/borders/old/borderEdge.png
diff --git a/data/borders/old/borderMask.png b/data/borders/old/borderMask.png
new file mode 100644
index 00000000..b9581508
Binary files /dev/null and b/data/borders/old/borderMask.png differ
diff --git a/data/borders/m15/legendSilver.png b/data/borders/old/legendSilver.png
similarity index 100%
rename from data/borders/m15/legendSilver.png
rename to data/borders/old/legendSilver.png
diff --git a/data/borders/silverBorder.png b/data/borders/old/silverBorder.png
similarity index 100%
rename from data/borders/silverBorder.png
rename to data/borders/old/silverBorder.png
diff --git a/index.html b/index.html
index 5a6acf01..4e1431da 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
-
+
Card Conjurer
@@ -117,13 +117,13 @@
Set Symbol and Watermark
Set Symbol
-
- Set Code
-
-
- Set Symbol Rarity
-
-
+
+ Set Code
+
+
+ Set Symbol Rarity
+
+
Custom Set Symbol
@@ -359,7 +359,7 @@ html {
background:url(data/background.png) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
- -o-background-size: cover;
+ -o-background-size: cover;
background-size: cover;
}
canvas {
@@ -394,13 +394,13 @@ var m15Info = true
var canvas = document.getElementById("canvas")
var card = canvas.getContext("2d")
//Load dynamic images
-var dynamicImageList = ["borderColor", "secondBorderColor", "thirdBorderColor", "borderCreature", "secondBorderCreature", "thirdBorderCreature", "borderLegendary", "secondBorderLegendary", "thirdBorderLegendary", "borderRareStamp", "secondBorderRareStamp", "art", "artMask", "setSymbol", "watermark", "multiMask", "LegendMultiMask", "legendSilver", "borderColorMask"]
+var dynamicImageList = ["borderColor", "secondBorderColor", "thirdBorderColor", "borderCreature", "secondBorderCreature", "thirdBorderCreature", "borderLegendary", "secondBorderLegendary", "thirdBorderLegendary", "borderRareStamp", "secondBorderRareStamp", "art", "setSymbol", "watermark", "multiMask", "LegendMultiMask", "rareStampMask", "frameMask", "legendFrameMask", "borderMask"]
for (i = 0; i < dynamicImageList.length; i ++) {
var imgName = "img" + dynamicImageList[i].charAt(0).toUpperCase() + dynamicImageList[i].slice(1)
window[imgName] = new Image()
}
//Load static images
-var staticImageList = ["artistBrush", "foil", "stampGradient", "multiGradient", "rareStamp", "cardMask", "silverBorder", "borderEdge"]
+var staticImageList = ["artistBrush", "foil", "stampGradient", "multiGradient", "rareStamp", "cardMask"]
for (i = 0; i < staticImageList.length; i ++) {
var imgName = "img" + staticImageList[i].charAt(0).toUpperCase() + staticImageList[i].slice(1)
window[imgName] = new Image()
@@ -428,7 +428,7 @@ updateBorder()
setInterval(function() {
//Insures that the corners of the final image are transparent
card.globalCompositeOperation = "source-over"
- card.drawImage(imgCardMask, 0, 0, 749, 1044)
+ drawMask(document.getElementById("inputColor").value, 0, 0, canvas.width, canvas.height, imgCardMask, false, false)
card.globalCompositeOperation = "source-atop"
//These functions draw everything
drawPicture()
@@ -468,11 +468,12 @@ function updateBorder() {
//the loadScript function is located in data/scripts/loadScript.js. It sets values to variables such as set symbol coordinates or title font
loadScript("data/borders/" + document.getElementById("borderSelection").value + "border.js")
document.getElementById("colorSelection").value = "white"
- imgArtMask.src = "data/borders/" + document.getElementById("borderSelection").value + "artMask.png"
imgMultiMask.src = "data/borders/" + document.getElementById("borderSelection").value + "multiMask.png"
imgLegendMultiMask.src = "data/borders/" + document.getElementById("borderSelection").value + "legendMultiMask.png"
- imgLegendSilver.src = "data/borders/" + document.getElementById("borderSelection").value + "legendSilver.png"
- imgBorderColorMask.src = "data/borders/" + document.getElementById("borderSelection").value + "borderColorMask.png"
+ imgRareStampMask.src = "data/borders/" + document.getElementById("borderSelection").value + "rareStampMask.png"
+ imgFrameMask.src = "data/borders/" + document.getElementById("borderSelection").value + "frameMask.png"
+ imgLegendFrameMask.src = "data/borders/" + document.getElementById("borderSelection").value + "legendFrameMask.png"
+ imgBorderMask.src = "data/borders/" + document.getElementById("borderSelection").value + "borderMask.png"
updateColor()
}
//Loads the images for the card frame, power toughness box, and rare stamp
@@ -503,6 +504,38 @@ function drawPicture() {
//Draw Border
function drawBorder() {
//These if else statements check to see whether or not to draw different parts of the card, like the legendary border or rare stamp, and draws them in the appropriate order such that when multiple border colors are used the gradients overlap correctly
+ if (document.getElementById("legendaryCheckbox").checked == true && m15Info == true) {
+ drawMask(imgBorderLegendary, 0, 0, canvas.width, canvas.height, imgLegendFrameMask, false, false)
+ if (document.getElementById("checkboxSecondColor").checked == true) {
+ drawMask(imgSecondBorderLegendary, 0, 0, canvas.width, canvas.height, imgLegendFrameMask, imgMultiGradient, "reverseSecond")
+ }
+ if (document.getElementById("checkboxThirdColor").checked == true) {
+ drawMask(imgThirdBorderColor, 0, 0, canvas.width, canvas.height, imgLegendFrameMask, imgLegendMultiMask)
+ }
+ if (document.getElementById("silverBorderCheckbox").checked == true) {
+ drawMask("#a3aeb7", 0, 0, canvas.width, canvas.height, imgBorderMask, imgLegendFrameMask, "reverseSecond")
+ }
+ } else {
+ drawMask(imgBorderColor, 0, 0, canvas.width, canvas.height, imgFrameMask, false, false)
+ if (document.getElementById("checkboxSecondColor").checked == true) {
+ drawMask(imgSecondBorderColor, 0, 0, canvas.width, canvas.height, imgFrameMask, imgMultiGradient, "reverseSecond")
+ }
+ if (document.getElementById("checkboxThirdColor").checked == true) {
+ drawMask(imgThirdBorderColor, 0, 0, canvas.width, canvas.height, imgFrameMask, imgMultiMask, false)
+ }
+ if (document.getElementById("silverBorderCheckbox").checked == true) {
+ drawMask("#a3aeb7", 0, 0, canvas.width, canvas.height, imgBorderMask, imgFrameMask, "reverseSecond")
+ }
+ }
+ if (document.getElementById("rareStampCheckbox").checked == true && m15Info == true) {
+ card.drawImage(imgBorderRareStamp, 329, rareStampY - 15, 90, 50)
+ if (document.getElementById("checkboxSecondColor").checked == true) {
+ drawMask(imgSecondBorderRareStamp, 329, rareStampY - 15, 90, 50, imgSecondBorderRareStamp, imgStampGradient, "reverseSecond")
+ }
+ drawMask(document.getElementById("inputColor").value, 329, rareStampY - 15, 90, 50, imgRareStampMask, false, false)
+ card.drawImage(imgRareStamp, 340, rareStampY, 70, 37)
+ }
+ /*
drawMask(imgBorderColor, 0, 0, canvas.width, canvas.height, imgArtMask, false, false)
if (document.getElementById("checkboxSecondColor").checked == true) {
drawMask(imgSecondBorderColor, 0, 0, canvas.width, canvas.height, imgArtMask, imgMultiGradient, "reverseSecond")
@@ -520,6 +553,8 @@ function drawBorder() {
drawMask(imgThirdBorderColor, 0, 0, canvas.width, canvas.height, imgLegendMultiMask, imgArtMask, false)
}
}
+ //Draws the selected colored border
+ drawMask(document.getElementById("inputColor").value, 0, 0, canvas.width, canvas.height, imgBorderColorMask, false, false)
if (document.getElementById("rareStampCheckbox").checked == true) {
if (imgBorderRareStamp.width != 0) {
card.drawImage(imgBorderRareStamp, 329, rareStampY - 15, 90, 50)
@@ -527,22 +562,21 @@ function drawBorder() {
drawMask(imgSecondBorderRareStamp, 329, rareStampY - 15, 90, 50, imgSecondBorderRareStamp, imgStampGradient, "reverseSecond")
}
}
+ //draws solid color, then holo stamp
+ drawMask(document.getElementById("inputColor").value, 329, rareStampY - 15, 90, 50, imgRareStampMask, false, false)
card.drawImage(imgRareStamp, 340, rareStampY, 70, 37)
}
}
- //Draws the selected colored border
- drawMask(document.getElementById("inputColor").value, 0, 0, canvas.width, canvas.height, imgBorderColorMask, false, false)
if(document.getElementById("legendaryCheckbox").checked == true) {
- //////////////////////////////////////////////////////////////////////////////////////card.drawImage(imgBorderEdge, 0, 0, canvas.width, canvas.height)
if (document.getElementById("silverBorderCheckbox").checked == true) {
drawMask(imgLegendSilver, 0, 0, canvas.width, canvas.height, imgCardMask, false, false)
}
} else {
- /////////////////////////////////////////////////////////////////////////////////////card.drawImage(imgBorderEdge, 0, 0, canvas.width, canvas.height)
if (document.getElementById("silverBorderCheckbox").checked == true) {
card.drawImage(imgSilverBorder, 0, 0, canvas.width, canvas.height)
}
}
+ */
}
//Draw Set Symbol
function drawSetSymbol() {
@@ -648,7 +682,7 @@ function bottomInfoM15() {
var bottomLine = document.getElementById("inputSet").value + " \u00b7 " + document.getElementById("inputLanguage").value
card.fillText(bottomLine, 48, m15InfoY)
var artistBrushShift = card.measureText(bottomLine).width + 58
- card.drawImage(imgArtistBrush, artistBrushShift, m15InfoY + 5, 21, 13)
+ drawMask(card.fillStyle, artistBrushShift, m15InfoY + 5, 21, 13, imgArtistBrush, false, false)
canvas.style.letterSpacing = "1.3px"
card.font = "19.5px relaymedium"
card.fillText(document.getElementById("inputNumber").value, 49, m15InfoY - 20)
@@ -785,7 +819,7 @@ function toggleVisibility(targetClass, self, selfClass, hiddenClass, shownClass)
//runs the autocrop function for the chosen set symbol
function loadSetSymbol() {
- imgSetSymbol.src = "https://raw.githubusercontent.com/ImKyle4815/MTG-Set-Symbols/master/setSymbols/" + document.getElementById("setSymbolCode").value.toUpperCase() + "_" + document.getElementById("setSymbolRarity").value.toUpperCase() + ".png"
+ imgSetSymbol.src = "https://raw.githubusercontent.com/ImKyle4815/MTG-Set-Symbols/master/setSymbols/" + document.getElementById("setSymbolCode").value.toUpperCase() + "_" + document.getElementById("setSymbolRarity").value.toUpperCase() + ".png"
}