javascript에서 html dom 요소를 png로 내보내기
5071 단어 tutorialbeginnersjavascript
소개
나는 최근에 프로젝트를 만들기 위해 이 질문에 답하려고 노력했습니다. 그러나 명확한 답을 찾지 못했습니다. 여기 있습니다:
import domtoimage from "dom-to-image";
const scale = 5;
//...
function exportAsPNG() {
domtoimage
.toBlob(element, {
//Changing the resolution by a factor (scale)
//Else this setup might cause blurry images
width: element.clientWidth * scale,
height: element.clientHeight * scale,
style: {
transform: `scale(${scale})`,
transformOrigin: "top left",
},
})
.then(blob => {
saveAs(blob, "image.png");
});
}
function saveAs(blob, fileName) {
let url = window.URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
a.remove();
}
연습
이 스니펫에 대해 정말 흥미로운 점은 스케일링 부분입니다. 다른 라이브러리를 사용하면 이미지가 흐릿하게 엉망이 되기 때문입니다.
나를 위해 5의 배율 인수가 잘 작동했습니다. 그러나 그것은 분명히 미세 조정을 위한 매개 변수입니다.
saveAs
함수는 관심이 없습니다. 단지 앵커 태그를 생성하고 URL을 만지작거리며 클릭합니다.메모
domtoimage.toJpeg(args)
.domtoimage.toSvg(args)
연결
Reference
이 문제에 관하여(javascript에서 html dom 요소를 png로 내보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/addelec/exporting-html-dom-elements-as-png-in-javascript-1i9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)