more mask options

This commit is contained in:
Kyle
2020-01-01 12:03:33 -08:00
parent 530b1f96f7
commit 64dd1c2859
11 changed files with 30 additions and 13 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -143,7 +143,7 @@ class frameImage {
var tempElement = document.createElement("div"); var tempElement = document.createElement("div");
tempElement.id = "frameIndex" + frameList.indexOf(this); tempElement.id = "frameIndex" + frameList.indexOf(this);
tempElement.classList.add("cardMasterElement"); tempElement.classList.add("cardMasterElement");
tempElement.innerHTML = "<span class='handle'>|||</span><div>" + this.displayName + " (" + targetMask + ") <br><input type='number' min='0' max='100' value='100' class='inputOpacity input' oninput='cardMasterUpdated()'><input type='checkbox' onchange='cardMasterUpdated()'><img src=" + this.image.src + "><img class='cardMasterElementMaskImage' src=" + maskList[maskNameList.indexOf(targetMask.replace(" - Right", ""))].src + "></div><span class='closeCardMasterElement' onclick='deleteCardMasterElement(event)'>x</span>"; tempElement.innerHTML = "<span class='handle'>|||</span><div>" + this.displayName + " (" + targetMask + ") <br><input type='number' min='0' max='100' value='100' class='inputOpacity input' oninput='cardMasterUpdated()'><input type='checkbox' onchange='cardMasterUpdated()'><img src=" + this.image.src + "><img class='cardMasterElementMaskImage' src=" + maskList[maskNameList.indexOf(targetMask.split(" - ")[0])].src + "></div><span class='closeCardMasterElement' onclick='deleteCardMasterElement(event)'>x</span>";
return tempElement return tempElement
} }
framePickerElement(targetElement) { framePickerElement(targetElement) {
@@ -253,11 +253,11 @@ function cardMasterUpdated() {
var frameToDraw = frameList[parseInt(targetChild.id.replace("frameIndex", ""))]; var frameToDraw = frameList[parseInt(targetChild.id.replace("frameIndex", ""))];
var opacityToDraw = targetChild.children[1].children[1].value / 100; var opacityToDraw = targetChild.children[1].children[1].value / 100;
var maskName = targetChild.innerHTML.slice(targetChild.innerHTML.indexOf("(") + 1, targetChild.innerHTML.indexOf(")")); var maskName = targetChild.innerHTML.slice(targetChild.innerHTML.indexOf("(") + 1, targetChild.innerHTML.indexOf(")"));
var rightHalf = false; var sectionMask = "none"
if (maskName.includes(" - Right")) { if (maskName.includes(" - ")) {
maskName = maskName.replace(" - Right", ""); sectionMask = maskName.split(" - ")[1];
rightHalf = true; maskName = maskName.split(" - ")[0];
} }
var maskIndex = frameToDraw.maskOptionList.indexOf(maskName); var maskIndex = frameToDraw.maskOptionList.indexOf(maskName);
var maskImageIndex = maskNameList.indexOf(maskName) var maskImageIndex = maskNameList.indexOf(maskName)
//Clears the temporary mask canvas, draws the mask, draws the image over it, then copies it to the final frame canvas //Clears the temporary mask canvas, draws the mask, draws the image over it, then copies it to the final frame canvas
@@ -265,11 +265,10 @@ function cardMasterUpdated() {
frameMaskContext.clearRect(0, 0, cardWidth, cardHeight); frameMaskContext.clearRect(0, 0, cardWidth, cardHeight);
frameMaskContext.drawImage(maskList[maskImageIndex], 0, 0, cardWidth, cardHeight); frameMaskContext.drawImage(maskList[maskImageIndex], 0, 0, cardWidth, cardHeight);
frameMaskContext.globalCompositeOperation = "source-in"; frameMaskContext.globalCompositeOperation = "source-in";
if (rightHalf) { if (sectionMask != "none") {
frameMaskContext.drawImage(maskList[0], 0, 0, cardWidth, cardHeight) frameMaskContext.drawImage(maskList[maskNameList.indexOf(sectionMask)], 0, 0, cardWidth, cardHeight);
} }
frameMaskContext.drawImage(frameToDraw.image, frameToDraw.xList[maskIndex], frameToDraw.yList[maskIndex], frameToDraw.widthList[maskIndex], frameToDraw.heightList[maskIndex]); frameMaskContext.drawImage(frameToDraw.image, frameToDraw.xList[maskIndex], frameToDraw.yList[maskIndex], frameToDraw.widthList[maskIndex], frameToDraw.heightList[maskIndex]);
// console.log(frameToDraw.image, frameToDraw.xList[maskIndex], frameToDraw.yList[maskIndex], frameToDraw.widthList[maskIndex], frameToDraw.heightList[maskIndex]);
if (targetChild.children[1].children[2].checked == true) { if (targetChild.children[1].children[2].checked == true) {
frameFinalContext.globalCompositeOperation = "destination-out"; frameFinalContext.globalCompositeOperation = "destination-out";
} }
@@ -925,7 +924,7 @@ function filterFramePicker(classToShow) {
function loadSampleImages() { function loadSampleImages() {
var availableSamples = 7; var availableSamples = 10;
var samplesToLoad = [0,0,0]; var samplesToLoad = [0,0,0];
for (var i = 1; i <= samplesToLoad.length; i ++) { for (var i = 1; i <= samplesToLoad.length; i ++) {
var sampleImage = new Image() var sampleImage = new Image()

Binary file not shown.

After

Width:  |  Height:  |  Size: 954 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -0,0 +1,17 @@
//============================================//
// Card Conjurer, by Kyle Burton //
//============================================//
if (!version.addedMoreMasks) {
version.addedMoreMasks = true;
version.masksToAdd = ["Left Half", "Left Third", "Left Two Thirds", "Middle Third", "Right Two Thirds", "Right Third"];
for (var i = 0; i < version.masksToAdd.length; i++) {
if (!maskNameList.includes(version.masksToAdd[i])) {
document.getElementById("addFrameToCardMasterButtons").innerHTML += "<button onclick='addFrameToCardMaster(` - " + version.masksToAdd[i] + "`)' class='button'>Add To " + version.masksToAdd[i] + "</button>"
maskNameList[maskNameList.length] = version.masksToAdd[i];
maskList[maskList.length] = new Image();
maskList[maskList.length - 1].crossOrigin = "anonymous";
maskList[maskList.length - 1].src = "data/images/masks/" + version.masksToAdd[i].replace(/ /g, "") + ".png";
}
}
}

View File

@@ -34,9 +34,9 @@
<div id="framePicker" class="frameGrid"></div> <div id="framePicker" class="frameGrid"></div>
<div id="maskPicker"></div> <div id="maskPicker"></div>
</div> </div>
<div class="splitGrid"> <div class="splitGrid" id="addFrameToCardMasterButtons">
<button onclick="addFrameToCardMaster()" class="button">Add</button> <button onclick="addFrameToCardMaster()" class="button">Add</button>
<button onclick="addFrameToCardMaster(' - Right')" class="button">Add To Right Half</button> <button onclick="addFrameToCardMaster(' - Right Half')" class="button">Add To Right Half</button>
</div> </div>
<div id="selectedFramePreview">No frame selected</div> <div id="selectedFramePreview">No frame selected</div>
<div id="cardMaster"> <div id="cardMaster">
@@ -128,6 +128,7 @@
<div class="paragraph indent"> <div class="paragraph indent">
Click on one of the following buttons to load the described image frame set: Click on one of the following buttons to load the described image frame set:
</div> </div>
<button onclick="changeVersionTo('moreMasks')" class="button">More Masks</button>
<button onclick="changeVersionTo('planeswalker')" class="button">Planeswalker</button> <button onclick="changeVersionTo('planeswalker')" class="button">Planeswalker</button>
<button onclick="changeVersionTo('expedition')" class="button">Expeditions</button> <button onclick="changeVersionTo('expedition')" class="button">Expeditions</button>
<button onclick="changeVersionTo('unhinged')" class="button">Unhinged Basics</button> <button onclick="changeVersionTo('unhinged')" class="button">Unhinged Basics</button>