[javascript] Cropper.js를 사용하여 이미지에 빛나는 효과 추가하기
이미지에 특별한 효과를 추가하고 싶다면 Cropper.js라는 JavaScript 라이브러리를 사용해보세요. Cropper.js는 이미지를 자르고, 확대/축소하며, 회전하는 기능을 제공하는 강력한 도구입니다. 이 튜토리얼에서는 이미지에 빛나는 효과를 추가하는 방법을 알아보겠습니다.
Cropper.js 설치하기
먼저, Cropper.js를 사용하기 위해 HTML 파일에 다음 두 가지 파일을 추가해야 합니다.
<script src="https://cdn.jsdelivr.net/npm/cropperjs@1.5.8/dist/cropper.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/cropperjs@1.5.8/dist/cropper.min.css">
이미지 업로드 및 Cropper.js 초기화하기
HTML 파일에 이미지를 업로드하는 input 요소와 이미지를 표시할 div 요소를 추가합니다.
<input type="file" id="imageInput">
<div id="imagePreview"></div>
다음으로, JavaScript 코드를 사용하여 이미지를 업로드하고 Cropper.js를 초기화합니다.
const imageInput = document.getElementById('imageInput');
const imagePreview = document.getElementById('imagePreview');
imageInput.addEventListener('change', function(event) {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = function(event) {
const img = document.createElement('img');
img.src = event.target.result;
imagePreview.innerHTML = '';
imagePreview.appendChild(img);
// Cropper.js 초기화
const cropper = new Cropper(img, {
// Cropper.js 옵션 설정
// 여기에서는 특별한 효과를 추가하기 위한 옵션을 사용합니다.
});
}
reader.readAsDataURL(file);
});
빛나는 효과 추가하기
이제 Cropper.js를 초기화하는 데 성공했으니, 이미지에 빛나는 효과를 추가해봅시다. Cropper.js에서는 crop
이벤트를 사용하여 자르기 영역이 변경될 때마다 새로운 이미지를 생성할 수 있습니다.
const cropper = new Cropper(img, {
crop(event) {
const canvas = cropper.getCroppedCanvas();
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
// 빛나는 효과를 위해 이미지 데이터 조작
for (let i = 0; i < imageData.data.length; i += 4) {
imageData.data[i] += 50; // 빨간색 증가
imageData.data[i + 1] += 50; // 초록색 증가
imageData.data[i + 2] += 50; // 파란색 증가
}
// 변경된 이미지 데이터를 다시 캔버스에 그리기
context.putImageData(imageData, 0, 0);
// 변경된 이미지를 미리 보기에 반영하기
const previewImg = document.createElement('img');
previewImg.src = canvas.toDataURL();
imagePreview.innerHTML = '';
imagePreview.appendChild(previewImg);
}
});
위 코드에서는 crop
이벤트가 발생할 때마다 이미지 데이터를 조작하여 빛나는 효과를 추가합니다. 이렇게 변경된 이미지는 캔버스에 그려지고, 그 후 미리 보기에 반영됩니다.
결론
Cropper.js를 사용하여 이미지에 빛나는 효과를 추가하는 방법을 알아보았습니다. 이제 여러분은 Cropper.js를 활용하여 더욱 멋진 이미지 효과를 구현할 수 있을 것입니다.