diff --git a/example/build.gradle b/example/build.gradle index 8f67eac..efc92a8 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -9,7 +9,7 @@ android { compileSdk 36 defaultConfig { - applicationId "com.inewme.uvmirror.f20251129" + applicationId "com.inewme.uvmirror.f20260420" minSdk 30 targetSdk 36 versionCode 1 diff --git a/example/src/main/assets/pic/201/000000.png b/example/src/main/assets/pic/201/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/201/000000.png differ diff --git a/example/src/main/assets/pic/201ex.png b/example/src/main/assets/pic/201ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/201ex.png differ diff --git a/example/src/main/assets/pic/202/000000.png b/example/src/main/assets/pic/202/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/202/000000.png differ diff --git a/example/src/main/assets/pic/202ex.png b/example/src/main/assets/pic/202ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/202ex.png differ diff --git a/example/src/main/assets/pic/203/000000.png b/example/src/main/assets/pic/203/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/203/000000.png differ diff --git a/example/src/main/assets/pic/203ex.png b/example/src/main/assets/pic/203ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/203ex.png differ diff --git a/example/src/main/assets/pic/204/000000.png b/example/src/main/assets/pic/204/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/204/000000.png differ diff --git a/example/src/main/assets/pic/204ex.png b/example/src/main/assets/pic/204ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/204ex.png differ diff --git a/example/src/main/assets/pic/205/000000.png b/example/src/main/assets/pic/205/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/205/000000.png differ diff --git a/example/src/main/assets/pic/205ex.png b/example/src/main/assets/pic/205ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/205ex.png differ diff --git a/example/src/main/assets/pic/206/000000.png b/example/src/main/assets/pic/206/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/206/000000.png differ diff --git a/example/src/main/assets/pic/206ex.png b/example/src/main/assets/pic/206ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/206ex.png differ diff --git a/example/src/main/assets/pic/207/000000.png b/example/src/main/assets/pic/207/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/207/000000.png differ diff --git a/example/src/main/assets/pic/207ex.png b/example/src/main/assets/pic/207ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/207ex.png differ diff --git a/example/src/main/assets/pic/208/000000.png b/example/src/main/assets/pic/208/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/208/000000.png differ diff --git a/example/src/main/assets/pic/208ex.png b/example/src/main/assets/pic/208ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/208ex.png differ diff --git a/example/src/main/assets/pic/209/000000.png b/example/src/main/assets/pic/209/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/209/000000.png differ diff --git a/example/src/main/assets/pic/209ex.png b/example/src/main/assets/pic/209ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/209ex.png differ diff --git a/example/src/main/assets/pic/210/000000.png b/example/src/main/assets/pic/210/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/210/000000.png differ diff --git a/example/src/main/assets/pic/210ex.png b/example/src/main/assets/pic/210ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/210ex.png differ diff --git a/example/src/main/assets/pic/211/000000.png b/example/src/main/assets/pic/211/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/211/000000.png differ diff --git a/example/src/main/assets/pic/211ex.png b/example/src/main/assets/pic/211ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/211ex.png differ diff --git a/example/src/main/assets/pic/212/000000.png b/example/src/main/assets/pic/212/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/212/000000.png differ diff --git a/example/src/main/assets/pic/212ex.png b/example/src/main/assets/pic/212ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/212ex.png differ diff --git a/example/src/main/assets/pic/213/000000.png b/example/src/main/assets/pic/213/000000.png new file mode 100644 index 0000000..928a9ba Binary files /dev/null and b/example/src/main/assets/pic/213/000000.png differ diff --git a/example/src/main/assets/pic/213ex.png b/example/src/main/assets/pic/213ex.png new file mode 100644 index 0000000..edb6fb5 Binary files /dev/null and b/example/src/main/assets/pic/213ex.png differ diff --git a/example/src/main/assets/pic/90/000000.png b/example/src/main/assets/pic/90/000000.png new file mode 100644 index 0000000..3d8525b Binary files /dev/null and b/example/src/main/assets/pic/90/000000.png differ diff --git a/example/src/main/assets/pic/90/000001.png b/example/src/main/assets/pic/90/000001.png new file mode 100644 index 0000000..3d8525b Binary files /dev/null and b/example/src/main/assets/pic/90/000001.png differ diff --git a/example/src/main/assets/pic/90ex.png b/example/src/main/assets/pic/90ex.png new file mode 100644 index 0000000..34dd84c Binary files /dev/null and b/example/src/main/assets/pic/90ex.png differ diff --git a/example/src/main/assets/pic/91/000001.png b/example/src/main/assets/pic/91/000001.png new file mode 100644 index 0000000..5876ad4 Binary files /dev/null and b/example/src/main/assets/pic/91/000001.png differ diff --git a/example/src/main/assets/pic/91/000002.png b/example/src/main/assets/pic/91/000002.png new file mode 100644 index 0000000..5876ad4 Binary files /dev/null and b/example/src/main/assets/pic/91/000002.png differ diff --git a/example/src/main/assets/pic/91ex.png b/example/src/main/assets/pic/91ex.png new file mode 100644 index 0000000..bd8674c Binary files /dev/null and b/example/src/main/assets/pic/91ex.png differ diff --git a/example/src/main/assets/pic/motion_data_ex.json b/example/src/main/assets/pic/motion_data_ex.json index 5a52f07..a9181f7 100644 --- a/example/src/main/assets/pic/motion_data_ex.json +++ b/example/src/main/assets/pic/motion_data_ex.json @@ -2292,5 +2292,103 @@ "x": 768, "y": 768 } + }, + "90": { + "000000.png": { + "x": 0, + "y": 0 + }, + "000001.png": { + "x": 512, + "y": 0 + } + }, + "91": { + "000001.png": { + "x": 0, + "y": 0 + }, + "000002.png": { + "x": 512, + "y": 0 + } + }, + "201": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "202": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "203": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "204": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "205": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "206": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "207": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "208": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "209": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "210": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "211": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "212": { + "000000.png": { + "x": 0, + "y": 0 + } + }, + "213": { + "000000.png": { + "x": 0, + "y": 0 + } } } \ No newline at end of file diff --git a/example/src/main/assets/pic/motion_data_ex2.json b/example/src/main/assets/pic/motion_data_ex2.json new file mode 100644 index 0000000..d5cb973 --- /dev/null +++ b/example/src/main/assets/pic/motion_data_ex2.json @@ -0,0 +1,611 @@ +{ + "3": [ + "000000.png" + ], + "4": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "5": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "6": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "7": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "11": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png" + ], + "12": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png" + ], + "13": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "14": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "21": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "56": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "59": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png" + ], + "62": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "65": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "68": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "71": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "76": [ + "76.png" + ], + "77": [ + "77.png" + ], + "78": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png", + "000028.png", + "000029.png", + "000030.png", + "000031.png" + ], + "80": [ + "80.png" + ], + "81": [ + "000000.png", + "000001.png", + "000002.png", + "000003.png", + "000004.png", + "000005.png", + "000006.png", + "000007.png", + "000008.png", + "000009.png", + "000010.png", + "000011.png", + "000012.png", + "000013.png", + "000014.png", + "000015.png", + "000016.png", + "000017.png", + "000018.png", + "000019.png", + "000020.png", + "000021.png", + "000022.png", + "000023.png", + "000024.png", + "000025.png", + "000026.png", + "000027.png" + ], + "90": [ + "000000.png", + "000001.png" + ], + "91": [ + "000001.png", + "000002.png" + ], + "201": [ + "000000.png" + ], + "202": [ + "000000.png" + ], + "203": [ + "000000.png" + ], + "204": [ + "000000.png" + ], + "205": [ + "000000.png" + ], + "206": [ + "000000.png" + ], + "207": [ + "000000.png" + ], + "208": [ + "000000.png" + ], + "209": [ + "000000.png" + ], + "210": [ + "000000.png" + ], + "211": [ + "000000.png" + ], + "212": [ + "000000.png" + ], + "213": [ + "000000.png" + ] +} \ No newline at end of file diff --git a/example/src/main/java/com/inewme/uvmirror/MakeupActivity.kt b/example/src/main/java/com/inewme/uvmirror/MakeupActivity.kt index f19215b..f677d18 100644 --- a/example/src/main/java/com/inewme/uvmirror/MakeupActivity.kt +++ b/example/src/main/java/com/inewme/uvmirror/MakeupActivity.kt @@ -49,9 +49,10 @@ class MakeupActivity : FaceActivity() // 然后 又播放了8秒钟,这个时候要却换到 (11, 13, 21 动画序列了), 同时设置序列播放完成回调函数 // 然后 播放完这个序列又要切换为原来的序列播放,通过序列播放完成回调函数实现 private var elapsedTime = 0 // 总经过时间(ms) - private val sequenceA = listOf("4", "5", "6", "7", "55", "59", "76", "77", "78") - private val sequenceB = listOf("55", "59", "76") - private val sequenceAll = listOf("4", "5", "6", "7", "55", "59", "76", "77", "78") + + private val sequenceA = listOf("90") + private val sequenceB = listOf("91") + private val sequenceAll = listOf("90", "91") private fun update() { @@ -66,19 +67,17 @@ class MakeupActivity : FaceActivity() if(elapsedTime == 10*1000){ //暂停动画 - StopMotion() + PlayMotionList(sequenceB, true, null) } - if(elapsedTime == 10*1000 + 5*1000){ - //恢复播放动画 - ResumeMotion() + if(elapsedTime == 20*1000){ + //暂停动画 + PlayMotionList(sequenceA, true, null) } - if(elapsedTime == 10*1000 + 5*1000 + 8*1000){ - PlayMotionList(sequenceB, true){ - //这里是播放完动画后的回调,再次切换到原来的 sequenceA - PlayMotionList(sequenceA, true, null) - } + if(elapsedTime == 30*1000){ + //暂停动画 + PlayMotionList(sequenceB, true, null) } } diff --git a/example/src/main/java/com/inewme/uvmirror/MotionManager.kt b/example/src/main/java/com/inewme/uvmirror/MotionManager.kt index 408d95b..d041e85 100644 --- a/example/src/main/java/com/inewme/uvmirror/MotionManager.kt +++ b/example/src/main/java/com/inewme/uvmirror/MotionManager.kt @@ -22,7 +22,7 @@ class MotionManager { zoom = z } activity.SetInitArg(initArg.toJson()) - existMotions = readMotionsFromAssets(activity, "pic/motion_data_ex.json") + existMotions = readMotionsFromAssets(activity, "pic/motion_data_ex2.json") } diff --git a/example/src/main/res/values/strings.xml b/example/src/main/res/values/strings.xml index 724e42d..fe92ea6 100644 --- a/example/src/main/res/values/strings.xml +++ b/example/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - f20251129 + f20260420 \ No newline at end of file diff --git a/python/combin_png.py b/python/combin_png.py index 6423a5c..f70744c 100644 --- a/python/combin_png.py +++ b/python/combin_png.py @@ -7,7 +7,8 @@ RESIZE_TO = (256, 256) LARGE_IMAGE_SIZE = (2048, 2048) IMAGE_COUNT = 64 -ROOT_DIR = '../example/src/main/assets/pic' +#ROOT_DIR = '../example/src/main/assets/pic' +ROOT_DIR = 'D:/face_sdk/example/src/main/assets/pic' def load_json(file_path): with open(file_path, 'r') as file: @@ -54,7 +55,8 @@ def remove_white_border(image): def resize_image(image_path): image = Image.open(image_path).convert('RGBA') image = remove_white_border(image) - return image.resize(RESIZE_TO) + image = image.resize(RESIZE_TO) + return image def main(json_file_path): # 确保使用完整路径 @@ -92,4 +94,4 @@ def main(json_file_path): json.dump(new_data, outfile, indent=4) # 使用示例 -main('motion_data.json') \ No newline at end of file +main('motion_data_ex2.json') \ No newline at end of file diff --git a/python/get_png.py b/python/get_png.py index 0770222..a6ba4c6 100644 --- a/python/get_png.py +++ b/python/get_png.py @@ -120,6 +120,7 @@ def collect_png_from_subfolders(base_path=".", output_file="../example/src/main/ # 使用方法 if __name__ == "__main__": # 可以指定要遍历的基础路径,默认为当前目录 - base_path_to_scan = '../example/src/main/assets/pic' # 当前目录 + # base_path_to_scan = '../example/src/main/assets/pic' # 当前目录 + base_path_to_scan = 'D:/face_sdk/example/src/main/assets/pic' # 当前目录 - collect_png_from_subfolders(base_path_to_scan) \ No newline at end of file + collect_png_from_subfolders(base_path_to_scan, 'D:/face_sdk/example/src/main/assets/pic/motion_data_ex2.json') \ No newline at end of file