[javascript] Cropper.js를 사용하여 이미지에 스케치 효과 추가하기

이미지 편집 기능을 개발하다보면 사용자가 이미지에 스케치 효과를 추가할 수 있도록 하는 경우가 종종 있습니다. 이번 포스트에서는 Cropper.js 라이브러리를 사용하여 이미지에 스케치 효과를 추가하는 방법을 알아보겠습니다.

Cropper.js란?

Cropper.js는 웹 페이지에서 이미지를 자르고 편집할 수 있는 강력한 JavaScript 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 이미지를 선택하고 편집할 수 있는 기능을 쉽게 구현할 수 있습니다.

Cropper.js 설치하기

Cropper.js를 사용하기 위해 먼저 해당 라이브러리를 다운로드하고 웹 페이지에 연결해야 합니다. 다음 스크립트 태그를 HTML 문서의 <head>에 추가하여 Cropper.js를 연결할 수 있습니다.

<script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.7/cropper.min.js"></script>

또한, 스타일 시트를 다음과 같이 추가하여 Cropper.js의 스타일을 적용할 수 있습니다.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.7/cropper.min.css">

Cropper.js를 사용하여 이미지에 스케치 효과 추가하기

다음은 Cropper.js를 사용하여 이미지에 스케치 효과를 추가하는 예제입니다.

<!DOCTYPE html>
<html>
<head>
    <title>Cropper.js Example</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.7/cropper.min.css">
</head>
<body>
    <input type="file" id="image-input" accept="image/*">
    <div>
        <img id="image-preview" src="">
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.7/cropper.min.js"></script>
    <script>
        const input = document.getElementById('image-input');
        const preview = document.getElementById('image-preview');
        
        input.addEventListener('change', function(e) {
            const file = e.target.files[0];
            const reader = new FileReader();

            reader.onload = function(e) {
                const imgSrc = e.target.result;
                preview.src = imgSrc;

                const cropper = new Cropper(preview, {
                    aspectRatio: 1,
                    viewMode: 2,
                    zoomable: false,
                    background: false,
                    toggleDragModeOnDblclick: false,
                    crop: function(event) {
                        // 스케치 효과 추가 로직 작성
                    }
                });
            };

            reader.readAsDataURL(file);
        });
    </script>
</body>
</html>

위 예제 코드에서는 <input type="file"> 요소를 사용하여 이미지 파일을 선택하고, 선택한 이미지를 <img> 요소의 src 속성에 할당하여 미리보기를 보여줍니다. 그리고 Cropper.js를 초기화하여 이미지에 스케치 효과를 추가할 수 있는 환경을 구성합니다. crop 이벤트 핸들러에서는 스케치 효과를 추가하는 로직을 작성하면 됩니다.

결론

이번 포스트에서는 Cropper.js를 사용하여 이미지에 스케치 효과를 추가하는 방법을 알아보았습니다. Cropper.js는 강력한 이미지 편집 기능을 제공하므로 웹 애플리케이션에서 이미지 관련 기능을 개발할 때 유용하게 사용할 수 있습니다. 더 자세한 내용은 Cropper.js 공식 문서를 참고하시기 바랍니다.