div
을 사용하여 html2canvas
을 사용하고 싶습니다. 그러나 코드가 제대로 작동하지 않습니다. 여기에 이전 버전에 문제가 코드이전 버전과 호환되지 않는 html2canvas를 사용하여 div 이미지 가져 오기
html2canvas($("#canvas-preview"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
//Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
// Clean up
//document.body.removeChild(canvas);
}
});
#canvas-preview {
width: 200px;
border: 1px solid #000;
box-sizing: border-box;
position: relative;
border: 1px solid red
}
#canvas-preview::before,
#image-container::before {
background-color: green;
content: '';
display: block;
height: 100%;
position: absolute;
width: 100%;
z-index: 1;
}
#custom-canvas {
margin: 10px;
color: #fff;
z-index: 2;
position: relative;
font-family: 'Anton';
border: 1px solid green;
}
<div id="canvas-preview" class="">
<div id="custom-canvas">
<div>
<span line-num="1" class="text-lines" style="font-size: 76.7025px;">ARFAN</span>
</div>
<div>
<span line-num="2" class="text-lines" style="font-size: 67.7685px;">HAIDER</span>
</div>
</div>
</div>
<div id="image-out"></div>
이미지를 얻을 수 있지만 같은 div
로 얻을이 기능은 뭐죠 참조 그냥 html2canvas의 새 버전을 설치하고이 제대로 작동 절반 만 이미지가 가득 차 있지 않습니다. 이 코드의 문제점은 무엇입니까? ? 이 이미지 같은
UPDATE
출력보세요.
즉, 실제 div 콘텐츠 인 초록색 비트 만 얻고 캔버스가 "오버플로"를 얻지 못한다는 의미입니까? 왜냐하면 유용한 정보 였을테니까 –
'# canvas-preview {'스타일에 대해'display : inline-block; 너비 : 자동;'시도 (너비가있는 것으로 바꾸고 디스플레이를 추가) –
문제는 확실히 ': before' 의사 요소. 이전 버전의 html2canvas에서는 지원하지 않았습니다. [최신 버전] (https://github.com/niklasvh/html2canvas)로 시도하십시오 – Kaiido