fix(theme): 补抠封闭白区(光环/车架/轮圈内),人物与单车加渐隐遮罩

问题(用户发现):
1. 光环环内是白块 —— 此前只用「边界洪泛」抠底,被图形围起来的封闭白色
   区域(光环内圈、单车车架三角、轮圈内扇形)与边界不连通,没被处理
2. 人物与单车直接贴在页面上显得突兀

修复:
- 对三张图再补一次「封闭白色区域」清理(按面积阈值):
  人物抠 3675px(含光环 2665)、单车抠 19657px、图标抠 308px;并同步重生成 favicon
  已验证脸部 / 袜子 / 衣服等服装白未被误抠(保留 34px 噪点级)
- 立绘 opacity .92 + 上下渐隐遮罩;单车 opacity .8 + 两端渐隐 + saturate(.92)

验证:四套脚本 81 项全通过;1440 宽 0 横向溢出;局部放大确认光环内圈可透出背景
This commit is contained in:
tamakyi
2026-10-13 21:06:29 +08:00
parent fa7c708878
commit 6f9a2d33ce
18 changed files with 242 additions and 229 deletions
+221 -221
View File
@@ -1,8 +1,8 @@
{
"prober": "shiroko-monitor-node/0.7.0",
"demo": false,
"generatedAt": "2026-10-13T12:51:06.452Z",
"dataUpdatedAt": "2026-10-13T12:50:44.858Z",
"generatedAt": "2026-10-13T13:06:27.328Z",
"dataUpdatedAt": "2026-10-13T13:05:50.691Z",
"updateIntervalSec": 300,
"dataFilter": "uptimerobot",
"stats": {
@@ -10,12 +10,12 @@
"up": 5,
"down": 1,
"pending": 0,
"avgLatency": 1030,
"avgLatency": 991,
"avgUptime90": 83.3,
"memory": {
"rssMB": 67.9,
"heapUsedMB": 10.6,
"heapTotalMB": 16.2
"rssMB": 77.5,
"heapUsedMB": 10.7,
"heapTotalMB": 16
}
},
"sources": {
@@ -23,19 +23,19 @@
"enabled": true,
"ok": true,
"error": null,
"lastSyncAt": "2026-10-13T12:46:17.954Z",
"lastSyncAt": "2026-10-13T13:03:02.502Z",
"count": 6,
"syncing": false,
"lastSyncMs": 1791895576434
"lastSyncMs": 1791896580947
}
},
"monitors": {
"ur-792059439": {
"status": "up",
"latency": 415,
"latency": 277,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z",
"lastCheck": "2026-10-13T12:58:00.000Z",
"history": [
{
"t": "2026-10-12T13:50:00.000Z",
@@ -203,20 +203,20 @@
"ms": 395
},
{
"t": "2026-10-13T12:02:00.000Z",
"t": "2026-10-13T12:22:00.000Z",
"ok": true,
"ms": 342
"ms": 302
},
{
"t": "2026-10-13T12:42:00.000Z",
"t": "2026-10-13T12:58:00.000Z",
"ok": true,
"ms": 415
"ms": 277
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -243,191 +243,191 @@
},
"ur-795497022": {
"status": "up",
"latency": 732,
"latency": 749,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:46:00.000Z",
"lastCheck": "2026-10-13T13:02:00.000Z",
"history": [
{
"t": "2026-10-12T13:40:00.000Z",
"t": "2026-10-12T13:55:00.000Z",
"ok": true,
"ms": 935
"ms": 1017
},
{
"t": "2026-10-12T14:20:00.000Z",
"t": "2026-10-12T14:35:00.000Z",
"ok": true,
"ms": 802
"ms": 814
},
{
"t": "2026-10-12T15:00:00.000Z",
"t": "2026-10-12T15:15:00.000Z",
"ok": true,
"ms": 720
"ms": 710
},
{
"t": "2026-10-12T15:40:00.000Z",
"t": "2026-10-12T15:55:00.000Z",
"ok": true,
"ms": 798
"ms": 792
},
{
"t": "2026-10-12T16:20:00.000Z",
"ok": true,
"ms": 685
},
{
"t": "2026-10-12T17:00:00.000Z",
"t": "2026-10-12T16:35:00.000Z",
"ok": true,
"ms": 700
},
{
"t": "2026-10-12T17:40:00.000Z",
"t": "2026-10-12T17:15:00.000Z",
"ok": true,
"ms": 694
"ms": 689
},
{
"t": "2026-10-12T18:20:00.000Z",
"t": "2026-10-12T17:55:00.000Z",
"ok": true,
"ms": 703
"ms": 725
},
{
"t": "2026-10-12T19:00:00.000Z",
"t": "2026-10-12T18:35:00.000Z",
"ok": true,
"ms": 729
"ms": 744
},
{
"t": "2026-10-12T19:40:00.000Z",
"t": "2026-10-12T19:15:00.000Z",
"ok": true,
"ms": 713
"ms": 723
},
{
"t": "2026-10-12T20:20:00.000Z",
"t": "2026-10-12T19:55:00.000Z",
"ok": true,
"ms": 784
"ms": 698
},
{
"t": "2026-10-12T21:00:00.000Z",
"t": "2026-10-12T20:35:00.000Z",
"ok": true,
"ms": 628
"ms": 768
},
{
"t": "2026-10-12T21:40:00.000Z",
"t": "2026-10-12T21:15:00.000Z",
"ok": true,
"ms": 629
"ms": 616
},
{
"t": "2026-10-12T22:20:00.000Z",
"t": "2026-10-12T21:55:00.000Z",
"ok": true,
"ms": 751
"ms": 626
},
{
"t": "2026-10-12T23:00:00.000Z",
"t": "2026-10-12T22:35:00.000Z",
"ok": true,
"ms": 674
},
{
"t": "2026-10-12T23:15:00.000Z",
"ok": true,
"ms": 624
},
{
"t": "2026-10-12T23:40:00.000Z",
"t": "2026-10-12T23:55:00.000Z",
"ok": true,
"ms": 715
"ms": 640
},
{
"t": "2026-10-13T00:20:00.000Z",
"t": "2026-10-13T00:35:00.000Z",
"ok": true,
"ms": 683
"ms": 673
},
{
"t": "2026-10-13T01:00:00.000Z",
"ok": true,
"ms": 643
},
{
"t": "2026-10-13T01:40:00.000Z",
"ok": true,
"ms": 641
},
{
"t": "2026-10-13T02:20:00.000Z",
"t": "2026-10-13T01:15:00.000Z",
"ok": true,
"ms": 609
},
{
"t": "2026-10-13T03:00:00.000Z",
"t": "2026-10-13T01:55:00.000Z",
"ok": true,
"ms": 606
"ms": 759
},
{
"t": "2026-10-13T03:40:00.000Z",
"t": "2026-10-13T02:35:00.000Z",
"ok": true,
"ms": 720
"ms": 581
},
{
"t": "2026-10-13T04:20:00.000Z",
"t": "2026-10-13T03:15:00.000Z",
"ok": true,
"ms": 711
"ms": 666
},
{
"t": "2026-10-13T05:00:00.000Z",
"t": "2026-10-13T03:55:00.000Z",
"ok": true,
"ms": 598
"ms": 662
},
{
"t": "2026-10-13T05:40:00.000Z",
"t": "2026-10-13T04:35:00.000Z",
"ok": true,
"ms": 729
"ms": 685
},
{
"t": "2026-10-13T06:20:00.000Z",
"t": "2026-10-13T05:15:00.000Z",
"ok": true,
"ms": 676
"ms": 647
},
{
"t": "2026-10-13T07:00:00.000Z",
"t": "2026-10-13T05:55:00.000Z",
"ok": true,
"ms": 691
"ms": 588
},
{
"t": "2026-10-13T07:40:00.000Z",
"t": "2026-10-13T06:40:00.000Z",
"ok": true,
"ms": 696
"ms": 625
},
{
"t": "2026-10-13T08:20:00.000Z",
"t": "2026-10-13T07:20:00.000Z",
"ok": true,
"ms": 677
"ms": 673
},
{
"t": "2026-10-13T09:00:00.000Z",
"t": "2026-10-13T08:00:00.000Z",
"ok": true,
"ms": 969
"ms": 758
},
{
"t": "2026-10-13T09:40:00.000Z",
"t": "2026-10-13T08:40:00.000Z",
"ok": true,
"ms": 669
"ms": 826
},
{
"t": "2026-10-13T10:20:00.000Z",
"t": "2026-10-13T09:20:00.000Z",
"ok": true,
"ms": 840
"ms": 749
},
{
"t": "2026-10-13T11:31:00.000Z",
"t": "2026-10-13T10:00:00.000Z",
"ok": true,
"ms": 630
"ms": 791
},
{
"t": "2026-10-13T12:09:00.000Z",
"t": "2026-10-13T10:40:00.000Z",
"ok": true,
"ms": 841
"ms": 678
},
{
"t": "2026-10-13T12:46:00.000Z",
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 732
"ms": 740
},
{
"t": "2026-10-13T12:25:00.000Z",
"ok": true,
"ms": 819
},
{
"t": "2026-10-13T13:02:00.000Z",
"ok": true,
"ms": 749
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -454,10 +454,10 @@
},
"ur-795556828": {
"status": "up",
"latency": 235,
"latency": 414,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:43:00.000Z",
"lastCheck": "2026-10-13T12:58:00.000Z",
"history": [
{
"t": "2026-10-12T13:50:00.000Z",
@@ -625,20 +625,20 @@
"ms": 334
},
{
"t": "2026-10-13T12:07:00.000Z",
"t": "2026-10-13T12:22:00.000Z",
"ok": true,
"ms": 212
"ms": 393
},
{
"t": "2026-10-13T12:43:00.000Z",
"t": "2026-10-13T12:58:00.000Z",
"ok": true,
"ms": 235
"ms": 414
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -665,16 +665,11 @@
},
"ur-792059414": {
"status": "up",
"latency": 3287,
"latency": 3103,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:42:00.000Z",
"lastCheck": "2026-10-13T12:59:00.000Z",
"history": [
{
"t": "2026-10-12T13:25:00.000Z",
"ok": true,
"ms": 3598
},
{
"t": "2026-10-12T14:10:00.000Z",
"ok": true,
@@ -826,20 +821,20 @@
"ms": 1960
},
{
"t": "2026-10-13T12:02:00.000Z",
"t": "2026-10-13T12:19:00.000Z",
"ok": true,
"ms": 2676
"ms": 2258
},
{
"t": "2026-10-13T12:42:00.000Z",
"t": "2026-10-13T12:59:00.000Z",
"ok": true,
"ms": 3287
"ms": 3103
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -866,191 +861,196 @@
},
"ur-798788113": {
"status": "up",
"latency": 483,
"latency": 410,
"code": null,
"detail": "UptimeRobot:运行正常",
"lastCheck": "2026-10-13T12:44:00.000Z",
"lastCheck": "2026-10-13T12:59:00.000Z",
"history": [
{
"t": "2026-10-12T14:00:00.000Z",
"t": "2026-10-12T13:45:00.000Z",
"ok": true,
"ms": 434
"ms": 361
},
{
"t": "2026-10-12T14:40:00.000Z",
"ok": true,
"ms": 298
},
{
"t": "2026-10-12T15:20:00.000Z",
"ok": true,
"ms": 410
},
{
"t": "2026-10-12T16:00:00.000Z",
"ok": true,
"ms": 481
},
{
"t": "2026-10-12T16:40:00.000Z",
"ok": true,
"ms": 368
},
{
"t": "2026-10-12T17:20:00.000Z",
"ok": true,
"ms": 373
},
{
"t": "2026-10-12T18:00:00.000Z",
"ok": true,
"ms": 290
},
{
"t": "2026-10-12T18:40:00.000Z",
"ok": true,
"ms": 401
},
{
"t": "2026-10-12T19:20:00.000Z",
"ok": true,
"ms": 458
},
{
"t": "2026-10-12T20:00:00.000Z",
"t": "2026-10-12T14:25:00.000Z",
"ok": true,
"ms": 346
},
{
"t": "2026-10-12T20:40:00.000Z",
"t": "2026-10-12T15:05:00.000Z",
"ok": true,
"ms": 417
"ms": 439
},
{
"t": "2026-10-12T21:20:00.000Z",
"t": "2026-10-12T15:45:00.000Z",
"ok": true,
"ms": 415
"ms": 462
},
{
"t": "2026-10-12T22:00:00.000Z",
"t": "2026-10-12T16:25:00.000Z",
"ok": true,
"ms": 366
"ms": 288
},
{
"t": "2026-10-12T22:40:00.000Z",
"t": "2026-10-12T17:05:00.000Z",
"ok": true,
"ms": 258
"ms": 409
},
{
"t": "2026-10-12T23:20:00.000Z",
"t": "2026-10-12T17:45:00.000Z",
"ok": true,
"ms": 252
"ms": 334
},
{
"t": "2026-10-13T00:00:00.000Z",
"t": "2026-10-12T18:25:00.000Z",
"ok": true,
"ms": 472
},
{
"t": "2026-10-12T19:05:00.000Z",
"ok": true,
"ms": 370
},
{
"t": "2026-10-12T19:45:00.000Z",
"ok": true,
"ms": 353
},
{
"t": "2026-10-12T20:25:00.000Z",
"ok": true,
"ms": 274
},
{
"t": "2026-10-13T00:40:00.000Z",
"t": "2026-10-12T21:05:00.000Z",
"ok": true,
"ms": 535
},
{
"t": "2026-10-12T21:45:00.000Z",
"ok": true,
"ms": 340
},
{
"t": "2026-10-12T22:25:00.000Z",
"ok": true,
"ms": 470
},
{
"t": "2026-10-12T23:05:00.000Z",
"ok": true,
"ms": 245
},
{
"t": "2026-10-12T23:45:00.000Z",
"ok": true,
"ms": 270
},
{
"t": "2026-10-13T00:25:00.000Z",
"ok": true,
"ms": 244
},
{
"t": "2026-10-13T01:20:00.000Z",
"t": "2026-10-13T01:05:00.000Z",
"ok": true,
"ms": 394
"ms": 302
},
{
"t": "2026-10-13T02:00:00.000Z",
"t": "2026-10-13T01:45:00.000Z",
"ok": true,
"ms": 277
},
{
"t": "2026-10-13T02:25:00.000Z",
"ok": true,
"ms": 463
},
{
"t": "2026-10-13T03:05:00.000Z",
"ok": true,
"ms": 437
},
{
"t": "2026-10-13T03:45:00.000Z",
"ok": true,
"ms": 335
},
{
"t": "2026-10-13T04:25:00.000Z",
"ok": true,
"ms": 320
},
{
"t": "2026-10-13T02:40:00.000Z",
"t": "2026-10-13T05:05:00.000Z",
"ok": true,
"ms": 364
"ms": 532
},
{
"t": "2026-10-13T03:20:00.000Z",
"t": "2026-10-13T05:45:00.000Z",
"ok": true,
"ms": 430
"ms": 334
},
{
"t": "2026-10-13T04:00:00.000Z",
"t": "2026-10-13T06:25:00.000Z",
"ok": true,
"ms": 400
"ms": 425
},
{
"t": "2026-10-13T04:40:00.000Z",
"t": "2026-10-13T07:05:00.000Z",
"ok": true,
"ms": 357
"ms": 346
},
{
"t": "2026-10-13T05:20:00.000Z",
"t": "2026-10-13T07:45:00.000Z",
"ok": true,
"ms": 372
"ms": 278
},
{
"t": "2026-10-13T06:00:00.000Z",
"t": "2026-10-13T08:25:00.000Z",
"ok": true,
"ms": 426
"ms": 368
},
{
"t": "2026-10-13T06:40:00.000Z",
"t": "2026-10-13T09:05:00.000Z",
"ok": true,
"ms": 314
"ms": 381
},
{
"t": "2026-10-13T07:20:00.000Z",
"t": "2026-10-13T09:45:00.000Z",
"ok": true,
"ms": 449
"ms": 576
},
{
"t": "2026-10-13T08:00:00.000Z",
"t": "2026-10-13T10:25:00.000Z",
"ok": true,
"ms": 279
"ms": 513
},
{
"t": "2026-10-13T08:40:00.000Z",
"t": "2026-10-13T11:05:00.000Z",
"ok": true,
"ms": 407
"ms": 381
},
{
"t": "2026-10-13T09:20:00.000Z",
"t": "2026-10-13T11:43:00.000Z",
"ok": true,
"ms": 317
"ms": 1257
},
{
"t": "2026-10-13T10:00:00.000Z",
"t": "2026-10-13T12:23:00.000Z",
"ok": true,
"ms": 627
"ms": 471
},
{
"t": "2026-10-13T10:40:00.000Z",
"t": "2026-10-13T12:59:00.000Z",
"ok": true,
"ms": 505
},
{
"t": "2026-10-13T11:20:00.000Z",
"ok": true,
"ms": 424
},
{
"t": "2026-10-13T12:08:00.000Z",
"ok": true,
"ms": 1116
},
{
"t": "2026-10-13T12:44:00.000Z",
"ok": true,
"ms": 483
"ms": 410
}
],
"daily": {
"2026-10-13": {
"total": 19,
"up": 19
"total": 23,
"up": 23
}
},
"meta": {
@@ -1090,7 +1090,7 @@
],
"daily": {
"2026-10-13": {
"total": 19,
"total": 23,
"up": 0
}
},