ascript 1.3.27__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ascript/__init__.py +8 -0
- ascript/hooks/__init__.py +0 -0
- ascript/hooks/hook-ascript.py +2 -0
- ascript/windows/__init__.py +29 -0
- ascript/windows/daos/__init__.py +0 -0
- ascript/windows/daos/screen.py +143 -0
- ascript/windows/hardware/__init__.py +5 -0
- ascript/windows/hardware/keyboard.py +279 -0
- ascript/windows/hardware/logitech_driver.py +179 -0
- ascript/windows/hardware/mouse.py +308 -0
- ascript/windows/license/__init__.py +16 -0
- ascript/windows/license/achttp.cp310-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp311-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp312-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp313-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp314-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp38-win_amd64.pyd +0 -0
- ascript/windows/license/achttp.cp39-win_amd64.pyd +0 -0
- ascript/windows/media/__init__.py +0 -0
- ascript/windows/resources/__init__.py +0 -0
- ascript/windows/resources/libs/logitech/x64/LogitechGkeyEnginesWrapper.dll +0 -0
- ascript/windows/resources/libs/logitech/x86/LogitechGkeyEnginesWrapper.dll +0 -0
- ascript/windows/resources/templates/__init__.py +0 -0
- ascript/windows/resources/templates/__init__py.win.template +51 -0
- ascript/windows/resources/templates/build.as.win.template +14 -0
- ascript/windows/resources/templates/build.py +71 -0
- ascript/windows/resources/templates/logo_windows.ico +0 -0
- ascript/windows/resources/templates/windows/main.py +50 -0
- ascript/windows/resources/templates/windows/pyproject.toml +44 -0
- ascript/windows/resources/templates/windows/res/img/logo.ico +0 -0
- ascript/windows/screen/__init__.py +13 -0
- ascript/windows/screen/as_cv.py +382 -0
- ascript/windows/screen/canny.py +128 -0
- ascript/windows/screen/code_scanner.py +72 -0
- ascript/windows/screen/color_algorithms.py +277 -0
- ascript/windows/screen/find_colors.py +251 -0
- ascript/windows/screen/find_images.py +217 -0
- ascript/windows/screen/ocr/__init__.py +4 -0
- ascript/windows/screen/ocr/ocr.py +223 -0
- ascript/windows/screen/ocr/rapidocr_hook.py +301 -0
- ascript/windows/screen/ocrx.py +169 -0
- ascript/windows/screen/screen_core.py +139 -0
- ascript/windows/store/__init__.py +21 -0
- ascript/windows/system/__init__.py +8 -0
- ascript/windows/system/device.py +355 -0
- ascript/windows/system/easy_print.py +115 -0
- ascript/windows/system/env.py +492 -0
- ascript/windows/system/exception/__init__.py +1 -0
- ascript/windows/system/key_value.py +145 -0
- ascript/windows/system/pip.py +175 -0
- ascript/windows/system/r.py +165 -0
- ascript/windows/system/runtime.py +62 -0
- ascript/windows/tools/__init__.py +27 -0
- ascript/windows/tools/__main__.py +21 -0
- ascript/windows/tools/action.json +33 -0
- ascript/windows/tools/action.py +168 -0
- ascript/windows/tools/colors_tool.py +391 -0
- ascript/windows/tools/config.py +26 -0
- ascript/windows/tools/dumptool.py +18 -0
- ascript/windows/tools/eel_api.py +495 -0
- ascript/windows/tools/gpplug/__init__.py +0 -0
- ascript/windows/tools/gpplug/plug.py +70 -0
- ascript/windows/tools/mouse_catch.py +168 -0
- ascript/windows/tools/plug_manager.py +38 -0
- ascript/windows/tools/tool_api.py +906 -0
- ascript/windows/tools/tool_window.py +56 -0
- ascript/windows/tools/uia_worker.py +365 -0
- ascript/windows/tools/web/app_store_window.html +481 -0
- ascript/windows/tools/web/colors.html +532 -0
- ascript/windows/tools/web/css/screen.css +1342 -0
- ascript/windows/tools/web/css/viewtree.css +357 -0
- ascript/windows/tools/web/flot_control.html +195 -0
- ascript/windows/tools/web/img/ico/favicon.png +0 -0
- ascript/windows/tools/web/img/ico/paintpalette.png +0 -0
- ascript/windows/tools/web/img/svg/find_colors.svg +1 -0
- ascript/windows/tools/web/img/svg/find_images.svg +1 -0
- ascript/windows/tools/web/img/svg/illustration-6.svg +89 -0
- ascript/windows/tools/web/img/svg/img_default.svg +1 -0
- ascript/windows/tools/web/img/svg/ocr.svg +1 -0
- ascript/windows/tools/web/js/screen/colors.js +466 -0
- ascript/windows/tools/web/js/screen/gp_plug.js +108 -0
- ascript/windows/tools/web/js/screen/image_mouse.js +464 -0
- ascript/windows/tools/web/js/screen/img_view.js +558 -0
- ascript/windows/tools/web/js/screen/plug.js +246 -0
- ascript/windows/tools/web/js/screen/screen.js +690 -0
- ascript/windows/tools/web/js/screen/screen_api.js +778 -0
- ascript/windows/tools/web/js/screen/screen_maker.js +10 -0
- ascript/windows/tools/web/js/utils/map.js +73 -0
- ascript/windows/tools/web/js/utils/upload.js +157 -0
- ascript/windows/tools/web/js/viewtree/niv_js.js +27 -0
- ascript/windows/tools/web/js/viewtree/vtree.js +1510 -0
- ascript/windows/tools/web/libs/bootstrap/css/bootstrap.min.css +6 -0
- ascript/windows/tools/web/libs/bootstrap/js/bootstrap.bundle.min.js +7 -0
- ascript/windows/tools/web/libs/bootstrap-icons/0-circle.svg +4 -0
- ascript/windows/tools/web/libs/bootstrap-icons/0-square.svg +4 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/bootstrap-icons.css +2078 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/bootstrap-icons.json +2052 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/bootstrap-icons.min.css +5 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/bootstrap-icons.scss +2090 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff +0 -0
- ascript/windows/tools/web/libs/bootstrap-icons/font/fonts/bootstrap-icons.woff2 +0 -0
- ascript/windows/tools/web/libs/feather-icons/dist/feather.min.js +13 -0
- ascript/windows/tools/web/libs/feather-icons/dist/icons.json +1 -0
- ascript/windows/tools/web/libs/jquery/core.js +399 -0
- ascript/windows/tools/web/libs/jquery/jquery.js +10598 -0
- ascript/windows/tools/web/libs/jquery/jquery.min.js +4 -0
- ascript/windows/tools/web/libs/jquery/jquery.min.js.zip +0 -0
- ascript/windows/tools/web/libs/jquery/jquery.slim.js +8495 -0
- ascript/windows/tools/web/libs/jquery/jquery.slim.min.js +2 -0
- ascript/windows/tools/web/libs/jquery-menu/jquery.contextMenu.js +2134 -0
- ascript/windows/tools/web/libs/jquery-menu/jquery.contextMenu.min.css +16 -0
- ascript/windows/tools/web/libs/jquery-zTree/css/zTreeStyle.css +97 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/1_close.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/1_open.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/2.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/3.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/4.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/5.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/6.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/7.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/8.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/diy/9.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/line_conn.gif +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/loading.gif +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/tree-node-btn.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/zTreeStandard.gif +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/img/zTreeStandard.png +0 -0
- ascript/windows/tools/web/libs/jquery-zTree/js/jquery.ztree.all.min.js +3 -0
- ascript/windows/tools/web/libs/treeview/css/jquery.treeview.css +79 -0
- ascript/windows/tools/web/libs/treeview/img/file.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/ico_loading.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/icon4.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/icon5.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/icon6.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/py.png +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-black-line.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-black.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-default-line.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-default.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-famfamfam-line.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-famfamfam.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-gray-line.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-gray.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-red-line.gif +0 -0
- ascript/windows/tools/web/libs/treeview/img/treeview-red.gif +0 -0
- ascript/windows/tools/web/libs/treeview/js/jquery.treeview.edit.js +37 -0
- ascript/windows/tools/web/libs/treeview/js/jquery.treeview.js +250 -0
- ascript/windows/tools/web/license_window.html +255 -0
- ascript/windows/tools/web/plugs/a.html +653 -0
- ascript/windows/tools/web/plugs/demo.html +52 -0
- ascript/windows/tools/web/plugs/find_colors.html +629 -0
- ascript/windows/tools/web/plugs/find_images.html +699 -0
- ascript/windows/tools/web/plugs/rapidocr.html +954 -0
- ascript/windows/tools/web/vtree.html +496 -0
- ascript/windows/tools/webview/assets/index-HymBPl-I.css +1 -0
- ascript/windows/tools/webview/assets/index-PqA_m8tL.js +17 -0
- ascript/windows/tools/webview/index.html +13 -0
- ascript/windows/ui/__init__.py +6 -0
- ascript/windows/ui/app_store_window.py +272 -0
- ascript/windows/ui/draw_window.py +231 -0
- ascript/windows/ui/flot_test.py +297 -0
- ascript/windows/ui/flot_window.py +488 -0
- ascript/windows/ui/license_window.py +111 -0
- ascript/windows/ui/web_window.py +466 -0
- ascript/windows/utils/__init__.py +0 -0
- ascript/windows/utils/node_utils.py +20 -0
- ascript/windows/utils/screen_utils.py +280 -0
- ascript/windows/window/Selector.py +1015 -0
- ascript/windows/window/Window.py +747 -0
- ascript/windows/window/__init__.py +5 -0
- ascript/windows/window/launcher.py +213 -0
- ascript/windows/window/uia_runtime.py +26 -0
- ascript-1.3.27.dist-info/METADATA +41 -0
- ascript-1.3.27.dist-info/RECORD +177 -0
- ascript-1.3.27.dist-info/WHEEL +5 -0
- ascript-1.3.27.dist-info/entry_points.txt +2 -0
- ascript-1.3.27.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN" data-bs-theme="auto">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<!-- 必须的 meta 标签 -->
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
8
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
9
|
+
<meta name="renderer" content="webkit">
|
|
10
|
+
<meta name="description" content="">
|
|
11
|
+
<meta name="author" content="Webpixels">
|
|
12
|
+
|
|
13
|
+
<link rel="icon" href="./img/ico/paintpalette.png" type="image/png"><!-- Font Awesome -->
|
|
14
|
+
|
|
15
|
+
<!-- Bootstrap 的 CSS 文件 -->
|
|
16
|
+
<link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" crossorigin="anonymous">
|
|
17
|
+
<link rel="stylesheet" href="./css/screen.css" crossorigin="anonymous">
|
|
18
|
+
<link rel="stylesheet" href="./libs/bootstrap-icons/font/bootstrap-icons.css">
|
|
19
|
+
|
|
20
|
+
<script src="./libs/jquery/jquery.js"></script>
|
|
21
|
+
<script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
22
|
+
<link href="./libs/jquery-menu/jquery.contextMenu.min.css" rel="stylesheet" type="text/css">
|
|
23
|
+
|
|
24
|
+
<title>图形处理 AScript</title>
|
|
25
|
+
<script>
|
|
26
|
+
(function () {
|
|
27
|
+
// 立即检测系统主题
|
|
28
|
+
const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
29
|
+
const theme = isDark ? 'dark' : 'light';
|
|
30
|
+
|
|
31
|
+
// 在页面还没渲染 Body 之前,就给 html 加上主题属性
|
|
32
|
+
document.documentElement.setAttribute('data-bs-theme', theme);
|
|
33
|
+
|
|
34
|
+
// 预设背景色,防止内容加载延迟时的白底
|
|
35
|
+
document.documentElement.style.backgroundColor = isDark ? '#212529' : '#ffffff';
|
|
36
|
+
})();
|
|
37
|
+
</script>
|
|
38
|
+
</head>
|
|
39
|
+
|
|
40
|
+
<body class="mycontainer" style="padding: 0px; margin: 0px; overflow: hidden;">
|
|
41
|
+
|
|
42
|
+
<canvas id="preview_img_canvas" crossOrigin="anonymous" style="display: none"></canvas>
|
|
43
|
+
<input type="file" id="fileupload" accept-charset="utf-8" name="avatar" hidden>
|
|
44
|
+
|
|
45
|
+
<div id="dropdownBackdrop" class="dropdown-backdrop-custom"></div>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<!-- 模板 -->
|
|
50
|
+
|
|
51
|
+
<template id="image_list_item_template">
|
|
52
|
+
<div class="col-6 col-md-4 col-lg-3 screen-img-item-wrapper">
|
|
53
|
+
<div class="img-card shadow-sm">
|
|
54
|
+
<img class="img-content" loading="lazy"
|
|
55
|
+
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">
|
|
56
|
+
<div class="img-name text-truncate"></div>
|
|
57
|
+
<button class="btn-del btn btn-danger btn-sm" title="删除图片">
|
|
58
|
+
<i class="bi bi-trash3"></i>
|
|
59
|
+
</button>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
|
|
64
|
+
<!-- 调试工具模态框 -->
|
|
65
|
+
<div class="modal fade" id="addDebugModal" tabindex="-1" aria-hidden="true">
|
|
66
|
+
<div class="modal-dialog modal-dialog-centered">
|
|
67
|
+
<div class="modal-content bg-dark text-light border-secondary">
|
|
68
|
+
<div class="modal-header border-secondary">
|
|
69
|
+
<h5 class="modal-title fs-6"><i class="bi bi-tools me-2"></i>添加本地调试工具</h5>
|
|
70
|
+
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="modal-body">
|
|
73
|
+
<div class="mb-3">
|
|
74
|
+
<label class="form-label small text-secondary">调试工具名称</label>
|
|
75
|
+
<input type="text" id="dbg_name" class="form-control form-control-sm bg-secondary text-white border-0"
|
|
76
|
+
placeholder="例如:图片查看器">
|
|
77
|
+
</div>
|
|
78
|
+
<div class="mb-3">
|
|
79
|
+
<label class="form-label small text-secondary">资源根目录 (物理绝对路径)</label>
|
|
80
|
+
<div class="input-group input-group-sm">
|
|
81
|
+
<input type="text" id="dbg_root" class="form-control bg-secondary text-white border-0"
|
|
82
|
+
placeholder="请选择或输入路径...">
|
|
83
|
+
<button class="btn btn-primary" type="button" onclick="handleSelectFolder()">
|
|
84
|
+
<i class="bi bi-folder2-open"></i> 浏览
|
|
85
|
+
</button>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="mb-3">
|
|
89
|
+
<label class="form-label small text-secondary">调试文件相对路径</label>
|
|
90
|
+
<input type="text" id="dbg_file" class="form-control form-control-sm bg-secondary text-white border-0"
|
|
91
|
+
placeholder="index.html">
|
|
92
|
+
<div class="form-text x-small text-muted">基于根目录的 HTML 入口文件</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
<div class="modal-footer border-secondary">
|
|
96
|
+
<button type="button" class="btn btn-sm btn-outline-secondary" data-bs-dismiss="modal">取消</button>
|
|
97
|
+
<button type="button" class="btn btn-sm btn-primary" onclick="handleSaveDebugPlug()">确定添加</button>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<!-- 错误模态框 -->
|
|
104
|
+
<div class="modal fade" id="errorModal" tabindex="-1" aria-hidden="true">
|
|
105
|
+
<div class="modal-dialog modal-lg modal-dialog-centered">
|
|
106
|
+
<div class="modal-content bg-transparent border-0">
|
|
107
|
+
<div class="modal-body p-0">
|
|
108
|
+
<div class="code-window shadow-lg">
|
|
109
|
+
<div class="code-header d-flex align-items-center px-3 justify-content-between">
|
|
110
|
+
<div class="d-flex align-items-center">
|
|
111
|
+
<div class="code-dots d-flex gap-1 me-3">
|
|
112
|
+
<span class="dot red" data-bs-dismiss="modal" style="cursor:pointer;"></span>
|
|
113
|
+
<!-- <span class="dot yellow"></span> -->
|
|
114
|
+
<!-- <span class="dot green"></span> -->
|
|
115
|
+
</div>
|
|
116
|
+
<div id="codeWindowTitle" class="text-secondary font-monospace"
|
|
117
|
+
style="font-size: 0.75rem; letter-spacing: 0.5px;">
|
|
118
|
+
TERMINAL — ERROR
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"
|
|
122
|
+
style="font-size: 0.6rem; opacity: 0.5;"></button>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="code-content">
|
|
125
|
+
<pre id="errorModalMsg"></pre>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="code-footer d-flex justify-content-end px-3 py-2">
|
|
128
|
+
<button class="btn btn-link btn-sm text-secondary text-decoration-none p-0" onclick="copyTraceback()"
|
|
129
|
+
style="font-size: 0.7rem;">COPY</button>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
<div id="mouse_hud" class="mouse-hud" style="display: none;">
|
|
139
|
+
<span class="hud-coords" id="hud_coords">0, 0</span>
|
|
140
|
+
<span class="hud-divider"></span>
|
|
141
|
+
<div id="hud_color_swatch" class="hud-swatch"></div>
|
|
142
|
+
<span class="hud-hex font-monospace" id="hud_hex">#FFFFFF</span>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<!-- d-none -->
|
|
146
|
+
<div id="imageGallery" class="gallery-fullscreen-panel shadow-lg border-start d-none">
|
|
147
|
+
<div class="gallery-header d-flex align-items-center justify-content-between p-2 bg-body-tertiary border-bottom">
|
|
148
|
+
<div class="d-flex align-items-center overflow-hidden">
|
|
149
|
+
<button
|
|
150
|
+
class="btn btn-sm btn-outline-secondary d-flex align-items-center p-1 me-3 border-0 shadow-none hover-close-btn"
|
|
151
|
+
onclick="closeGallery()" title="关闭 (Esc)">
|
|
152
|
+
<div class="d-flex align-items-center bg-body-secondary rounded px-1 me-1"
|
|
153
|
+
style="font-size: 9px; height: 16px; border: 1px solid var(--bs-border-color);">
|
|
154
|
+
ESC
|
|
155
|
+
</div>
|
|
156
|
+
<i class="bi bi-x-lg" style="font-size: 14px;"></i>
|
|
157
|
+
</button>
|
|
158
|
+
<nav aria-label="breadcrumb" class="text-truncate">
|
|
159
|
+
<ol class="breadcrumb mb-0" style="font-size: 0.8rem;">
|
|
160
|
+
<li class="breadcrumb-item"><a href="#" id="cache_imgs_path">Cache</a></li>
|
|
161
|
+
</ol>
|
|
162
|
+
</nav>
|
|
163
|
+
</div>
|
|
164
|
+
<div class="d-flex gap-2">
|
|
165
|
+
<span class="imglist_size badge rounded-pill border text-body-secondary fw-normal">-</span>
|
|
166
|
+
<button id="toolbar_img_delall" class="btn btn-outline-danger btn-sm px-2 py-0 d-flex align-items-center"
|
|
167
|
+
style="font-size: 11px; height: 24px;">
|
|
168
|
+
<span id="delall_text">清空</span>
|
|
169
|
+
|
|
170
|
+
<div id="delall_spinner" class="spinner-border spinner-border-sm ms-1" role="status"
|
|
171
|
+
style="display: none; width: 10px; height: 10px; border-width: 2px;">
|
|
172
|
+
<span class="visually-hidden">Loading...</span>
|
|
173
|
+
</div>
|
|
174
|
+
</button>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div class="screen-img-list row g-2 m-0 p-2 overflow-y-auto align-content-start">
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
<div class="row screen-container">
|
|
183
|
+
|
|
184
|
+
<div class="screen-img-bar">
|
|
185
|
+
|
|
186
|
+
<span id="toolbar" class="" data-toggle="tooltip" data-placement="right" title="窗口">
|
|
187
|
+
<i class="bi bi-window"></i>
|
|
188
|
+
</span>
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
<span class="screen-img-bar-item col-auto d-flex" style="position: relative;" onclick="capture_window_image()"
|
|
192
|
+
data-toggle="tooltip" data-placement="right" title="截图[shift+s]">
|
|
193
|
+
<i id="capture_icon" class="bi bi-camera"></i>
|
|
194
|
+
|
|
195
|
+
<span id="imagelist_loading" class="d-none"
|
|
196
|
+
style="padding: 0; margin: 0px; position: absolute; width: 100%; height: 100%; left: 0; top: 0; background-color: rgba(239, 239, 239, 0.8); display: flex; align-items: center; justify-content: center;"
|
|
197
|
+
role="status">
|
|
198
|
+
<span class="spinner-border spinner-border-sm text-primary" role="status" aria-hidden="true"></span>
|
|
199
|
+
</span>
|
|
200
|
+
</span>
|
|
201
|
+
|
|
202
|
+
<span id="toolbar_img_upload" class="screen-img-bar-item col-auto" data-toggle="tooltip" data-placement="right"
|
|
203
|
+
title="上传图片">
|
|
204
|
+
<i class="bi bi-upload"></i>
|
|
205
|
+
</span>
|
|
206
|
+
|
|
207
|
+
<span id="toolbar_zoom_reset" class="screen-img-bar-item col-auto" onclick="window.resetViewToFit(10)"
|
|
208
|
+
data-toggle="tooltip" data-placement="right" title="重置">
|
|
209
|
+
<i class="bi bi-arrow-repeat"></i>
|
|
210
|
+
</span>
|
|
211
|
+
|
|
212
|
+
<span class="screen-img-bar-item col-auto" data-toggle="tooltip" data-placement="right"
|
|
213
|
+
onclick="window.gp.marks.clear()" title="清空标注">
|
|
214
|
+
<i class="bi bi-slash-square"></i>
|
|
215
|
+
</span>
|
|
216
|
+
|
|
217
|
+
</div>
|
|
218
|
+
<div class="screen-img-container" style="width: 35vw; position: relative;">
|
|
219
|
+
<div class="screen-img-statue w-100 d-flex align-items-center justify-content-between py-1" style="height: 38px;">
|
|
220
|
+
|
|
221
|
+
<div class="d-flex align-items-center position-relative" style="left: -40px;">
|
|
222
|
+
<div class="dropdown">
|
|
223
|
+
<button id="windowSelector"
|
|
224
|
+
class="btn btn-outline-secondary btn-sm dropdown-toggle d-flex align-items-center" type="button"
|
|
225
|
+
data-bs-toggle="dropdown" aria-expanded="false" style="font-size: 0.85rem; border: 1px solid #dee2e6;">
|
|
226
|
+
<i class="bi bi-window me-2"></i> <span id="windowSelector_content">全屏截图</span>
|
|
227
|
+
</button>
|
|
228
|
+
<ul id="windowList" class="dropdown-menu shadow">
|
|
229
|
+
<li>
|
|
230
|
+
<a class="dropdown-item active window-item-link" href="javascript:void(0)" data-hwnd="null"
|
|
231
|
+
data-display="全屏截图" onclick="selectWindow('全屏截图', null, null)">
|
|
232
|
+
<span class="win-title-text">全屏截图</span>
|
|
233
|
+
<span class="win-hwnd-num">Default</span>
|
|
234
|
+
</a>
|
|
235
|
+
</li>
|
|
236
|
+
<li>
|
|
237
|
+
<hr class="dropdown-divider">
|
|
238
|
+
</li>
|
|
239
|
+
</ul>
|
|
240
|
+
</div>
|
|
241
|
+
<span id="header_pixels" class="text-body-secondary ms-3" style="font-size: 0.75rem;">0 x 0</span>
|
|
242
|
+
</div>
|
|
243
|
+
|
|
244
|
+
<div class="d-flex align-items-center">
|
|
245
|
+
<button class="btn btn-sm p-0 border-0 shadow-none text-body-secondary history-btn" onclick="openGallery()"
|
|
246
|
+
title="查看历史图片" data-bs-toggle="tooltip" data-bs-placement="bottom">
|
|
247
|
+
<i class="bi bi-images" style="font-size: 1.1rem;"></i>
|
|
248
|
+
</button>
|
|
249
|
+
</div>
|
|
250
|
+
|
|
251
|
+
</div>
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
<div class="screen-img-con">
|
|
255
|
+
<div id="container_img" class="screen-img-shower col-12"
|
|
256
|
+
style="position: relative; overflow: hidden; cursor: crosshair;">
|
|
257
|
+
<div id="transform_container" style="position: absolute; transform-origin: 0 0; will-change: transform;">
|
|
258
|
+
|
|
259
|
+
<img id="img_preview" crossorigin="anonymous"
|
|
260
|
+
style="image-rendering: pixelated; display: block; user-select: none; -webkit-user-drag: none;">
|
|
261
|
+
|
|
262
|
+
<svg id="svg_layer"
|
|
263
|
+
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: visible;">
|
|
264
|
+
<g id="mark_points_layer"></g>
|
|
265
|
+
<g id="mark_rects_layer"></g>
|
|
266
|
+
|
|
267
|
+
<g id="selection_group" style="visibility: hidden;">
|
|
268
|
+
<rect id="selection_rect" fill="rgba(var(--bs-primary-rgb), 0.1)" stroke="var(--bs-primary)"
|
|
269
|
+
stroke-width="2" style="cursor: move;"></rect>
|
|
270
|
+
<circle class="handle" id="h_nw" style="cursor: nwse-resize;"></circle>
|
|
271
|
+
<circle class="handle" id="h_n" style="cursor: ns-resize;"></circle>
|
|
272
|
+
<circle class="handle" id="h_ne" style="cursor: nesw-resize;"></circle>
|
|
273
|
+
<circle class="handle" id="h_e" style="cursor: ew-resize;"></circle>
|
|
274
|
+
<circle class="handle" id="h_se" style="cursor: nwse-resize;"></circle>
|
|
275
|
+
<circle class="handle" id="h_s" style="cursor: ns-resize;"></circle>
|
|
276
|
+
<circle class="handle" id="h_sw" style="cursor: nesw-resize;"></circle>
|
|
277
|
+
<circle class="handle" id="h_w" style="cursor: ew-resize;"></circle>
|
|
278
|
+
</g>
|
|
279
|
+
</svg>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
<div class="info-group">
|
|
285
|
+
<div id="info_selection_box" class="info-panel mb-1" style="display: none;"
|
|
286
|
+
style="display: none; background: rgba(33, 37, 41, 0.8); backdrop-filter: blur(4px); border-radius: 4px; padding: 5px 10px; border: 1px solid rgba(255,255,255,0.1);">
|
|
287
|
+
<div class="d-flex align-items-center gap-2" style="font-size: 0.75rem; color: #fff;">
|
|
288
|
+
<i class="bi bi-selection-all text-primary"></i>
|
|
289
|
+
<span style="opacity: 0.5;">选区范围 [</span>
|
|
290
|
+
<span id="sel_range_text" class="font-monospace fw-bold text-primary">0, 0, 0, 0</span>
|
|
291
|
+
<span style="opacity: 0.5;">]</span>
|
|
292
|
+
</div>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
<div class="interaction-hints d-flex gap-3 px-3 py-2">
|
|
299
|
+
<div class="hint-item">
|
|
300
|
+
<i class="bi bi-mouse2"></i> <span>滚轮缩放</span>
|
|
301
|
+
</div>
|
|
302
|
+
<div class="hint-item">
|
|
303
|
+
<i class="bi bi-mouse3-fill"></i> <span>右键平移</span>
|
|
304
|
+
</div>
|
|
305
|
+
<div class="hint-item">
|
|
306
|
+
<kbd>0-9</kbd> <span>快速取色</span>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
<canvas id="color_picker_canvas" style="display:none;"></canvas>
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
<div class="touch_slide"></div>
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
317
|
+
|
|
318
|
+
<div class="col-2 border-end bg-body-tertiary" style="height: 100%; padding: 0px; margin: 0px;">
|
|
319
|
+
<div class="plug-list-con d-flex flex-column h-100">
|
|
320
|
+
|
|
321
|
+
<div class="p-2 d-flex align-items-center justify-content-between border-bottom border-secondary-subtle mb-2">
|
|
322
|
+
<span class="d-flex align-items-center">
|
|
323
|
+
<i class="bi bi-ui-checks-grid me-2 text-primary" style="font-size: 14px;"></i>
|
|
324
|
+
<span class="fw-bold text-secondary-emphasis"
|
|
325
|
+
style="font-size: 12px; letter-spacing: 0.5px; text-transform: uppercase;">插件中心</span>
|
|
326
|
+
<div id="plug-loading" class="spinner-border spinner-border-sm text-primary ms-2"
|
|
327
|
+
style="display:none; --bs-spinner-width: 0.75rem; --bs-spinner-height: 0.75rem;">
|
|
328
|
+
</div>
|
|
329
|
+
</span>
|
|
330
|
+
|
|
331
|
+
<div class="d-flex align-items-center">
|
|
332
|
+
<button class="btn btn-icon-vscode" onclick="promptAddDebugPlug()" title="添加本地调试插件">
|
|
333
|
+
<i class="bi bi-plus-lg"></i>
|
|
334
|
+
</button>
|
|
335
|
+
</div>
|
|
336
|
+
</div>
|
|
337
|
+
|
|
338
|
+
<div class="flex-grow-1 overflow-y-auto px-2">
|
|
339
|
+
|
|
340
|
+
<div>
|
|
341
|
+
<div class="flex-grow-1 overflow-y-auto">
|
|
342
|
+
<div id="debug_group_wrapper" style="display: none;" class="mb-2">
|
|
343
|
+
<div class="d-flex align-items-center justify-content-between p-2 rounded-2 text-secondary hover-bg"
|
|
344
|
+
style="cursor: pointer; font-size: 12px; letter-spacing: 1px;" data-bs-toggle="collapse"
|
|
345
|
+
data-bs-target="#debug-collapse">
|
|
346
|
+
<div>
|
|
347
|
+
<span class="fw-bold">调试工具</span>
|
|
348
|
+
<i class="bi bi-plus-circle-fill ms-2 text-primary opacity-75" title="添加调试地址"
|
|
349
|
+
onclick="event.stopPropagation(); promptAddDebugPlug();"></i>
|
|
350
|
+
</div>
|
|
351
|
+
<i class="bi bi-chevron-down opacity-50"></i>
|
|
352
|
+
</div>
|
|
353
|
+
<div class="collapse show" id="debug-collapse">
|
|
354
|
+
<ul id="group_plug_debug" class="list-unstyled mt-1">
|
|
355
|
+
</ul>
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
|
|
359
|
+
<div class="mb-2">
|
|
360
|
+
</div>
|
|
361
|
+
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
|
|
365
|
+
<div class="mb-2">
|
|
366
|
+
<div class="d-flex align-items-center justify-content-between p-2 rounded-2 text-secondary hover-bg"
|
|
367
|
+
style="cursor: pointer; font-size: 12px; letter-spacing: 1px;" data-bs-toggle="collapse"
|
|
368
|
+
data-bs-target="#sys-collapse">
|
|
369
|
+
<span class="fw-bold">系统工具</span>
|
|
370
|
+
<i class="bi bi-chevron-down opacity-50"></i>
|
|
371
|
+
</div>
|
|
372
|
+
<div class="collapse show" id="sys-collapse">
|
|
373
|
+
<ul id="group_plug_system" class="list-unstyled mt-1">
|
|
374
|
+
</ul>
|
|
375
|
+
</div>
|
|
376
|
+
</div>
|
|
377
|
+
|
|
378
|
+
<div style="display: none;">
|
|
379
|
+
<div class="d-flex align-items-center justify-content-between p-2 rounded-2 text-secondary hover-bg"
|
|
380
|
+
style="cursor: pointer; font-size: 12px; letter-spacing: 1px;" data-bs-toggle="collapse"
|
|
381
|
+
data-bs-target="#cloud-collapse">
|
|
382
|
+
<span class="fw-bold">云端插件</span>
|
|
383
|
+
<i class="bi bi-chevron-down opacity-50"></i>
|
|
384
|
+
</div>
|
|
385
|
+
<div class="collapse show" id="cloud-collapse">
|
|
386
|
+
<ul id="cloud-group" class="list-unstyled mt-1">
|
|
387
|
+
</ul>
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
|
+
|
|
391
|
+
</div>
|
|
392
|
+
</div>
|
|
393
|
+
</div>
|
|
394
|
+
|
|
395
|
+
<div class="col control-borad d-flex flex-column" style="height: 100vh;">
|
|
396
|
+
<iframe id="gpiframe" style="width: 100%; height: 100%; border: none;" scrolling="auto"> </iframe>
|
|
397
|
+
</div>
|
|
398
|
+
|
|
399
|
+
<div id="as_toast" class="position-fixed bottom-0 right-0 p-3" style="z-index: 5; right: 0; bottom: 0;">
|
|
400
|
+
<div id="liveToast" class="toast hide" style="min-width: 20vw;" role="alert" aria-live="assertive"
|
|
401
|
+
aria-atomic="true" data-delay="2000">
|
|
402
|
+
<div class="toast-header">
|
|
403
|
+
<img src="../assets/img/mipmap/ico_tip.png" style="width: 20px;" class="rounded mr-2" alt="...">
|
|
404
|
+
<strong class="mr-auto">消息提示</strong>
|
|
405
|
+
<small></small>
|
|
406
|
+
<button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
|
|
407
|
+
<span aria-hidden="true">×</span>
|
|
408
|
+
</button>
|
|
409
|
+
</div>
|
|
410
|
+
<div id="as_toast_msg" class="toast-body text-success" style="background-color: #FAfAfA;">
|
|
411
|
+
|
|
412
|
+
</div>
|
|
413
|
+
</div>
|
|
414
|
+
</div>
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
<!-- 这里是 所有条目的 模版 -->
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
<div id="hidden_con" style="display: none;">
|
|
421
|
+
|
|
422
|
+
<li id="gp_line_list_item" class="gp_line_list_item row col-12 mt-1 pt-2"
|
|
423
|
+
style="padding: 0px; margin: 0px; background-color: white;">
|
|
424
|
+
<div class="row col-12" style=" margin: 0px;">
|
|
425
|
+
<span class="col-3 text-primary gp_id" style="font-size: large;">id:1.1.1</span>
|
|
426
|
+
<span class="col-3 "><i class="bi bi-person"></i><span class="gp_author text-black-50"></span></span>
|
|
427
|
+
<span class="col-3 mr-auto"><i class="bi bi-fire text-danger"></i><span
|
|
428
|
+
class="text-black-50 gp_hot"></span></span>
|
|
429
|
+
<span class="col-auto gp_load">
|
|
430
|
+
<div class="btn-group" role="group" aria-label="Basic example">
|
|
431
|
+
<button type="button" class="btn btn-secondary gp_info">详情</button>
|
|
432
|
+
<button type="button" class="btn btn-success gp_add">加载</button>
|
|
433
|
+
</div>
|
|
434
|
+
</span>
|
|
435
|
+
</div>
|
|
436
|
+
<div class="gp_line_childs" style="margin: 0px; width: 100%;">
|
|
437
|
+
|
|
438
|
+
</div>
|
|
439
|
+
</li>
|
|
440
|
+
|
|
441
|
+
<div id="gp_line_list_item_child" class="gp_line_list_item_child"><span class="gp_line_id text-info">123</span>
|
|
442
|
+
<span class="gp_line_des ml-2 text-secondary">123</span>
|
|
443
|
+
</div>
|
|
444
|
+
|
|
445
|
+
<img id="image_list_item" class="screen-img-list-item ml-2" data-toggle="tooltip" data-placement="top" title="">
|
|
446
|
+
|
|
447
|
+
<div id="mark-point-item" class="mark-point-item shadow" style="">
|
|
448
|
+
<span class="mark-point badge badge-danger shadow" style="border-radius: 20px;">·</span>
|
|
449
|
+
<span class="badge mark-point-des"><span class="mark-points-number badge badge-pill badge-warning">2</span><span
|
|
450
|
+
class="mark-points-xy ml-1">23,400</span></span>
|
|
451
|
+
</div>
|
|
452
|
+
|
|
453
|
+
<div id="mark-rect-item" class="mark-rect-item shadow-lg">
|
|
454
|
+
<span class="badge badge-danger mark-rect-number">1</span>
|
|
455
|
+
</div>
|
|
456
|
+
|
|
457
|
+
<li id="coder-board-body-item" class="row col-12 coder-board-body-item">
|
|
458
|
+
<span class="row col-4 d-flex align-items-center coder-board-body-item-left">
|
|
459
|
+
<span class="ml-1 coder-board-body-item-left-ico d-flex align-items-center"><i
|
|
460
|
+
class="bi bi-arrow-down"></i></span>
|
|
461
|
+
<span class="ml-3 mr-auto item-name">图片裁剪</span>
|
|
462
|
+
<span class="mr-3 d-flex align-items-center" style="padding: 0px; margin: 0px;">
|
|
463
|
+
<span id="coder-board-body-item_fix" class="mr-3 item_action"><i class="bi bi-wrench"></i></span>
|
|
464
|
+
<span id="coder-board-body-item_delect" class="item_action mr-3"><i class="bi bi-x-circle-fill"></i></span>
|
|
465
|
+
</span>
|
|
466
|
+
</span>
|
|
467
|
+
<span class="row col-8 d-flex align-items-center coder-board-body-item-right">
|
|
468
|
+
<span class="ml-2 item-code">action.add(<code>GPCrop(1,1,100,100)</code>)</span>
|
|
469
|
+
</span>
|
|
470
|
+
</li>
|
|
471
|
+
</div>
|
|
472
|
+
|
|
473
|
+
</div>
|
|
474
|
+
|
|
475
|
+
<div
|
|
476
|
+
class="container_bottombar d-flex align-items-center justify-content-between px-2 bg-body-tertiary border-top text-body-secondary"
|
|
477
|
+
style="height: 26px; font-size: 11px; cursor: default;">
|
|
478
|
+
|
|
479
|
+
<div class="d-flex align-items-center overflow-hidden" style="max-width: 70%;">
|
|
480
|
+
<i class="bi-file-earmark-image me-1"></i>
|
|
481
|
+
<span id="status_file_path" class="text-truncate">未加载文件</span>
|
|
482
|
+
</div>
|
|
483
|
+
|
|
484
|
+
<div class="d-flex align-items-center ps-3 border-start border-secondary-subtle">
|
|
485
|
+
<i id="status_dot" class="bi bi-dot text-primary" style="font-size: 20px; display: none; line-height: 0;"></i>
|
|
486
|
+
<span id="status_notification" class="text-nowrap text-body-secondary">就绪</span>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
|
|
490
|
+
<div class="zoomContainer"
|
|
491
|
+
style="-webkit-transform: translateZ(0);position:absolute; display: none; pointer-events: none; ">
|
|
492
|
+
<div class="zoomWindowContainer" style="height: 180px;">
|
|
493
|
+
<div
|
|
494
|
+
style="overflow: hidden; background-position: 200px 200px; text-align: center; background-color: rgb(255, 255, 255); width: 160px; height: 160px; float: left; z-index: 100; background-repeat: no-repeat; position: absolute; margin-top: 30px;"
|
|
495
|
+
class="zoomWindow shadow-lg">
|
|
496
|
+
<div class="zoomWindow_lines">
|
|
497
|
+
<div class="shadow-info-sm" style="background-color: red; width: 100%;height: 1px;"></div>
|
|
498
|
+
<div class="shadow-info-sm" style="background-color: red; position: absolute; height: 100%;width: 1px;">
|
|
499
|
+
</div>
|
|
500
|
+
<span
|
|
501
|
+
style="width: 3px; height: 3px;position: absolute; background-color: transparent; border-radius: 20px; border: white solid 1px;"></span>
|
|
502
|
+
</div>
|
|
503
|
+
</div>
|
|
504
|
+
<div style="margin-top: -10px;">
|
|
505
|
+
<span class=" shadow-lg small"
|
|
506
|
+
style="border-radius: 5px; background-color: rgba(255, 255, 255, 0.5); padding:1px">
|
|
507
|
+
<i class="bi bi-mouse toolbar_img_delall-mousecolor mr-1"></i>
|
|
508
|
+
<span id="header_cur_rgb">#efefef</span>
|
|
509
|
+
<span id="header_cur_xy" class="ml-1"></span>
|
|
510
|
+
|
|
511
|
+
</span>
|
|
512
|
+
</div>
|
|
513
|
+
</div>
|
|
514
|
+
</div>
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
<script src="/eel.js" type="text/javascript"></script>
|
|
518
|
+
<script src="./libs/jquery-menu/jquery.contextMenu.js"></script>
|
|
519
|
+
<script src="./js/screen/gp_plug.js"></script>
|
|
520
|
+
<script src="./js/screen/plug.js"></script>
|
|
521
|
+
<script src="./js/screen/screen.js"></script>
|
|
522
|
+
<script src="./js/screen/image_mouse.js"></script>
|
|
523
|
+
<script src="./js/screen/screen_maker.js"></script>
|
|
524
|
+
<!-- <script src="./js/screen/screen_api.js"></script> -->
|
|
525
|
+
<!-- <script src="./js/screen/gp_plug.js"></script> -->
|
|
526
|
+
<script src="./js/screen/colors.js"></script>
|
|
527
|
+
<script src="./js/screen/img_view.js"></script>
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
</body>
|
|
531
|
+
|
|
532
|
+
</html>
|