Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 454c938728 |
4
app.py
4
app.py
@@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
图片编辑器 - Image Editor v1.2.2
|
图片编辑器 - Image Editor v1.2.3
|
||||||
前端图片处理工具:合并、分割、挖孔填充、圆形切图、文字图片等
|
前端图片处理工具:合并、分割、挖孔填充、圆形切图、文字图片等
|
||||||
v1.2.2: 右侧面板始终显示,首页显示快捷入口
|
v1.2.3: 执行操作后保持当前配置面板
|
||||||
|
|
||||||
端口: 19018
|
端口: 19018
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>图片编辑器 - Image Editor v1.2.2</title>
|
<title>图片编辑器 - Image Editor v1.2.3</title>
|
||||||
<script src="https://cdn.tailwindcss.com"></script>
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
<link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
@@ -199,6 +199,13 @@
|
|||||||
showPanel('home');
|
showPanel('home');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 刷新当前工具面板(执行操作后保持当前配置)
|
||||||
|
function refreshCurrentPanel() {
|
||||||
|
if (state.currentTool) {
|
||||||
|
showPanel(state.currentTool);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 初始化
|
// 初始化
|
||||||
function init() {
|
function init() {
|
||||||
setupDragDrop();
|
setupDragDrop();
|
||||||
@@ -992,7 +999,7 @@
|
|||||||
const mergedData = canvas.toDataURL('image/png');
|
const mergedData = canvas.toDataURL('image/png');
|
||||||
state.images = [];
|
state.images = [];
|
||||||
loadImage(mergedData, 'merged');
|
loadImage(mergedData, 'merged');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
function applySplit() {
|
function applySplit() {
|
||||||
@@ -1029,7 +1036,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById('splitResults').classList.remove('hidden');
|
document.getElementById('splitResults').classList.remove('hidden');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
saveState(`分割 (${cols}x${rows})`);
|
saveState(`分割 (${cols}x${rows})`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1170,7 +1177,7 @@
|
|||||||
const circleData = canvas.toDataURL('image/png');
|
const circleData = canvas.toDataURL('image/png');
|
||||||
state.images = [];
|
state.images = [];
|
||||||
loadImage(circleData, 'circle');
|
loadImage(circleData, 'circle');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
function createTextImage() {
|
function createTextImage() {
|
||||||
@@ -1221,7 +1228,7 @@
|
|||||||
const textData = canvas.toDataURL('image/png');
|
const textData = canvas.toDataURL('image/png');
|
||||||
state.images = [];
|
state.images = [];
|
||||||
loadImage(textData, 'text');
|
loadImage(textData, 'text');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
function applyResize() {
|
function applyResize() {
|
||||||
@@ -1239,7 +1246,7 @@
|
|||||||
const resizedData = canvas.toDataURL('image/png');
|
const resizedData = canvas.toDataURL('image/png');
|
||||||
state.images = [];
|
state.images = [];
|
||||||
loadImage(resizedData, 'resized');
|
loadImage(resizedData, 'resized');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
function applyCrop() {
|
function applyCrop() {
|
||||||
@@ -1259,7 +1266,7 @@
|
|||||||
const croppedData = canvas.toDataURL('image/png');
|
const croppedData = canvas.toDataURL('image/png');
|
||||||
state.images = [];
|
state.images = [];
|
||||||
loadImage(croppedData, 'cropped');
|
loadImage(croppedData, 'cropped');
|
||||||
goHome();
|
refreshCurrentPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveImage() {
|
function saveImage() {
|
||||||
|
|||||||
Reference in New Issue
Block a user