File size: 5,879 Bytes
2c51ce3 20604cb 2c51ce3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์ด๋ฏธ์ง ๊ฒน์น๊ธฐ ํธ์ง๊ธฐ (์ฌ๋ฌ ์ด๋ฏธ์ง ์ง์)</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<div class="upload-container">
<div class="upload-box">
<span class="upload-label">1. ์๋ณธ ์ด๋ฏธ์ง ์ ํ</span>
<input type="file" id="background-input" class="file-input" accept="image/*">
<label for="background-input" class="upload-button">์๋ณธ ์ด๋ฏธ์ง ์
๋ก๋</label>
</div>
<div class="upload-box">
<span class="upload-label">2. ๋ฐฐ๊ฒฝ ์ ๊ฑฐ๋ ์ด๋ฏธ์ง ์ ํ (์ถ์ถ๋ PNG, ์ฌ๋ฌ ๊ฐ ๊ฐ๋ฅ)</span>
<input type="file" id="overlay-input" class="file-input" accept="image/*">
<label for="overlay-input" class="upload-button">๊ฒน์น ์ด๋ฏธ์ง ์
๋ก๋</label>
</div>
</div>
<div class="control-panel">
<div class="control-group">
<h3>์์น ๋ฐ ํฌ๊ธฐ (์ ํ๋ ์ด๋ฏธ์ง)</h3>
<div class="slider-container">
<label for="scale-slider">ํฌ๊ธฐ:</label>
<input type="range" id="scale-slider" min="10" max="500" value="100" disabled>
<span id="scale-value" class="value-display">100%</span>
</div>
<div class="slider-container">
<label for="rotation-slider">ํ์ :</label>
<input type="range" id="rotation-slider" min="0" max="360" value="0" disabled>
<span id="rotation-value" class="value-display">0ยฐ</span>
</div>
</div>
<div class="control-group">
<h3>์์ ์ด๋ฏธ์ง ์ ํ</h3>
<div id="example-images-container" style="display: flex; justify-content: space-around; margin-top: 15px;">
<img src="1.png" alt="Example 1" class="example-img" data-filename="1.png" style="width: 160px; height: 160px; cursor: pointer; border: 1px solid #ccc;">
<img src="2.png" alt="Example 2" class="example-img" data-filename="2.png" style="width: 160px; height: 160px; cursor: pointer; border: 1px solid #ccc;">
<img src="3.png" alt="Example 3" class="example-img" data-filename="3.png" style="width: 160px; height: 160px; cursor: pointer; border: 1px solid #ccc;">
<img src="4.png" alt="Example 4" class="example-img" data-filename="4.png" style="width: 160px; height: 160px; cursor: pointer; border: 1px solid #ccc;">
</div>
</div>
<div class="control-group filter-panel">
</div>
<div class="control-group" id="layers-panel">
<h3>๋ ์ด์ด ๋ชฉ๋ก</h3>
<div class="layer-option">
</div>
<div id="layers-list" class="layers-list">
</div>
</div>
<div class="canvas-container">
<canvas id="canvas" width="800" height="600"></canvas>
</div>
<!-- ํํฐ ์ค์ ์น์
์ ์ด๋ฏธ์ง ์๋๋ก ์ด๋ -->
<div class="filter-panel">
<h3>ํํฐ ์ค์ (์ ํ ๋ ์ด์ด์ ์ ์ฉ)</h3>
<div class="filter-sliders">
<div class="filter-slider-container">
<label for="temperature-slider">์์จ๋:</label>
<input type="range" id="temperature-slider" min="-100" max="100" value="0" step="5" class="large-slider">
<span id="temperature-value" class="value-display">0</span>
</div>
<div class="filter-slider-container">
<label for="brightness-slider">๋ฐ๊ธฐ:</label>
<input type="range" id="brightness-slider" min="0" max="200" value="100" step="5" class="large-slider">
<span id="brightness-value" class="value-display">100%</span>
</div>
<div class="filter-slider-container">
<label for="contrast-slider">๋๋น:</label>
<input type="range" id="contrast-slider" min="50" max="150" value="100" step="5" class="large-slider">
<span id="contrast-value" class="value-display">100%</span>
</div>
<div class="filter-slider-container">
<label for="saturation-slider">์ฑ๋:</label>
<input type="range" id="saturation-slider" min="0" max="200" value="100" step="5" class="large-slider">
<span id="saturation-value" class="value-display">100%</span>
</div>
</div>
<div class="filter-buttons">
<button id="reset-filter-btn" class="danger-btn">ํํฐ ์ด๊ธฐํ</button>
</div>
</div>
<div class="button-container">
<button id="generate-btn" class="primary-btn" disabled>์ด๋ฏธ์ง ํฉ์น๊ธฐ</button>
<button id="reset-all-btn" class="danger-btn">์ฒ์๋ถํฐ</button>
<button id="download-btn" class="info-btn" disabled>๋ค์ด๋ก๋</button>
</div>
<div class="preview-container" id="preview-container">
<h3>ํฉ์ฑ๋ ์ด๋ฏธ์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ</h3>
<img id="preview-img" alt="ํฉ์ฑ ์ด๋ฏธ์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ">
</div>
</div>
</div>
<!-- ์คํฌ๋ฆฝํธ ํ์ผ ๋ก๋ -->
<script src="filter.js"></script>
<script src="script.js"></script>
</body>
</html> |