feat: threshold presets (standard, outdoor, night, portrait, nature, studio)
This commit is contained in:
32
index.html
32
index.html
@@ -101,6 +101,18 @@
|
|||||||
<details style="margin-top: 1rem;">
|
<details style="margin-top: 1rem;">
|
||||||
<summary style="cursor: pointer; color: #aaa; font-size: 0.9rem; user-select: none;">Schwellenwerte anpassen</summary>
|
<summary style="cursor: pointer; color: #aaa; font-size: 0.9rem; user-select: none;">Schwellenwerte anpassen</summary>
|
||||||
<div style="margin-top: 1rem;">
|
<div style="margin-top: 1rem;">
|
||||||
|
<div class="slider-row">
|
||||||
|
<div class="slider-label"><span>Preset</span></div>
|
||||||
|
<select id="preset-select" style="width:100%; padding:0.4rem 0.6rem; border-radius:8px; border:1px solid #333; background:#0f3460; color:#fff; font-size:0.9rem; cursor:pointer;">
|
||||||
|
<option value="">— Preset wählen —</option>
|
||||||
|
<option value="standard">Standard</option>
|
||||||
|
<option value="outdoor">Draußen</option>
|
||||||
|
<option value="night">Nacht</option>
|
||||||
|
<option value="portrait">Portrait</option>
|
||||||
|
<option value="nature">Natur</option>
|
||||||
|
<option value="studio">Studio</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="slider-row">
|
<div class="slider-row">
|
||||||
<div class="slider-label"><span>Unschaerfe-Grenze</span><span id="blur-val">100</span></div>
|
<div class="slider-label"><span>Unschaerfe-Grenze</span><span id="blur-val">100</span></div>
|
||||||
<input type="range" id="blur-threshold" min="10" max="500" value="100">
|
<input type="range" id="blur-threshold" min="10" max="500" value="100">
|
||||||
@@ -183,6 +195,26 @@
|
|||||||
input.addEventListener("input", () => { label.textContent = input.value; });
|
input.addEventListener("input", () => { label.textContent = input.value; });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// --- Presets ---
|
||||||
|
const PRESETS = {
|
||||||
|
standard: { blur: 100, over: 240, under: 30, dup: 8 },
|
||||||
|
outdoor: { blur: 80, over: 235, under: 15, dup: 8 },
|
||||||
|
night: { blur: 40, over: 210, under: 5, dup: 10 },
|
||||||
|
portrait: { blur: 150, over: 245, under: 30, dup: 5 },
|
||||||
|
nature: { blur: 60, over: 238, under: 12, dup: 10 },
|
||||||
|
studio: { blur: 160, over: 248, under: 40, dup: 4 },
|
||||||
|
};
|
||||||
|
|
||||||
|
el("preset-select").addEventListener("change", () => {
|
||||||
|
const preset = PRESETS[el("preset-select").value];
|
||||||
|
if (!preset) return;
|
||||||
|
["blur", "over", "under", "dup"].forEach(key => {
|
||||||
|
const input = el(key + "-threshold");
|
||||||
|
input.value = preset[key];
|
||||||
|
el(key + "-val").textContent = preset[key];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// --- Folder picker ---
|
// --- Folder picker ---
|
||||||
el("pick-btn").addEventListener("click", async () => {
|
el("pick-btn").addEventListener("click", async () => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user