2508회 채점자료 업데이트

This commit is contained in:
2025-08-27 18:00:29 +09:00
parent 57427f437f
commit d4a5a604ce
57 changed files with 11782 additions and 992 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<CROASTERP Version="1, 0, 0, 4" BM="1" RatioX="0.45287639" RatioY="0.50097466" Fps="30" Resolution="960:540" ForDIAT="1" Relative="1">
<CRClipArr Count="5">
<CRClip Type="3" Path="동영상.mp4"/>
<CRClip Type="4" Sample="0" Path="음악.mp3"/>
<CRClip Type="2" Path="이미지1.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지2.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지3.jpg" ClipLength="120"/>
</CRClipArr>
<CROwneUnitArr Count="3">
<CROwneUnit Type="12">
<CRCUnitArr Name="만화 전시관" ClipLength="150" KindID="1" Type="7" VID505="0" VID506="1" VID508="1" VID507="1" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.39375001" VID601="0.93333334">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-12850177"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="100" VID102="굴림체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="0" SubType="1" VID100="0.30000001" VID101="-16777216"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="1">
<GPStrLine Count="1">
<GPString VID7="만화 전시관" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
<CROwneUnit Type="12">
<CRCUnitArr Name="기본자막" ClipLength="120" KindID="1" Type="7" VID505="0" VID506="1" VID508="1" VID507="1" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.38333333" VID601="0.85000002">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-1"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="70" VID102="나눔고딕"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="0" SubType="1" VID100="0.30000001" VID101="-16777216"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="1">
<GPStrLine Count="1">
<GPString VID7="텍스트를 입력하세요" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
<CROwneUnit Type="12">
<CRCUnitArr Name="만화 세상 (Cartoon World)" ClipLength="120" KindID="1" Type="7" VID505="5" VID506="1" VID508="1" VID507="2" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.32499999" VID601="0.79814816">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-10303732"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="120" VID102="바탕체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="1" SubType="1" VID100="0.2" VID101="-16718337"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="2">
<GPStrLine Count="1">
<GPString VID7="만화 세상" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
<GPStrLine Count="1">
<GPString VID7="(Cartoon World)" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
</CROwneUnitArr>
<CRTrackArr Snap="1" Zoom="21" Length="9000">
<CRVideoTrackArr Count="2">
<CRTrackList Name="비디오1" State="40" Count="4">
<CRTrackClip Type="1" ClipIndex="0" Pos="0" Length="380" ClipLength="-1" Speed="150" Level="0" Mute="1">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="43" VID100="9" VID101="3" VID102="1" VID103="0.69999999"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="4" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="94" VID100="50" VID101="8" VID102="5" VID103="8266522" VID104="1540085" VID105="100"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="3" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="104" VID100="10" VID101="5" VID102="10" VID103="0"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="2" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="102" VID100="2" VID101="5" VID102="10" VID103="5" VID104="5" VID105="5"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
<CRTrackTransEFList Count="3">
<CRTransFilter ID="15" Range="500:560" ClipIndex="1" Type="2"/>
<CRTransFilter ID="35" Range="680:710" ClipIndex="2" Type="2"/>
<CRTransFilter ID="17" Range="800:860" ClipIndex="3" Type="2"/>
</CRTrackTransEFList>
<CRTrackList Name="텍스트" State="32" Count="3">
<CRTrackClip Type="3" ClipIndex="2" Pos="0" Length="120" ClipLength="120" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="0" ClipIndex="-1" Pos="120" Length="40" ClipLength="-1" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="3" ClipIndex="0" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0"/>
</CRTrackList>
</CRVideoTrackArr>
<CRAudioTrackArr Count="1">
<CRTrackList Name="오디오1" State="45" Count="1">
<CRTrackClip Type="0" ClipIndex="1" Pos="0" Length="840" ClipLength="-1" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="2" ID="1" VID8="90"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
</CRAudioTrackArr>
</CRTrackArr>
</CROASTERP>

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<CROASTERP Version="1, 0, 0, 4" BM="1" RatioX="0.45287639" RatioY="0.50097466" Fps="30" Resolution="960:540" ForDIAT="1" Relative="1">
<CRClipArr Count="5">
<CRClip Type="3" Path="동영상.mp4"/>
<CRClip Type="4" Sample="0" Path="음악.mp3"/>
<CRClip Type="2" Path="이미지1.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지2.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지3.jpg" ClipLength="120"/>
</CRClipArr>
<CROwneUnitArr Count="2">
<CROwneUnit Type="12">
<CRCUnitArr Name="하천에 사는 물고기" ClipLength="180" KindID="1" Type="7" VID505="0" VID506="1" VID508="1" VID507="1" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.34583333" VID601="0.94074076">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-911631"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="90" VID102="궁서체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="0" SubType="1" VID100="0.30000001" VID101="-16777216"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="1">
<GPStrLine Count="1">
<GPString VID7="하천에 사는 물고기" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
<CROwneUnit Type="12">
<CRCUnitArr Name="우리나라 하천의 물고기들 (Korean river fish)" ClipLength="150" KindID="1" Type="7" VID505="14" VID506="1" VID508="1" VID507="2" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.18541667" VID601="0.78518522">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-16723732"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="140" VID102="돋움체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="1" SubType="1" VID100="0.1" VID101="-16777156"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="2">
<GPStrLine Count="1">
<GPString VID7="우리나라 하천의 물고기들" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
<GPStrLine Count="1">
<GPString VID7="(Korean river fish)" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
</CROwneUnitArr>
<CRTrackArr Snap="1" Zoom="22" Length="9000">
<CRVideoTrackArr Count="2">
<CRTrackList Name="비디오1" State="44" Count="4">
<CRTrackClip Type="1" ClipIndex="0" Pos="0" Length="380" ClipLength="-1" Speed="150" Level="0" Mute="1">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="40" VID100="30" VID101="0" VID102="1" VID103="0.89999998"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="3" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="104" VID100="10" VID101="5" VID102="9" VID103="0"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="2" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="94" VID100="50" VID101="8" VID102="5" VID103="8266522" VID104="1540085" VID105="100"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="4" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="96" VID100="50" VID101="11" VID102="5" VID103="5" VID104="5" VID105="0" VID106="12008039" VID107="9912112"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
<CRTrackTransEFList Count="3">
<CRTransFilter ID="14" Range="470:530" ClipIndex="1" Type="2"/>
<CRTransFilter ID="95" Range="650:680" ClipIndex="2" Type="2"/>
<CRTransFilter ID="9" Range="800:860" ClipIndex="3" Type="2"/>
</CRTrackTransEFList>
<CRTrackList Name="텍스트" State="32" Count="3">
<CRTrackClip Type="3" ClipIndex="1" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="0" ClipIndex="-1" Pos="0" Length="20" ClipLength="-1" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="3" ClipIndex="0" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0"/>
</CRTrackList>
</CRVideoTrackArr>
<CRAudioTrackArr Count="1">
<CRTrackList Name="오디오1" State="41" Count="1">
<CRTrackClip Type="0" ClipIndex="1" Pos="0" Length="850" ClipLength="-1" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="2" ID="1" VID8="90"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
</CRAudioTrackArr>
</CRTrackArr>
</CROASTERP>

View File

