优化缩略图

This commit is contained in:
Yeomai committed 2026-09-20 02:31:07 +08:00
1 parent fe4997f913
commit c28adf9fae
21 files changed
+74 -24

No files matched your search

+6 -3
View File
@@ -103,7 +103,7 @@
<span data-i18n="viewer.framesUnit">帧</span>
</div>
<label class="animated-thumb-quality"><span data-i18n="viewer.animatedMaxSize">缩略图大小</span>
<span class="animated-thumb-size"><input id="animatedThumbMaxSize" type="number" min="10" max="1024" step="10" value="30"><span>KB</span></span>
<span class="animated-thumb-size"><input id="animatedThumbMaxSize" type="number" min="10" max="1024" step="10" value="25"><span>KB</span></span>
</label>
<label class="animated-thumb-quality"><span data-i18n="viewer.animatedCanvas">输出尺寸</span>
<select id="animatedThumbCanvas">
@@ -129,7 +129,7 @@
<div id="animatedPickDialog" class="thumb-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="animatedPickTitle">
<div class="thumb-dialog-card animated-pick-card">
<div id="animatedPickTitle" class="thumb-dialog-title" data-i18n="viewer.animatedPickTitle">选择一个缩略图</div>
<div class="thumb-dialog-note" data-i18n="viewer.animatedPickHint">所有结果画布都是 400×400,标签为实际细节分辨率@帧率/质量/文件大小。点击一个结果即替换缩略图,关闭则全部放弃。</div>
<div id="animatedPickHint" class="thumb-dialog-note">所有结果画布都是 400×400,标签为实际细节分辨率@帧率/质量/文件大小。点选一个结果后按确认替换缩略图,关闭则全部放弃。</div>
<div id="animatedPickGrid" class="animated-pick-grid"></div>
<div id="animatedPickNotice" class="animated-pick-notice"></div>
<div class="thumb-dialog-actions">
@@ -838,7 +838,8 @@
formatInput.value = 'webp';
priorityInput.value = animatedProfileConfig.DEFAULT_PRIORITY;
canvasInput.value = String(animatedProfileConfig.DEFAULT_OUTPUT_SIZE);
maxSizeInput.value = '30';
// 默认值跟动画时长走:每秒 25 KB,夹在 25–100 KB 之间;用户随时可以手动改。
maxSizeInput.value = String(animatedProfileConfig.suggestSize(animationLength));
errorEl.textContent = '';
dialog.classList.remove('hidden');
return new Promise((resolve) => {
@@ -1108,6 +1109,8 @@
const notice = document.getElementById('animatedPickNotice');
const cancelButton = document.getElementById('animatedPickCancel');
const confirmButton = document.getElementById('animatedPickConfirm');
// 提示里的画布尺寸跟着界面选的输出尺寸走,不写死。
document.getElementById('animatedPickHint').textContent = t('viewer.animatedPickHint', { size: size + '×' + size });
const targetBytes = options.maxKilobytes * 1024;
// 锚点插值成更密的搜索路径,候选数量仍按锚点数量给。
const searchPath = animatedProfileConfig.expandAnimatedPath(options.priority, options.canvasSize);