곰픽 gradient 색상 구하는 부분 변경
This commit is contained in:
@@ -572,9 +572,9 @@
|
|||||||
},
|
},
|
||||||
"7": {
|
"7": {
|
||||||
"type": "gradient",
|
"type": "gradient",
|
||||||
"ele": "//Layer/Shapes/shape/*[starts-with(name(), 'gradiant')]",
|
"ele": "//Layer/Shapes/Shape",
|
||||||
"startColor": "//Layer[contains(Name/@value, 'Layer 3')]//gradient_start_color/@value",
|
"startColor": "gradient_start_color/@value",
|
||||||
"endColor": "//Layer[contains(Name/@value, 'Layer 3')]//gradient_end_color/@value",
|
"endColor": "gradient_end_color/@value",
|
||||||
"value": {
|
"value": {
|
||||||
"startColor": "347813",
|
"startColor": "347813",
|
||||||
"endColor": "041177"
|
"endColor": "041177"
|
||||||
|
|||||||
@@ -320,57 +320,30 @@ function getGpdpScore(gpdpData, scoringJson, index) {
|
|||||||
scoringResult[key] = 0;
|
scoringResult[key] = 0;
|
||||||
console.log("❌ 정답 없음:", rightAnswer);
|
console.log("❌ 정답 없음:", rightAnswer);
|
||||||
}
|
}
|
||||||
// let posX = scoringData[key].posX;
|
|
||||||
// let posY = scoringData[key].posY;
|
|
||||||
|
|
||||||
// let answerWidth = rightAnswer["width"];
|
|
||||||
// let answerHeight = rightAnswer["height"];
|
|
||||||
|
|
||||||
// let width = xpath.select(posX, gpdpXmlDoc);
|
|
||||||
// let height = xpath.select(posY, gpdpXmlDoc);
|
|
||||||
// width = Math.round(width);
|
|
||||||
// height = Math.round(height);
|
|
||||||
|
|
||||||
// console.log(`width:${answerWidth},${width}, height: ${answerHeight},${height}`);
|
|
||||||
// if (answerWidth === width && answerHeight === height) {
|
|
||||||
// totalScore += point;
|
|
||||||
// scoringResult[key] = point;
|
|
||||||
// console.log("same size");
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// scoringResult[key] = 0;
|
|
||||||
// console.log("different size");
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
else if (type == "gradient") {
|
else if (type == "gradient") {
|
||||||
let getStartColorXpath = scoringData[key].startColor;
|
const items = xpath.select(ele, gpdpXmlDoc);
|
||||||
let getEndColorXpath = scoringData[key].endColor;
|
const startColorXpath = scoringData[key].startColor;
|
||||||
|
const endColorXpath = scoringData[key].endColor;
|
||||||
|
let matched = false;
|
||||||
|
|
||||||
let answerStartColor = rightAnswer["startColor"];
|
for ( const item of items) {
|
||||||
let answerEndColor = rightAnswer["endColor"];
|
const startColor = parseColorToHex(xpath.select1(startColorXpath, item)?.value);
|
||||||
|
const endColor = parseColorToHex(xpath.select1(endColorXpath, item)?.value);
|
||||||
|
|
||||||
let startColor = xpath.select1(getStartColorXpath, gpdpXmlDoc)?.value;
|
console.log(startColor + ":" + rightAnswer["startColor"], endColor + ":" + rightAnswer["endColor"]);
|
||||||
let endColor = xpath.select1(getEndColorXpath, gpdpXmlDoc)?.value;
|
|
||||||
|
|
||||||
// console.log(start[0].value, end[0].value);
|
if ( startColor === rightAnswer["startColor"] && endColor === rightAnswer["endColor"]) {
|
||||||
if (start.length == 0 || end.length == 0) {
|
totalScore += point;
|
||||||
console.log("gradient color not found");
|
scoringResult[key] = point;
|
||||||
scoringResult[key] = 0;
|
matched = true;
|
||||||
continue;
|
console.log("✅ 정답 일치:", rightAnswer);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!matched) {
|
||||||
const startHexColor = parseColorToHex(start[0].value);
|
|
||||||
const endHexColor = parseColorToHex(end[0].value);
|
|
||||||
console.log(startHexColor + ":" + answerStartColor, endHexColor + ":" + answerEndColor);
|
|
||||||
|
|
||||||
if (startHexColor === answerStartColor && endHexColor === answerEndColor) {
|
|
||||||
totalScore += point;
|
|
||||||
scoringResult[key] = point;
|
|
||||||
console.log("same color");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
scoringResult[key] = 0;
|
scoringResult[key] = 0;
|
||||||
console.log("different color");
|
console.log("❌ 정답 없음:", rightAnswer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 그림자 속성이 있는지 여부 파악해서 그림자 속성 별로 점수 1 점씩 부여
|
// 그림자 속성이 있는지 여부 파악해서 그림자 속성 별로 점수 1 점씩 부여
|
||||||
|
|||||||
2
z.xbook
2
z.xbook
@@ -1 +1 @@
|
|||||||
[{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"},{"kind":2,"language":"xpath","value":"//Layer//op_points"}]
|
[{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"},{"kind":2,"language":"xpath","value":"//Layer/Shapes/Shape[*[starts-with(name(), 'gradient')]]"},{"kind":2,"language":"xpath","value":"//Layer/Shapes/Shape"}]
|
||||||
Reference in New Issue
Block a user