@@ -0,0 +1,737 @@
{
"0": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "none",
"point": 0
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "none",
"point": 0
},
"7": {
"ele": "none",
"point": 0
},
"8": {
"ele": "$[?(@.width == 65 && @.height == 45)]",
"type": "size",
"value": {
"width": 65,
"height": 45
},
"point": 4
},
"9": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"1": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "$.children[?(@.name=='전시실')].name",
"value": "전시실",
"point": 4
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "$.children[?(@.name=='Cartoon Museum')].name",
"value": "Cartoon Museum",
"point": 4
},
"7": {
"ele": "$.children[?(@.name=='Cartoon Museum')].text.font.names[0]",
"type": "font",
"value": "Arial",
"point": 2
},
"8": {
"ele": "$.children[?(@.name=='Cartoon Museum')].text.font.names[0]",
"value": "Arial-BoldItalicMT",
"point": 2
},
"9": {
"ele": "$.children[?(@.name=='Cartoon Museum')].text.font.sizes[0]",
"value": 48,
"point": 2
},
"10": {
"ele": "$.children[?(@.name=='Cartoon Museum')].text.font.colors[0]",
"type": "color",
"value": "3538cc",
"point": 2
},
"11": {
"ele": "none",
"point": 0
},
"12": {
"ele": "none",
"point": 0
},
"13": {
"ele": "none",
"point": 0
},
"14": {
"ele": "$.children[?(@.name=='만화 박물관')].name",
"value": "만화 박물관",
"point": 4
},
"15": {
"ele": "$.children[?(@.name=='만화 박물관')].text.font.names[0]",
"type": "font",
"value": "GungsuhChe",
"point": 2,
"desc": {
"돋움체": "DotumChe",
"궁서체": "GungsuhChe",
"굴림체": "GulimChe",
"휴먼옛체": "YetR"
}
},
"16": {
"ele": "$.children[?(@.name=='만화 박물관')].text.font.sizes[0]",
"value": 36,
"point": 2
},
"17": {
"ele": "$.children[?(@.name=='만화 박물관')].text.font.colors[0]",
"type": "color",
"value": "35b1cc",
"point": 2
},
"18": {
"ele": "none",
"point": 0
},
"19": {
"ele": "none",
"point": 0
},
"20": {
"ele": "none",
"point": 0
},
"21": {
"ele": "none",
"point": 0
},
"22": {
"ele": "$.children[?(@.name=='뱀 캐릭터')].name",
"value": "뱀 캐릭터",
"point": 4
},
"23": {
"ele": "none",
"point": 0
},
"24": {
"ele": "none",
"point": 0
},
"25": {
"ele": "none",
"point": 0
},
"26": {
"ele": "$[?(@.width == 65 && @.height == 35)]",
"type": "size",
"value": {
"width": 65,
"height": 35
},
"point": 5
},
"27": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"2": {
"1": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
"type": "mediaOrder",
"value": ["동영상.mp4", "이미지3.jpg", "이미지2.jpg", "이미지1.jpg"],
"point": 4,
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
},
"2": {
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
"type": "oneAnswer",
"value": {
"speed": "150"
},
"point": 2,
"desc": "100당 1배속 / 130 = 1.3배속"
},
"3": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "startEnd",
"media": "동영상.mp4",
"value": {
"start": "0",
"end": "380"
},
"point": 2,
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
},
"4": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "effect",
"media": "동영상.mp4",
"value": {
"ID": "43",
"VID100": "9",
"VID103": "0.69999999"
},
"point": 3,
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
},
"5": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "만화 전시관",
"type": "video.Text",
"value": "만화 전시관",
"point": 3
},
"6": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "만화 전시관",
"type": "video.Text",
"value": "굴림체",
"point": 2
},
"7": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "만화 전시관",
"type": "video.Text",
"value": "100",
"point": 2
},
"8": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "만화 전시관",
"type": "video.Text.Color",
"value": "ffeb3b",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"9": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
"search": "만화 전시관",
"type": "video.Location",
"value": ["0.39375001", "0.93333334"],
"point": 2,
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
},
"10": {
"ele": "",
"search": "만화 전시관",
"type": "video.StartTime",
"value": 160,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"11": {
"ele": "",
"search": "만화 전시관",
"type": "video.Length",
"value": 150,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"12": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
"type": "Mute",
"media": "동영상.mp4",
"value": "1",
"point": 2
},
"13": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지3.jpg",
"value": 180,
"point": 2
},
"14": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지3.jpg",
"value": {
"ID": "94",
"VID101": "8"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"15": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지3.jpg",
"value": {
"ID": "15",
"Range": "500:560",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"16": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지2.jpg",
"value": 150,
"point": 2
},
"17": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지2.jpg",
"value": {
"ID": "104",
"VID100": "10"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"18": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지2.jpg",
"value": {
"ID": "35",
"Range": "680:710",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"19": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지1.jpg",
"value": 150,
"point": 2
},
"20": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지1.jpg",
"value": {
"ID": "102",
"VID102": "10"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"21": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지1.jpg",
"value": {
"ID": "17",
"Range": "800:860",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"22": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "만화 세상 (Cartoon World)",
"type": "video.Text",
"value": "만화 세상 (Cartoon World)",
"point": 3
},
"23": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "만화 세상 (Cartoon World)",
"type": "video.Text",
"value": "바탕체",
"point": 2
},
"24": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "만화 세상 (Cartoon World)",
"type": "video.Text",
"value": "120",
"point": 2
},
"25": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "만화 세상 (Cartoon World)",
"type": "video.Text.Color",
"value": "0cc762",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"26": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
"search": "만화 세상 (Cartoon World)",
"type": "video.Text.Outline",
"value": {
"width": "20",
"color": "ffe500"
},
"point": 2,
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
},
"27": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
"search": "만화 세상 (Cartoon World)",
"type": "opening.Text.FadeInEffect",
"value": {
"VID505": "5",
"VID507": "2"
},
"point": 3,
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
},
"28": {
"ele": "",
"search": "만화 세상 (Cartoon World)",
"type": "opening.StartTime",
"value": 0,
"point": 2,
"desc": "오프닝자막의 시작시간 value 속성만 수정"
},
"29": {
"ele": "",
"search": "만화 세상 (Cartoon World)",
"type": "opening.Length",
"value": 120,
"point": 2
},
"30": {
"ele": "",
"type": "audio.StartTime",
"media": "음악.mp3",
"value": 0,
"point": 2
},
"31": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "audio.EndTime",
"media": "음악.mp3",
"value": 840,
"point": 2
},
"32": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "audio.Effect",
"media": "음악.mp3",
"value": {
"ID": "1",
"Duration": "30"
},
"point": 2,
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
},
"33": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"4": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "350"],
"point": 5,
"desc": "캔버스 사이즈 650*350"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "자유 변형 문항은 채점 불가"
},
"3": {
"type": "layer.exists",
"ele": "//Layer/Name/@value",
"value": "Flower",
"point": 5,
"desc": "Flower 레이어가 있는지 여부 체크"
},
"4": {
"type": "layer.Effects",
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
"search": "Flower",
"value": {
"name": "생동감",
"option": {
"생동감": "40"
}
},
"point": 5,
"desc": {
"흑백": "강도",
"밝기/대비": ["밝기", "대비"],
"노출": "노출",
"색조/채도": ["색조", "채도", "명도"],
"감마": ["리프트", "감마", "게인"],
"세피아": ["U", "V"],
"생동감": "생동감"
}
},
"5": {
"type": "none",
"ele": "",
"point": 6,
"desc": "올가미 도구/이미지 문항은 채점 불가"
},
"6": {
"type": "exists",
"ele": "//Layer/Effects/Item/Name/@value",
"value": "세피아",
"point": 6,
"desc": "세피아 효과가 있는지 여부 체크"
},
"7": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "ELLIPSE",
"point": 3,
"desc": "레이어 쉐이프 타입이 타원인지 체크"
},
"8": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 120,
"height": 120
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"9": {
"type": "shape.color",
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "7097BB",
"point": 6,
"desc": ""
},
"10": {
"type": "layer.blend.opacity",
"ele": "//Layer",
"value": {
"BlendOp": "반사",
"Opacity": "80"
},
"point": 6
},
"11": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"12": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
},
"5": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "450"],
"point": 5,
"desc": "캔버스 사이즈 650*450"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "배경색 문항은 채점 불가"
},
"3": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Layering",
"point": 6,
"desc": "레이어 마스크 설정 확인"
},
"4": {
"type": "none",
"ele": "",
"point": 6,
"desc": "가로방향 흐릿하게 문항은 채점 불가"
},
"5": {
"type": "exists",
"ele": "//Layer//shape_type/@value",
"value": "ROUNDED_RECTANGLE",
"point": 3
},
"6": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 400,
"height": 60
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"7": {
"type": "gradient.color",
"ele": "//Layer/Shapes/Shape",
"startColor": "gradient_start_color/@value",
"endColor": "gradient_end_color/@value",
"value": {
"startColor": "ffe000",
"endColor": "34A159"
},
"point": 6
},
"8": {
"type": "text.exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
"value": "흰 꽃 사이 노란 꽃",
"point": 5
},
"9": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
"value": "맑은 고딕",
"point": 3
},
"10": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
"style": "Italic",
"value": "True",
"point": 3
},
"11": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
"value": "30",
"point": 3
},
"12": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "b46Ef8",
"point": 3
},
"13": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
"value": "7",
"point": 3
},
"14": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
"value": "ffffff",
"point": 3
},
"15": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Clipping",
"point": 6,
"desc": "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
},
"16": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "RECTANGLE",
"point": 3,
"desc": {
"사각형": "RECTANGLE"
}
},
"17": {
"type": "clipping.size",
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
"option": "RECTANGLE",
"value": {
"width": 150,
"height": 150
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"18": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
"option": "RECTANGLE",
"value": "7",
"point": 3
},
"19": {
"type": "clipping.color",
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
"option": "RECTANGLE",
"value": "e8e88e",
"point": 3,
"desc": "채우기:secondary_color, 외곽선:primary_color"
},
"20": {
"type": "shadow",
"ele": "//Layer//Shape[shape_type/@value='{option}']",
"option": "RECTANGLE",
"value": {
"shadow": true,
"width": "3",
"distance": "5",
"blur": "1",
"angle": "320"
},
"point": 5,
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
},
"21": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"22": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,738 @@
{
"0": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "none",
"point": 0
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "none",
"point": 0
},
"7": {
"ele": "none",
"point": 0
},
"8": {
"ele": "$[?(@.width == 65 && @.height == 45)]",
"type": "size",
"value": {
"width": 65,
"height": 45
},
"point": 4
},
"9": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"1": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "$.children[?(@.name=='하천')].name",
"value": "하천",
"point": 4
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "$.children[?(@.name=='River Ecosystem')].name",
"value": "River Ecosystem",
"point": 4
},
"7": {
"ele": "$.children[?(@.name=='River Ecosystem')].text.font.names[0]",
"type": "font",
"value": "Arial",
"point": 2
},
"8": {
"ele": "$.children[?(@.name=='River Ecosystem')].text.font.names[0]",
"value": "Arial-BoldItalicMT",
"point": 2
},
"9": {
"ele": "$.children[?(@.name=='River Ecosystem')].text.font.sizes[0]",
"value": 48,
"point": 2
},
"10": {
"ele": "$.children[?(@.name=='River Ecosystem')].text.font.colors[0]",
"type": "color",
"value": "439bff",
"point": 2
},
"11": {
"ele": "none",
"point": 0
},
"12": {
"ele": "none",
"point": 0
},
"13": {
"ele": "none",
"point": 0
},
"14": {
"ele": "$.children[?(@.name=='하천 생태계')].name",
"value": "하천 생태계",
"point": 4
},
"15": {
"ele": "$.children[?(@.name=='하천 생태계')].text.font.names[0]",
"type": "font",
"value": "Batang",
"point": 2,
"desc": {
"돋움체": "DotumChe",
"궁서체": "GungsuhChe",
"굴림체": "GulimChe",
"바탕체": "Batang",
"휴먼옛체": "YetR"
}
},
"16": {
"ele": "$.children[?(@.name=='하천 생태계')].text.font.sizes[0]",
"value": 30,
"point": 2
},
"17": {
"ele": "$.children[?(@.name=='하천 생태계')].text.font.colors[0]",
"type": "color",
"value": "ffd543",
"point": 2
},
"18": {
"ele": "none",
"point": 0
},
"19": {
"ele": "none",
"point": 0
},
"20": {
"ele": "none",
"point": 0
},
"21": {
"ele": "none",
"point": 0
},
"22": {
"ele": "$.children[?(@.name=='물고기')].name",
"value": "물고기",
"point": 4
},
"23": {
"ele": "none",
"point": 0
},
"24": {
"ele": "none",
"point": 0
},
"25": {
"ele": "none",
"point": 0
},
"26": {
"ele": "$[?(@.width == 65 && @.height == 35)]",
"type": "size",
"value": {
"width": 65,
"height": 35
},
"point": 5
},
"27": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"2": {
"1": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
"type": "mediaOrder",
"value": ["동영상.mp4", "이미지2.jpg", "이미지1.jpg", "이미지3.jpg"],
"point": 4,
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
},
"2": {
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
"type": "oneAnswer",
"value": {
"speed": "150"
},
"point": 2,
"desc": "100당 1배속 / 130 = 1.3배속"
},
"3": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "startEnd",
"media": "동영상.mp4",
"value": {
"start": "0",
"end": "380"
},
"point": 2,
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
},
"4": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "effect",
"media": "동영상.mp4",
"value": {
"ID": "40",
"VID100": "30",
"VID103": "0.89999998"
},
"point": 3,
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
},
"5": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "하천에 사는 물고기",
"point": 3
},
"6": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "궁서체",
"point": 2
},
"7": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "90",
"point": 2
},
"8": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "하천에 사는 물고기",
"type": "video.Text.Color",
"value": "f116f2",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"9": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
"search": "하천에 사는 물고기",
"type": "video.Location",
"value": ["0.34583333", "0.94074076"],
"point": 2,
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
},
"10": {
"ele": "",
"search": "하천에 사는 물고기",
"type": "video.StartTime",
"value": 170,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"11": {
"ele": "",
"search": "하천에 사는 물고기",
"type": "video.Length",
"value": 180,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"12": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
"type": "Mute",
"media": "동영상.mp4",
"value": "1",
"point": 2
},
"13": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지2.jpg",
"value": 150,
"point": 2
},
"14": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지2.jpg",
"value": {
"ID": "104",
"VID101": "5"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"15": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지2.jpg",
"value": {
"ID": "14",
"Range": "470:530",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"16": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지1.jpg",
"value": 150,
"point": 2
},
"17": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지1.jpg",
"value": {
"ID": "94",
"VID101": "8"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"18": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지1.jpg",
"value": {
"ID": "95",
"Range": "650:680",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"19": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지3.jpg",
"value": 180,
"point": 2
},
"20": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지3.jpg",
"value": {
"ID": "96",
"VID101": "11"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"21": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지3.jpg",
"value": {
"ID": "9",
"Range": "800:860",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"22": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "우리나라 하천의 물고기들 (Korean river fish)",
"point": 3
},
"23": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "돋움체",
"point": 2
},
"24": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "140",
"point": 2
},
"25": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text.Color",
"value": "ecd000",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"26": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text.Outline",
"value": {
"width": "10",
"color": "3c0000"
},
"point": 2,
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
},
"27": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.Text.FadeInEffect",
"value": {
"VID505": "14",
"VID507": "2"
},
"point": 3,
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
},
"28": {
"ele": "",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.StartTime",
"value": 0,
"point": 2,
"desc": "오프닝자막의 시작시간 value 속성만 수정"
},
"29": {
"ele": "",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.Length",
"value": 150,
"point": 2
},
"30": {
"ele": "",
"type": "audio.StartTime",
"media": "음악.mp3",
"value": 0,
"point": 2
},
"31": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "audio.EndTime",
"media": "음악.mp3",
"value": 850,
"point": 2
},
"32": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "audio.Effect",
"media": "음악.mp3",
"value": {
"ID": "1",
"Duration": "90"
},
"point": 2,
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
},
"33": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"4": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "350"],
"point": 5,
"desc": "캔버스 사이즈 650*350"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "자유 변형 문항은 채점 불가"
},
"3": {
"type": "layer.exists",
"ele": "//Layer/Name/@value",
"value": "Flower",
"point": 5,
"desc": "Flower 레이어가 있는지 여부 체크"
},
"4": {
"type": "layer.Effects",
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
"search": "Flower",
"value": {
"name": "생동감",
"option": {
"생동감": "40"
}
},
"point": 5,
"desc": {
"흑백": "강도",
"밝기/대비": ["밝기", "대비"],
"노출": "노출",
"색조/채도": ["색조", "채도", "명도"],
"감마": ["리프트", "감마", "게인"],
"세피아": ["U", "V"],
"생동감": "생동감"
}
},
"5": {
"type": "none",
"ele": "",
"point": 6,
"desc": "올가미 도구/이미지 문항은 채점 불가"
},
"6": {
"type": "exists",
"ele": "//Layer/Effects/Item/Name/@value",
"value": "세피아",
"point": 6,
"desc": "세피아 효과가 있는지 여부 체크"
},
"7": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "ELLIPSE",
"point": 3,
"desc": "레이어 쉐이프 타입이 타원인지 체크"
},
"8": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 120,
"height": 120
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"9": {
"type": "shape.color",
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "7097BB",
"point": 6,
"desc": ""
},
"10": {
"type": "layer.blend.opacity",
"ele": "//Layer",
"value": {
"BlendOp": "반사",
"Opacity": "80"
},
"point": 6
},
"11": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"12": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
},
"5": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "450"],
"point": 5,
"desc": "캔버스 사이즈 650*450"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "배경색 문항은 채점 불가"
},
"3": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Layering",
"point": 6,
"desc": "레이어 마스크 설정 확인"
},
"4": {
"type": "none",
"ele": "",
"point": 6,
"desc": "가로방향 흐릿하게 문항은 채점 불가"
},
"5": {
"type": "exists",
"ele": "//Layer//shape_type/@value",
"value": "ROUNDED_RECTANGLE",
"point": 3
},
"6": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 400,
"height": 60
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"7": {
"type": "gradient.color",
"ele": "//Layer/Shapes/Shape",
"startColor": "gradient_start_color/@value",
"endColor": "gradient_end_color/@value",
"value": {
"startColor": "ffe000",
"endColor": "34A159"
},
"point": 6
},
"8": {
"type": "text.exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
"value": "흰 꽃 사이 노란 꽃",
"point": 5
},
"9": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
"value": "맑은 고딕",
"point": 3
},
"10": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
"style": "Italic",
"value": "True",
"point": 3
},
"11": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
"value": "30",
"point": 3
},
"12": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "b46Ef8",
"point": 3
},
"13": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
"value": "7",
"point": 3
},
"14": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
"value": "ffffff",
"point": 3
},
"15": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Clipping",
"point": 6,
"desc": "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
},
"16": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "RECTANGLE",
"point": 3,
"desc": {
"사각형": "RECTANGLE"
}
},
"17": {
"type": "clipping.size",
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
"option": "RECTANGLE",
"value": {
"width": 150,
"height": 150
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"18": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
"option": "RECTANGLE",
"value": "7",
"point": 3
},
"19": {
"type": "clipping.color",
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
"option": "RECTANGLE",
"value": "e8e88e",
"point": 3,
"desc": "채우기:secondary_color, 외곽선:primary_color"
},
"20": {
"type": "shadow",
"ele": "//Layer//Shape[shape_type/@value='{option}']",
"option": "RECTANGLE",
"value": {
"shadow": true,
"width": "3",
"distance": "5",
"blur": "1",
"angle": "320"
},
"point": 5,
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
},
"21": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"22": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
}
}

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Layers>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Leaf" />
<Visible value="True" />
<Effects>
<Item>
<EffectData>
<brightness value="30" />
<contrast value="0" />
</EffectData>
<Category value="Adjustment" />
<Name value="밝기/대비" />
</Item>
<Item>
<EffectData>
<U value="210" />
<V value="74" />
</EffectData>
<Category value="Adjustment" />
<Name value="세피아" />
</Item>
</Effects>
<Shapes />
</Layer>
<Layer>
<BlendOp value="색 굽기" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="80" />
<Name value="Layer 3" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 0, G: 0, R: 0, A: 255" />
<gradient_end_color value="B: 255, G: 255, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="516.99994" />
<Y value="57.999992" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="596.99994" />
<Y value="137.99998" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 48, G: 48, R: 255, A: 255" />
<secondary_color value="B: 165, G: 77, R: 240, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="30" />
<shadow_width value="50" />
<shadow_blur value="2" />
<shadow_angle value="315" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="ELLIPSE" />
<draw_type value="Interior" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
</Layers>
<Width value="650" />
<Height value="350" />
</Document>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Layers>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="Layering" />
<MaskLayer>
<MaskOpType value="Layered" />
<LayerMaskedSurface value="null" />
<Visible value="True" />
</MaskLayer>
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Layer 2" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Layer 3" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 25, G: 74, R: 226, A: 255" />
<gradient_end_color value="B: 47, G: 236, R: 236, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="61" />
<Y value="47.999992" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="421" />
<Y value="117.999985" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 48, G: 48, R: 255, A: 255" />
<secondary_color value="B: 211, G: 237, R: 0, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="3" />
<shadow_width value="5" />
<shadow_blur value="1" />
<shadow_angle value="320" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="ROUNDED_RECTANGLE" />
<draw_type value="Interior" />
<interior_type value="Gradient" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="공룡의 세계" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<lines>
<Item value="공룡의 세계" />
</lines>
<font>
<Size value="40" />
<Style value="Bold" />
<Bold value="True" />
<Italic value="False" />
<Strikeout value="False" />
<Underline value="False" />
<Name value="돋움체" />
</font>
<alignment value="Left" />
<scaling_enabled value="False" />
<gradient_start_color value="B: 0, G: 0, R: 0, A: 255" />
<gradient_end_color value="B: 255, G: 255, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="73" />
<Y value="37" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="415" />
<Y value="139" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 139, G: 255, R: 255, A: 255" />
<secondary_color value="B: 220, G: 0, R: 130, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="15" />
<shadow_width value="5" />
<shadow_blur value="2" />
<shadow_angle value="315" />
<outline_peninfo>
<Width value="4" />
</outline_peninfo>
<shape_type value="TEXT" />
<draw_type value="Interior, Outline" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Layer 5" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 25, G: 74, R: 226, A: 255" />
<gradient_end_color value="B: 47, G: 236, R: 236, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="409.99994" />
<Y value="243.99994" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="569.99994" />
<Y value="403.99994" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 255, G: 68, R: 131, A: 255" />
<secondary_color value="B: 255, G: 255, R: 255, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="3" />
<shadow_width value="7" />
<shadow_blur value="2" />
<shadow_angle value="320" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="RECTANGLE" />
<draw_type value="Interior, Outline, Shadow" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="Clipping" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="사진3: Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
</Layers>
<Width value="650" />
<Height value="450" />
</Document>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<CROASTERP Version="1, 0, 0, 4" BM="1" RatioX="0.45287639" RatioY="0.50097466" Fps="30" Resolution="960:540" ForDIAT="1" Relative="1">
<CRClipArr Count="5">
<CRClip Type="3" Path="동영상.mp4"/>
<CRClip Type="4" Sample="0" Path="음악.mp3"/>
<CRClip Type="2" Path="이미지1.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지2.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지3.jpg" ClipLength="120"/>
</CRClipArr>
<CROwneUnitArr Count="2">
<CROwneUnit Type="12">
<CRCUnitArr Name="공룡시대" ClipLength="150" KindID="1" Type="7" VID505="0" VID506="1" VID508="1" VID507="1" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.42812499" VID601="0.94074076">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-16717300"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="90" VID102="돋움체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="0" SubType="1" VID100="0.30000001" VID101="-16777216"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="1">
<GPStrLine Count="1">
<GPString VID7="공룡시대" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
<CROwneUnit Type="12">
<CRCUnitArr Name="공룡 탐험 (Dinosaur Exploration)" ClipLength="150" KindID="1" Type="7" VID505="16" VID506="1" VID508="1" VID507="2" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.20416668" VID601="0.78518522">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-13882113"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="140" VID102="바탕체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="1" SubType="1" VID100="0.2" VID101="-11334900"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="2">
<GPStrLine Count="1">
<GPString VID7="공룡 탐험" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
<GPStrLine Count="1">
<GPString VID7="(Dinosaur Exploration)" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
</CROwneUnitArr>
<CRTrackArr Snap="1" Zoom="22" Length="9000">
<CRVideoTrackArr Count="2">
<CRTrackList Name="비디오1" State="44" Count="4">
<CRTrackClip Type="1" ClipIndex="0" Pos="0" Length="370" ClipLength="-1" Speed="140" Level="0" Mute="1">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="40" VID100="30" VID101="0" VID102="1" VID103="1.2"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="4" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="103" VID100="100" VID101="10" VID102="10" VID103="10" VID104="16777215"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="3" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="102" VID100="2" VID101="4" VID102="5" VID103="5" VID104="5" VID105="5"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="2" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="67" VID100="4" VID101="4" VID102="20" VID103="6" VID104="2" VID105="8" VID106="30"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
<CRTrackTransEFList Count="3">
<CRTransFilter ID="11" Range="520:550" ClipIndex="1" Type="2"/>
<CRTransFilter ID="13" Range="700:730" ClipIndex="2" Type="2"/>
<CRTransFilter ID="19" Range="850:880" ClipIndex="3" Type="2"/>
</CRTrackTransEFList>
<CRTrackList Name="텍스트" State="32" Count="3">
<CRTrackClip Type="3" ClipIndex="1" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="0" ClipIndex="-1" Pos="0" Length="20" ClipLength="-1" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="3" ClipIndex="0" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0"/>
</CRTrackList>
</CRVideoTrackArr>
<CRAudioTrackArr Count="1">
<CRTrackList Name="오디오1" State="41" Count="1">
<CRTrackClip Type="0" ClipIndex="1" Pos="0" Length="870" ClipLength="-1" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="2" ID="1" VID8="90"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
</CRAudioTrackArr>
</CRTrackArr>
</CROASTERP>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Layers>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Vacation" />
<Visible value="True" />
<Effects>
<Item>
<EffectData>
<brightness value="0" />
<contrast value="24" />
</EffectData>
<Category value="Adjustment" />
<Name value="밝기/대비" />
</Item>
<Item>
<EffectData>
<U value="61" />
<V value="255" />
</EffectData>
<Category value="Adjustment" />
<Name value="세피아" />
</Item>
</Effects>
<Shapes />
</Layer>
<Layer>
<BlendOp value="색 굽기" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="65" />
<Name value="Layer 2" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 0, G: 0, R: 0, A: 255" />
<gradient_end_color value="B: 255, G: 255, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="41.999992" />
<Y value="182.99998" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="141.99998" />
<Y value="262.99997" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 48, G: 48, R: 255, A: 255" />
<secondary_color value="B: 228, G: 108, R: 49, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="30" />
<shadow_width value="50" />
<shadow_blur value="2" />
<shadow_angle value="315" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="ELLIPSE" />
<draw_type value="Interior" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
</Layers>
<Width value="650" />
<Height value="350" />
</Document>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Layers>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="Layering" />
<MaskLayer>
<MaskOpType value="Layered" />
<LayerMaskedSurface value="null" />
<Visible value="True" />
</MaskLayer>
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="사진2: Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Layer 3" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 83, G: 237, R: 139, A: 255" />
<gradient_end_color value="B: 42, G: 229, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="68.99998" />
<Y value="51.999992" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="568.99994" />
<Y value="111.99999" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 255, G: 255, R: 255, A: 255" />
<secondary_color value="B: 0, G: 0, R: 0, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="30" />
<shadow_width value="50" />
<shadow_blur value="2" />
<shadow_angle value="315" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="RECTANGLE" />
<draw_type value="Interior" />
<interior_type value="Gradient" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="하천의 먹이사슬 구조" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<lines>
<Item value="하천의 먹이사슬 구조" />
</lines>
<font>
<Size value="26" />
<Style value="Underline" />
<Bold value="False" />
<Italic value="False" />
<Strikeout value="False" />
<Underline value="True" />
<Name value="맑은 고딕" />
</font>
<alignment value="Left" />
<scaling_enabled value="False" />
<gradient_start_color value="B: 0, G: 0, R: 0, A: 255" />
<gradient_end_color value="B: 255, G: 255, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="125" />
<Y value="37" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="609" />
<Y value="131" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 255, G: 255, R: 255, A: 255" />
<secondary_color value="B: 165, G: 77, R: 240, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="15" />
<shadow_width value="5" />
<shadow_blur value="2" />
<shadow_angle value="315" />
<outline_peninfo>
<Width value="5" />
</outline_peninfo>
<shape_type value="TEXT" />
<draw_type value="Interior, Outline" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="None" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="Layer 5" />
<Visible value="True" />
<Effects />
<Shapes>
<Shape>
<scaling_enabled value="False" />
<gradient_start_color value="B: 0, G: 0, R: 0, A: 255" />
<gradient_end_color value="B: 42, G: 229, R: 255, A: 255" />
<gradient_type value="LinearClamped" />
<gradient_angle value="0" />
<rectangle_radius value="30" />
<op_points>
<Item>
<IsEmpty value="False" />
<X value="412.99997" />
<Y value="229.99997" />
</Item>
<Item>
<IsEmpty value="False" />
<X value="572.99994" />
<Y value="389.99997" />
</Item>
</op_points>
<angle value="0" />
<primary_color value="B: 170, G: 218, R: 146, A: 255" />
<secondary_color value="B: 0, G: 0, R: 0, A: 255" />
<shadow_color value="B: 0, G: 0, R: 0, A: 178" />
<shadow_distance value="20" />
<shadow_width value="5" />
<shadow_blur value="1" />
<shadow_angle value="320" />
<outline_peninfo>
<Width value="4" />
</outline_peninfo>
<shape_type value="ROUNDED_RECTANGLE" />
<draw_type value="Interior, Outline, Shadow" />
<interior_type value="Fill" />
</Shape>
</Shapes>
</Layer>
<Layer>
<BlendOp value="표준" />
<MaskOpType value="Clipping" />
<MaskLayer value="null" />
<LayerMaskedSurface value="null" />
<Opacity value="100" />
<Name value="사진3: Background" />
<Visible value="True" />
<Effects />
<Shapes />
</Layer>
</Layers>
<Width value="650" />
<Height value="450" />
</Document>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<CROASTERP Version="1, 0, 0, 4" BM="1" RatioX="0.45287639" RatioY="0.50097466" Fps="30" Resolution="960:540" ForDIAT="1" Relative="1">
<CRClipArr Count="5">
<CRClip Type="3" Path="동영상.mp4"/>
<CRClip Type="4" Sample="0" Path="음악.mp3"/>
<CRClip Type="2" Path="이미지1.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지2.jpg" ClipLength="120"/>
<CRClip Type="2" Path="이미지3.jpg" ClipLength="120"/>
</CRClipArr>
<CROwneUnitArr Count="2">
<CROwneUnit Type="12">
<CRCUnitArr Name="하천에 사는 물고기" ClipLength="180" KindID="1" Type="7" VID505="0" VID506="1" VID508="1" VID507="1" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.34583333" VID601="0.94074076">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-911631"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="90" VID102="궁서체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="0" SubType="1" VID100="0.30000001" VID101="-16777216"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="1">
<GPStrLine Count="1">
<GPString VID7="하천에 사는 물고기" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
<CROwneUnit Type="12">
<CRCUnitArr Name="우리나라 하천의 물고기들 (Korean river fish)" ClipLength="150" KindID="1" Type="7" VID505="14" VID506="1" VID508="1" VID507="2" VID509="0" VID510="1" VID512="1" VID511="1" VID502="0" VID503="100" VID600="0.18541667" VID601="0.78518522">
<GPObjectArr Count="1">
<GPObject Type="1">
<GPObjectAtt Type="1" VID100="1">
<GPUnitAttArr Count="4">
<GCUnitPool Type="4" Count="1">
<GCUnit Type="4" VID0="1" SubType="1" VID100="-16723732"/>
</GCUnitPool>
<GCUnitPool Type="1" Count="1">
<GCUnit Type="1" VID0="1" VID100="2" VID101="140" VID102="돋움체"/>
</GCUnitPool>
<GCUnitPool Type="2" Count="1">
<GCUnit Type="2" VID0="1" SubType="1" VID100="0.1" VID101="-16777156"/>
</GCUnitPool>
<GCUnitPool Type="5" Count="1">
<GCUnit Type="5" VID0="0" VID100="0.30000001" VID101="-16777216" VID102="9"/>
</GCUnitPool>
</GPUnitAttArr>
<GCUnitArr Count="1">
<GCUnit GPCUType="5" Type="4" VID0="0" SubType="1" VID100="-16777216"/>
</GCUnitArr>
</GPObjectAtt>
<GPStrLineArr Count="2">
<GPStrLine Count="1">
<GPString VID7="우리나라 하천의 물고기들" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
<GPStrLine Count="1">
<GPString VID7="(Korean river fish)" VID1="0" VID2="0" VID4="0" VID6="0"/>
</GPStrLine>
</GPStrLineArr>
</GPObject>
</GPObjectArr>
</CRCUnitArr>
</CROwneUnit>
</CROwneUnitArr>
<CRTrackArr Snap="1" Zoom="22" Length="9000">
<CRVideoTrackArr Count="2">
<CRTrackList Name="비디오1" State="44" Count="4">
<CRTrackClip Type="1" ClipIndex="0" Pos="0" Length="380" ClipLength="-1" Speed="150" Level="0" Mute="1">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="40" VID100="30" VID101="0" VID102="1" VID103="0.89999998"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="3" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="104" VID100="10" VID101="5" VID102="9" VID103="0"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="2" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="94" VID100="50" VID101="8" VID102="5" VID103="8266522" VID104="1540085" VID105="100"/>
</CRFilterArr>
</CRTrackClip>
<CRTrackClip Type="2" ClipIndex="4" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="1" ID="96" VID100="50" VID101="11" VID102="5" VID103="5" VID104="5" VID105="0" VID106="12008039" VID107="9912112"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
<CRTrackTransEFList Count="3">
<CRTransFilter ID="14" Range="470:530" ClipIndex="1" Type="2"/>
<CRTransFilter ID="95" Range="650:680" ClipIndex="2" Type="2"/>
<CRTransFilter ID="9" Range="800:860" ClipIndex="3" Type="2"/>
</CRTrackTransEFList>
<CRTrackList Name="텍스트" State="32" Count="3">
<CRTrackClip Type="3" ClipIndex="1" Pos="0" Length="150" ClipLength="150" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="0" ClipIndex="-1" Pos="0" Length="20" ClipLength="-1" Speed="-1" Level="0" Mute="0"/>
<CRTrackClip Type="3" ClipIndex="0" Pos="0" Length="180" ClipLength="180" Speed="-1" Level="0" Mute="0"/>
</CRTrackList>
</CRVideoTrackArr>
<CRAudioTrackArr Count="1">
<CRTrackList Name="오디오1" State="41" Count="1">
<CRTrackClip Type="0" ClipIndex="1" Pos="0" Length="850" ClipLength="-1" Speed="-1" Level="0" Mute="0">
<CRFilterArr Count="1">
<CRFilter Type="2" ID="1" VID8="90"/>
</CRFilterArr>
</CRTrackClip>
</CRTrackList>
</CRAudioTrackArr>
</CRTrackArr>
</CROASTERP>

