WEB/JavaScript
[JavaScript] html2canvas 사용 할 때, transform 때문에 이미지가 잘린 경우.
S0PH1A
2019. 3. 20. 16:46
반응형
[JavaScript] html2canvas 사용 할 때, transform 때문에 이미지가 잘린 경우. 해결방법
※ html2canvas사용방법은 이 글을 참고하세요.
아래와 같이 imageDiv(검은 영역)를 canvas에 그린 후 캡쳐할 경우
빨간색 상자가 transform이 되어 있기 때문에 아래와 같은 이미지가 아닌
오른쪽과 같이 빨간색 상자가 한쪽으로 치우친 형태로 캔버스에 그려진 후 캡쳐된다.
초록색 영역만 canvas에 그려진 것이다.
해결방법은
imageDiv에 설정되어 있는 transform을 제거 한 후 캡쳐하고
다시 transform을 설정해 주면 된다.
<JS>
var imageDiv = document.getElementById("imageDiv"); // 캡쳐 후 원래 위치로 복구 하기 위해 transform 값을 저장하는 변수 var _transform = imageDiv.style.transform; // transform 제거 imageDiv.style.setProperty("transform", "none"); // 영상 캡쳐 html2canvas(imageDiv, { }).then(function (_canvas) { let base64image = _canvas.toDataURL("image/png"); // image 위치 정상복구 imageDiv.style.transform = _transform; });
반응형