image-editor / index.html
soiz1's picture
Update index.html
16d69bd verified
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>高度γͺ画像エディタ</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h1><i class="fas fa-image"></i> 高度γͺ画像エディタ</h1>
<div class="upload-section">
<input type="file" id="image-upload" accept="image/*">
<label for="image-upload" class="upload-btn">
<i class="fas fa-cloud-upload-alt"></i> η”»εƒγ‚’ιΈζŠž
</label>
</div>
<div class="editor-container">
<div class="image-preview">
<canvas id="image-canvas"></canvas>
</div>
<div class="controls">
<div class="control-group">
<h3><i class="fas fa-sliders-h"></i> 基本θͺΏζ•΄</h3>
<div class="slider-control">
<label>ζ˜Žγ‚‹γ•</label>
<input type="range" id="brightness" min="-100" max="100" value="0">
<span id="brightness-value">0</span>
</div>
<div class="slider-control">
<label>γ‚³γƒ³γƒˆγƒ©γ‚Ήγƒˆ</label>
<input type="range" id="contrast" min="-100" max="100" value="0">
<span id="contrast-value">0</span>
</div>
<div class="slider-control">
<label>彩度</label>
<input type="range" id="saturation" min="-100" max="100" value="0">
<span id="saturation-value">0</span>
</div>
</div>
<div class="control-group">
<h3><i class="fas fa-adjust"></i> γƒˆγƒΌγƒ³θͺΏζ•΄</h3>
<div class="slider-control">
<label>γ‚·γƒ£γƒ‰γ‚¦θ£œζ­£</label>
<input type="range" id="shadows" min="-100" max="100" value="0">
<span id="shadows-value">0</span>
</div>
<div class="slider-control">
<label>γƒγ‚€γƒ©γ‚€γƒˆθ£œζ­£</label>
<input type="range" id="highlights" min="-100" max="100" value="0">
<span id="highlights-value">0</span>
</div>
</div>
<div class="control-group">
<h3><i class="fas fa-project-diagram"></i> チャンネルカーブ</h3>
<div class="curve-controls">
<div class="curve-container">
<canvas id="red-curve" width="200" height="200"></canvas>
<label>血チャンネル</label>
</div>
<div class="curve-container">
<canvas id="green-curve" width="200" height="200"></canvas>
<label>緑チャンネル</label>
</div>
<div class="curve-container">
<canvas id="blue-curve" width="200" height="200"></canvas>
<label>青チャンネル</label>
</div>
<div class="curve-container">
<canvas id="luminance-curve" width="200" height="200"></canvas>
<label>輝度カーブ</label>
</div>
</div>
</div>
<div class="action-buttons">
<button id="reset-btn" class="btn"><i class="fas fa-undo"></i> γƒͺγ‚»γƒƒγƒˆ</button>
<button id="apply-btn" class="btn primary"><i class="fas fa-check"></i> 適用</button>
<button id="download-btn" class="btn"><i class="fas fa-download"></i> ダウンロード</button>
</div>
</div>
</div>
</div>
<div id="loading-overlay" class="loading-overlay">
<div class="loading-spinner"></div>
<div class="loading-text">処理中...</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.min.js"></script>
<script src="script.js"></script>
</body>
</html>