Binary file not shown.

View File

@@ -0,0 +1,737 @@
{
"0": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "none",
"point": 0
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "none",
"point": 0
},
"7": {
"ele": "none",
"point": 0
},
"8": {
"ele": "$[?(@.width == 65 && @.height == 45)]",
"type": "size",
"value": {
"width": 65,
"height": 45
},
"point": 4
},
"9": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"1": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "$.children[?(@.name=='산책길')].name",
"value": "산책길",
"point": 4
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "$.children[?(@.name=='Healing Forest')].name",
"value": "Healing Forest",
"point": 4
},
"7": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.names[0]",
"type": "font",
"value": "Arial",
"point": 2
},
"8": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.names[0]",
"value": "Arial-BoldItalicMT",
"point": 2
},
"9": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.sizes[0]",
"value": 48,
"point": 2
},
"10": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.colors[0]",
"type": "color",
"value": "d93009",
"point": 2
},
"11": {
"ele": "none",
"point": 0
},
"12": {
"ele": "none",
"point": 0
},
"13": {
"ele": "none",
"point": 0
},
"14": {
"ele": "$.children[?(@.name=='치유의 숲')].name",
"value": "치유의 숲",
"point": 4
},
"15": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.names[0]",
"type": "font",
"value": "GungsuhChe",
"point": 2,
"desc": {
"돋움체": "DotumChe",
"궁서체": "GungsuhChe",
"굴림체": "GulimChe",
"휴먼옛체": "YetR"
}
},
"16": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.sizes[0]",
"value": 36,
"point": 2
},
"17": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.colors[0]",
"type": "color",
"value": "19ea4a",
"point": 2
},
"18": {
"ele": "none",
"point": 0
},
"19": {
"ele": "none",
"point": 0
},
"20": {
"ele": "none",
"point": 0
},
"21": {
"ele": "none",
"point": 0
},
"22": {
"ele": "$.children[?(@.name=='조각상')].name",
"value": "조각상",
"point": 4
},
"23": {
"ele": "none",
"point": 0
},
"24": {
"ele": "none",
"point": 0
},
"25": {
"ele": "none",
"point": 0
},
"26": {
"ele": "$[?(@.width == 65 && @.height == 35)]",
"type": "size",
"value": {
"width": 65,
"height": 35
},
"point": 5
},
"27": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"2": {
"1": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
"type": "mediaOrder",
"value": ["동영상.mp4", "이미지3.jpg", "이미지2.jpg", "이미지1.jpg"],
"point": 4,
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
},
"2": {
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
"type": "oneAnswer",
"value": {
"speed": "140"
},
"point": 2,
"desc": "100당 1배속 / 130 = 1.3배속"
},
"3": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "startEnd",
"media": "동영상.mp4",
"value": {
"start": "0",
"end": "370"
},
"point": 2,
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
},
"4": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "effect",
"media": "동영상.mp4",
"value": {
"ID": "40",
"VID100": "30",
"VID103": "1.2"
},
"point": 3,
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
},
"5": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "공룡시대",
"type": "video.Text",
"value": "공룡시대",
"point": 3
},
"6": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "공룡시대",
"type": "video.Text",
"value": "돋움체",
"point": 2
},
"7": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "공룡시대",
"type": "video.Text",
"value": "90",
"point": 2
},
"8": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "공룡시대",
"type": "video.Text.Color",
"value": "0cea00",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"9": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
"search": "공룡시대",
"type": "video.Location",
"value": ["0.42812499", "0.94074076"],
"point": 2,
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
},
"10": {
"ele": "",
"search": "공룡시대",
"type": "video.StartTime",
"value": 170,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"11": {
"ele": "",
"search": "공룡시대",
"type": "video.Length",
"value": 150,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"12": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
"type": "Mute",
"media": "동영상.mp4",
"value": "1",
"point": 2
},
"13": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지3.jpg",
"value": 180,
"point": 2
},
"14": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지3.jpg",
"value": {
"ID": "103",
"VID102": "10"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"15": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지3.jpg",
"value": {
"ID": "11",
"Range": "520:550",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"16": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지2.jpg",
"value": 180,
"point": 2
},
"17": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지2.jpg",
"value": {
"ID": "102",
"VID101": "4"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"18": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지2.jpg",
"value": {
"ID": "13",
"Range": "700:730",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"19": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지1.jpg",
"value": 150,
"point": 2
},
"20": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지1.jpg",
"value": {
"ID": "67",
"VID103": "6"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"21": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지1.jpg",
"value": {
"ID": "19",
"Range": "850:880",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"22": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "video.Text",
"value": "공룡 탐험 (Dinosaur Exploration)",
"point": 3
},
"23": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "video.Text",
"value": "바탕체",
"point": 2
},
"24": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "video.Text",
"value": "140",
"point": 2
},
"25": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "video.Text.Color",
"value": "ff2c2c",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"26": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "video.Text.Outline",
"value": {
"width": "20",
"color": "0c0b53"
},
"point": 2,
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
},
"27": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "opening.Text.FadeInEffect",
"value": {
"VID505": "16",
"VID507": "2"
},
"point": 3,
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
},
"28": {
"ele": "",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "opening.StartTime",
"value": 0,
"point": 2,
"desc": "오프닝자막의 시작시간 value 속성만 수정"
},
"29": {
"ele": "",
"search": "공룡 탐험 (Dinosaur Exploration)",
"type": "opening.Length",
"value": 150,
"point": 2
},
"30": {
"ele": "",
"type": "audio.StartTime",
"media": "음악.mp3",
"value": 0,
"point": 2
},
"31": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "audio.EndTime",
"media": "음악.mp3",
"value": 870,
"point": 2
},
"32": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "audio.Effect",
"media": "음악.mp3",
"value": {
"ID": "1",
"Duration": "90"
},
"point": 2,
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
},
"33": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"4": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "350"],
"point": 5,
"desc": "캔버스 사이즈 650*350"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "자유 변형 문항은 채점 불가"
},
"3": {
"type": "layer.exists",
"ele": "//Layer/Name/@value",
"value": "Dinosaur",
"point": 5,
"desc": "Dinosaur 레이어가 있는지 여부 체크"
},
"4": {
"type": "layer.Effects",
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
"search": "Dinosaur",
"value": {
"name": "밝기/대비",
"option": {
"밝기": "20"
}
},
"point": 5,
"desc": {
"흑백": "강도",
"밝기/대비": ["밝기", "대비"],
"노출": "노출",
"색조/채도": ["색조", "채도", "명도"],
"감마":["리프트","감마","게인"],
"세피아":["U","V"],
"생동감": "생동감"
}
},
"5": {
"type": "none",
"ele": "",
"point": 6,
"desc": "올가미 도구/이미지 문항은 채점 불가"
},
"6": {
"type": "exists",
"ele": "//Layer/Effects/Item/Name/@value",
"value": "색조/채도",
"point": 6,
"desc": "색조/채도 효과가 있는지 여부 체크"
},
"7": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "ELLIPSE",
"point": 3,
"desc": "레이어 쉐이프 타입이 타원인지 체크"
},
"8": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 110,
"height": 90
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"9": {
"type": "shape.color",
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "FF0000",
"point": 6,
"desc": ""
},
"10": {
"type": "layer.blend.opacity",
"ele": "//Layer",
"value": {
"BlendOp": "색 굽기",
"Opacity": "70"
},
"point": 6
},
"11": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"12": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
},
"5": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "450"],
"point": 5,
"desc": "캔버스 사이즈 650*450"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "배경색 문항은 채점 불가"
},
"3": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Layering",
"point": 6,
"desc": "레이어 마스크 설정 확인"
},
"4": {
"type": "none",
"ele": "",
"point": 6,
"desc": "가로방향 흐릿하게 문항은 채점 불가"
},
"5": {
"type": "exists",
"ele": "//Layer//shape_type/@value",
"value": "ROUNDED_RECTANGLE",
"point": 3
},
"6": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 360,
"height": 70
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"7": {
"type": "gradient.color",
"ele": "//Layer/Shapes/Shape",
"startColor": "gradient_start_color/@value",
"endColor": "gradient_end_color/@value",
"value": {
"startColor": "E24A19",
"endColor": "ECEC2F"
},
"point": 6
},
"8": {
"type": "text.exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
"value": "공룡의 세계",
"point": 5
},
"9": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
"value": "돋움체",
"point": 3
},
"10": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
"style": "Bold",
"value": "True",
"point": 3
},
"11": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
"value": "40",
"point": 3
},
"12": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "8200DC",
"point": 3
},
"13": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
"value": "4",
"point": 3
},
"14": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
"value": "ffff8B",
"point": 3
},
"15": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Clipping",
"point": 6,
"desc": "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
},
"16": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "RECTANGLE",
"point": 3,
"desc": {
"사각형": "RECTANGLE"
}
},
"17": {
"type": "clipping.size",
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
"option": "RECTANGLE",
"value": {
"width": 160,
"height": 160
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"18": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
"option": "RECTANGLE",
"value": "5",
"point": 3
},
"19": {
"type": "clipping.color",
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
"option": "RECTANGLE",
"value": "8344FF",
"point": 3,
"desc": "채우기:secondary_color, 외곽선:primary_color"
},
"20": {
"type": "shadow",
"ele": "//Layer//Shape[shape_type/@value='{option}']",
"option": "RECTANGLE",
"value": {
"shadow": true,
"width": "7",
"distance": "3",
"blur": "2",
"angle": "320"
},
"point": 5,
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
},
"21": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"22": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,742 @@
{
"0": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "none",
"point": 0
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "none",
"point": 0
},
"7": {
"ele": "none",
"point": 0
},
"8": {
"ele": "$[?(@.width == 65 && @.height == 45)]",
"type": "size",
"value": {
"width": 65,
"height": 45
},
"point": 4
},
"9": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"1": {
"1": {
"ele": "none",
"point": 0
},
"2": {
"ele": "none",
"point": 0
},
"3": {
"ele": "none",
"point": 0
},
"4": {
"ele": "$.children[?(@.name=='산책길')].name",
"value": "산책길",
"point": 4
},
"5": {
"ele": "none",
"point": 0
},
"6": {
"ele": "$.children[?(@.name=='Healing Forest')].name",
"value": "Healing Forest",
"point": 4
},
"7": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.names[0]",
"type": "font",
"value": "Arial",
"point": 2
},
"8": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.names[0]",
"value": "Arial-BoldItalicMT",
"point": 2
},
"9": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.sizes[0]",
"value": 48,
"point": 2
},
"10": {
"ele": "$.children[?(@.name=='Healing Forest')].text.font.colors[0]",
"type": "color",
"value": "d93009",
"point": 2
},
"11": {
"ele": "none",
"point": 0
},
"12": {
"ele": "none",
"point": 0
},
"13": {
"ele": "none",
"point": 0
},
"14": {
"ele": "$.children[?(@.name=='치유의 숲')].name",
"value": "치유의 숲",
"point": 4
},
"15": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.names[0]",
"type": "font",
"value": "GungsuhChe",
"point": 2,
"desc": {
"돋움체": "DotumChe",
"궁서체": "GungsuhChe",
"굴림체": "GulimChe",
"휴먼옛체": "YetR"
}
},
"16": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.sizes[0]",
"value": 36,
"point": 2
},
"17": {
"ele": "$.children[?(@.name=='치유의 숲')].text.font.colors[0]",
"type": "color",
"value": "19ea4a",
"point": 2
},
"18": {
"ele": "none",
"point": 0
},
"19": {
"ele": "none",
"point": 0
},
"20": {
"ele": "none",
"point": 0
},
"21": {
"ele": "none",
"point": 0
},
"22": {
"ele": "$.children[?(@.name=='조각상')].name",
"value": "조각상",
"point": 4
},
"23": {
"ele": "none",
"point": 0
},
"24": {
"ele": "none",
"point": 0
},
"25": {
"ele": "none",
"point": 0
},
"26": {
"ele": "$[?(@.width == 65 && @.height == 35)]",
"type": "size",
"value": {
"width": 65,
"height": 35
},
"point": 5
},
"27": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"2": {
"1": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
"type": "mediaOrder",
"value": ["동영상.mp4", "이미지2.jpg", "이미지1.jpg", "이미지3.jpg"],
"point": 4,
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
},
"2": {
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
"type": "oneAnswer",
"value": {
"speed": "150"
},
"point": 2,
"desc": "100당 1배속 / 130 = 1.3배속"
},
"3": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "startEnd",
"media": "동영상.mp4",
"value": {
"start": "0",
"end": "380"
},
"point": 2,
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
},
"4": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "effect",
"media": "동영상.mp4",
"value": {
"ID": "40",
"VID100": "30",
"VID103": "0.89999998"
},
"point": 3,
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
},
"5": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "하천에 사는 물고기",
"point": 3
},
"6": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "궁서체",
"point": 2
},
"7": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "하천에 사는 물고기",
"type": "video.Text",
"value": "90",
"point": 2
},
"8": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "하천에 사는 물고기",
"type": "video.Text.Color",
"value": "f116f2",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"9": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
"search": "하천에 사는 물고기",
"type": "video.Location",
"value": ["0.34583333", "0.94074076"],
"point": 2,
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
},
"10": {
"ele": "",
"search": "하천에 사는 물고기",
"type": "video.StartTime",
"value": 170,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"11": {
"ele": "",
"search": "하천에 사는 물고기",
"type": "video.Length",
"value": 180,
"point": 2,
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
},
"12": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
"type": "Mute",
"media": "동영상.mp4",
"value": "1",
"point": 2
},
"13": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지2.jpg",
"value": 150,
"point": 2
},
"14": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지2.jpg",
"value": {
"ID": "104",
"VID102": "9"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"15": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지2.jpg",
"value": {
"ID": "14",
"Range": "470:530",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"16": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지1.jpg",
"value": 150,
"point": 2
},
"17": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지1.jpg",
"value": {
"ID": "94",
"VID101": "8"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"18": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지1.jpg",
"value": {
"ID": "95",
"Range": "650:680",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"19": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
"type": "imageLength",
"media": "이미지3.jpg",
"value": 180,
"point": 2
},
"20": {
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "imageOverlay",
"media": "이미지3.jpg",
"value": {
"ID": "96",
"VID101": "11"
},
"point": 2,
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
},
"21": {
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
"type": "clipTransition",
"media": "이미지3.jpg",
"value": {
"ID": "9",
"Range": "800:860",
"Type": "2"
},
"point": 2,
"desc": "오버랩일 경우 Type속성값 16으로 변경"
},
"22": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "우리나라 하천의 물고기들 (Korean river fish)",
"point": 3
},
"23": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "돋움체",
"point": 2
},
"24": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text",
"value": "140",
"point": 2
},
"25": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text.Color",
"value": "ecd000",
"point": 2,
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
},
"26": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "video.Text.Outline",
"value": {
"width": "10",
"color": "3c0000"
},
"point": 2,
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
},
"27": {
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.Text.FadeInEffect",
"value": {
"VID505": "14",
"VID507": "2"
},
"point": 3,
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
},
"28": {
"ele": "",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.StartTime",
"value": 0,
"point": 2,
"desc": "오프닝자막의 시작시간 value 속성만 수정"
},
"29": {
"ele": "",
"search": "우리나라 하천의 물고기들 (Korean river fish)",
"type": "opening.Length",
"value": 150,
"point": 2
},
"30": {
"ele": "",
"type": "audio.StartTime",
"media": "음악.mp3",
"value": 0,
"point": 2
},
"31": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
"type": "audio.EndTime",
"media": "음악.mp3",
"value": 850,
"point": 2
},
"32": {
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
"type": "audio.Effect",
"media": "음악.mp3",
"value": {
"ID": "1",
"Duration": "90"
},
"point": 2,
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
},
"33": {
"ele": "none",
"point": 0,
"desc": "파일명 확인"
}
},
"4": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "350"],
"point": 5,
"desc": "캔버스 사이즈 650*350"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "자유 변형 문항은 채점 불가"
},
"3": {
"type": "layer.exists",
"ele": "//Layer/Name/@value",
"value": "Vacation",
"point": 5,
"desc": "Vacation 레이어가 있는지 여부 체크"
},
"4": {
"type": "layer.Effects",
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
"search": "Vacation",
"value": {
"name": "밝기/대비",
"option": {
"대비": "24"
}
},
"point": 5,
"desc": {
"흑백": "강도",
"밝기/대비": ["밝기", "대비"],
"노출": "노출",
"색조/채도": ["색조", "채도", "명도"],
"감마": ["리프트", "감마", "게인"],
"세피아": ["U", "V"],
"생동감": "생동감"
}
},
"5": {
"type": "none",
"ele": "",
"point": 6,
"desc": "올가미 도구/이미지 문항은 채점 불가"
},
"6": {
"type": "exists",
"ele": "//Layer/Effects/Item/Name/@value",
"value": "세피아",
"point": 6,
"desc": "세피아 효과가 있는지 여부 체크"
},
"7": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "ELLIPSE",
"point": 3,
"desc": "레이어 쉐이프 타입이 타원인지 체크"
},
"8": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 100,
"height": 80
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"9": {
"type": "shape.color",
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "316CE4",
"point": 6,
"desc": ""
},
"10": {
"type": "layer.blend.opacity",
"ele": "//Layer",
"value": {
"BlendOp": "색 굽기",
"Opacity": "65"
},
"point": 6
},
"11": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"12": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
},
"5": {
"1": {
"type": "canvas.Size",
"ele": "//Document/Width/@value | //Document/Height/@value",
"value": ["650", "450"],
"point": 5,
"desc": "캔버스 사이즈 650*450"
},
"2": {
"type": "none",
"ele": "",
"point": 5,
"desc": "배경색 문항은 채점 불가"
},
"3": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Layering",
"point": 6,
"desc": "레이어 마스크 설정 확인"
},
"4": {
"type": "none",
"ele": "",
"point": 6,
"desc": "가로방향 흐릿하게 문항은 채점 불가"
},
"5": {
"type": "exists",
"ele": "//Layer//shape_type/@value",
"value": "RECTANGLE",
"point": 3,
"desc": {
"사각형": "RECTANGLE",
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE"
}
},
"6": {
"type": "shape.size",
"ele": "//Layer//op_points",
"value": {
"width": 500,
"height": 60
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"7": {
"type": "gradient.color",
"ele": "//Layer/Shapes/Shape",
"startColor": "gradient_start_color/@value",
"endColor": "gradient_end_color/@value",
"value": {
"startColor": "8BED53",
"endColor": "FFE52A"
},
"point": 6
},
"8": {
"type": "text.exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
"value": "하천의 먹이사슬 구조",
"point": 5
},
"9": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
"value": "맑은 고딕",
"point": 3
},
"10": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
"style": "Underline",
"value": "True",
"point": 3
},
"11": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
"value": "26",
"point": 3
},
"12": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
"value": "F04DA5",
"point": 3
},
"13": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
"value": "5",
"point": 3
},
"14": {
"type": "text.color",
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
"value": "ffffff",
"point": 3
},
"15": {
"type": "exists",
"ele": "//Layer/MaskOpType/@value",
"value": "Clipping",
"point": 6,
"desc": "클리핑 마스크 항목은 별도 레이어로 추가되고 해당 속성을 추가해놓은 레이어가 있는지 여부 체크 함"
},
"16": {
"type": "exists",
"ele": "//Layer/Shapes/Shape/shape_type/@value",
"value": "ROUNDED_RECTANGLE",
"point": 3,
"desc": {
"사각형": "RECTANGLE",
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE"
}
},
"17": {
"type": "clipping.size",
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
"option": "ROUNDED_RECTANGLE",
"value": {
"width": 160,
"height": 160
},
"point": 3,
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
},
"18": {
"type": "exists",
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
"option": "ROUNDED_RECTANGLE",
"value": "4",
"point": 3
},
"19": {
"type": "clipping.color",
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
"option": "ROUNDED_RECTANGLE",
"value": "92DAAA",
"point": 3,
"desc": "채우기:secondary_color, 외곽선:primary_color"
},
"20": {
"type": "shadow",
"ele": "//Layer//Shape[shape_type/@value='{option}']",
"option": "ROUNDED_RECTANGLE",
"value": {
"shadow": true,
"width": "5",
"distance": "20",
"blur": "1",
"angle": "320"
},
"point": 5,
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
},
"21": {
"type": "none",
"ele": "",
"point": 0,
"desc": "기본설정"
},
"22": {
"type": "none",
"ele": "",
"point": 0,
"desc": "파일명 확인"
}
}
}

Binary file not shown.