s

JavaScript로 이미지의 부분 영역을 따내기

· 2023-08-20 (일) 10:27:27 · 2398

JavaScript로 이미지의 부분 영역을 따내는 코드를 작성해보겠습니다. 아래의 예시는 HTML `<canvas>` 요소를 사용하여 이미지의 특정 부분을 동적으로 자르고, 그 부분을 다른 `<canvas>` 요소에 그리는 방법입니다.

[code]
<!DOCTYPE html>
<html>
<body>
<img id="sourceImage" src="image.jpg" style="display:none">
<canvas id="sourceCanvas"></canvas>
<canvas id="resultCanvas"></canvas>

<script>
// 이미지 로드 후 캔버스에 그리기
var sourceImage = document.getElementById("sourceImage");
var sourceCanvas = document.getElementById("sourceCanvas");
var sourceContext = sourceCanvas.getContext("2d");

sourceImage.onload = function() {
sourceCanvas.width = sourceImage.width;
sourceCanvas.height = sourceImage.height;
sourceContext.drawImage(sourceImage, 0, 0);

// 부분 영역 자르기
var x = 100; // 자르기 시작할 x 좌표
var y = 100; // 자르기 시작할 y 좌표
var width = 200; // 자를 영역의 너비
var height = 200; // 자를 영역의 높이
var resultCanvas = document.getElementById("resultCanvas");
var resultContext = resultCanvas.getContext("2d");

resultCanvas.width = width;
resultCanvas.height = height;
resultContext.drawImage(
sourceCanvas,
x,
y,
width,
height,
0,
0,
width,
height
);
};
</script>
</body>
</html>
[/code]

이 코드는 `sourceImage`라는 ID를 가진 이미지 요소를 숨겨진 상태로 HTML에 추가하고, `<canvas>` 요소를 사용하여 이미지를 캔버스에 그리는 방식으로 작동합니다. 그런 다음 `sourceCanvas`에서 지정한 부분 영역을 잘라내어 `resultCanvas`에 그립니다. 이렇게 하면 `resultCanvas`에 원하는 이미지의 부분 영역이 그려집니다.

위의 예시에서는 이미지 태그의 `src` 속성에 실제 이미지 파일을 지정해야 합니다. 또한, 자르기 시작할 좌표(x, y)와 자를 영역의 너비와 높이(width, height)를 원하는 대로 설정해야 합니다.

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
23-04-08 조회 2,600
23-03-31 조회 2,240
23-03-29 조회 2,621
23-03-28 조회 1,998
23-03-27 조회 2,730
JavaScript 23-02-22 조회 2,760
23-02-21 조회 2,480
23-03-10 조회 2,608
23-09-02 조회 2,369
기타 23-08-14 조회 1,588
JavaScript 23-09-04 조회 1,965
node.js 23-09-02 조회 1,601
JavaScript 23-09-01 조회 2,533
PHP 23-08-31 조회 1,669
node.js 23-08-29 조회 1,549
node.js 23-08-28 조회 2,108
PHP 23-08-27 조회 2,725
MySQL 23-08-26 조회 2,066
PHP 23-08-25 조회 3,157
JavaScript 23-08-24 조회 2,327
기타 23-08-23 조회 3,992
기타 23-08-22 조회 1,474
node.js 23-08-21 조회 2,420
JavaScript 23-08-20 조회 2,399
node.js 23-08-19 조회 2,053
node.js 23-08-18 조회 3,141
node.js 23-08-17 조회 2,441
PHP 23-08-16 조회 3,651
node.js 23-08-15 조회 2,069
PHP 23-08-14 조회 4,298