html2canvas를 사용하여 브라우저 스크린샷을 구현하는 것은 서버 환경에서 구현되어야 합니다. 이번 글에서는 주로 html2canvas를 사용하여 브라우저 스크린샷을 구현하기 위한 샘플 코드에 대한 관련 정보를 소개하고 있습니다. 편집자는 꽤 좋다고 생각하여 지금부터 공유하고 참고용으로 제공하겠습니다. 편집자를 따라 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.
Function
html2canvas는 순수 JS를 통해 브라우저 측에서 스크린샷을 찍을 수 있지만 스크린샷의 정확도를 높여야 하고, 일부 CSS는 인식할 수 없어 원본 그림 스타일을 캔버스에서 완벽하게 표현할 수 없습니다
/*多行溢出省略就不行,只能超出隐藏了*/ .book_inf{ position: relative; overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
지원되는 브라우저
Firefox 3.5+
Google Chrome
Opera 12+
IE9+
-
Safari 6+
기본 문법
/*参数: * #screenshots 所需要截图的元素id,截图后要执行的函数, * backgroundColor 配置项背景色 * canvas为截图后返回的最后一个canvas */ function screenshotsImg(){ html2canvas(document.querySelector("#screenshots"),{ backgroundColor: 'transparent',// 设置背景透明 }).then(canvas => { canvasTurnImg(canvas) //保存的图片格式转换方法 }); }
사용 가능한 구성 항목
매개변수 이름 | Type | 기본값 | Description |
---|---|---|---|
allowTaint | boolean | false | 원본 간 이미지 오염을 허용할지 여부 캔버스 ---교차 도메인 허용 |
Background | string | #fff | 캔버스 배경색(DOM에 지정되지 않은 경우) 투명을 위해 정의되지 않은 설정---캔버스 배경색이 설정되지 않은 경우 기본값은 흰색이므로 backgroundColor로 변경했습니다. |
height | number | null | 캔버스의 높이를 픽셀 단위로 정의하면 창의 전체 높이로 렌더링됩니다.-- -캔버스 높이 설정 |
letterRendering | boolean | false | 각 문자를 별도로 렌더링할지 여부 | 콘솔에 이벤트를 기록할지 여부---console.log()에 정보 출력
proxy | string | undefine | Url은 교차 출처 이미지를 로드하는 데 사용됩니다. 비워두면 교차 출처 이미지가 로드되지 않습니다.---프록시 주소 |
taintTest | boolean | true | 이미지를 그리기 전에 캔버스를 오염시키는 경우 각 이미지를 테스트할지 여부---렌더링 전 테스트 이미지에서 |
timeout | number | 0 | 이미지 로드 시간 제한을 밀리초 단위로 설정합니다. 0으로 설정하면 시간 초과가 발생하지 않습니다.---이미지 로드 지연은 0(밀리초 단위)입니다. |
width | number | null | 캔버스 너비를 픽셀 단위로 정의합니다. null인 경우 렌더링됩니다. 창의 전체 너비.---캔버스 너비 |
useCORS | boolean | false | 프록시로 다시 돌아가기 전에 교차 출처 이미지를 CORS 제공으로 로드할지 여부--교차 출처 프록시 |
이미지 형식 설정 | 1. 캔버스에서 직접 이미지 메타데이터를 추출합니다 |
// 图片导出为 png 格式 var type = 'png'; var imgData = canvas.toDataURL(type);
2. MIME 유형을 이미지/옥텟 스트림으로 변경하여 브라우저가 직접 다운로드하도록 합니다
/** * 获取mimeType * @param {String} type the old mime-type * @return the new mime-type */ var _fixType = function(type) { type = type.toLowerCase().replace(/jpg/i, 'jpeg'); var r = type.match(/png|jpeg|bmp|gif/)[0]; return 'image/' + r; }; // 加工image data,替换mime type imgData = imgData.replace(_fixType(type),'image/octet-stream');3. 이미지를 로컬
/** * 在本地进行文件保存 * @param {String} data 要保存到本地的图片数据 * @param {String} filename 文件名 */ var saveFile = function(data, filename){ var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a'); save_link.href = data; save_link.download = filename; var event = document.createEvent('MouseEvents'); event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); save_link.dispatchEvent(event); }; // 下载后的文件名 var filename = 'baidufe_' + (new Date()).getTime() + '.' + type; // download saveFile(imgData,filename);에 다운로드합니다. 관련 권장 사항:
위 내용은 html2 캔버스는 브라우저 스크린샷을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

htmltagsareessentialforwebdevelopmentasthuctureandenhancewebpages.1) thefinelayout, semantics 및 internactivity.2) semantictagsimproveAccessibility 및 sseo.3) appleasoftagscanoptimizeperformanceandenseRocRossercompatiber.

일관된 HTML 인코딩 스타일은 코드의 가독성, 유지 가능성 및 효율성을 향상시키기 때문에 중요합니다. 1) 소문자 태그 및 속성 사용, 2) 일관된 압입 유지, 3) 단일 또는 이중 인용문을 선택하고 고수하십시오. 4) 프로젝트에서 다양한 스타일을 혼합하지 않으십시오.

솔루션 Bootstrap4에서 다중 프로 젝트 회전 목마를 구현하는 것은 부트 스트랩 4에서 멀티 프로 젝트 회전 목마를 구현하는 것은 쉬운 일이 아닙니다. 부트 스트랩 ...

마우스 스크롤링 이벤트 침투의 효과를 달성하는 방법은 무엇입니까? 웹을 탐색하면 종종 특별한 상호 작용 디자인이 발생합니다. 예를 들어, DeepSeek 공식 웹 사이트에서 � ...

HTML 비디오의 기본 재생 제어 스타일은 CSS를 통해 직접 수정할 수 없습니다. 1. JavaScript를 사용하여 사용자 정의 컨트롤을 만듭니다. 2. CSS를 통해 이러한 통제를 아름답게합니다. 3. video.js 또는 plyr와 같은 라이브러리를 사용하여 호환성, 사용자 경험 및 성능을 고려하면 프로세스를 단순화 할 수 있습니다.

휴대 전화에서 기본 선택을 사용하는 데있어 잠재적 인 문제는 모바일 애플리케이션을 개발할 때 종종 상자를 선택해야 할 필요가 있습니다. 일반적으로 개발자 ...

휴대 전화에서 기본 선택을 사용하는 단점은 무엇입니까? 모바일 장치에서 애플리케이션을 개발할 때는 올바른 UI 구성 요소를 선택하는 것이 매우 중요합니다. 많은 개발자 ...

Three.js 및 Octree를 사용하여 방에서 3 인칭 로밍의 충돌 처리를 최적화하십시오. 3.js의 Octree를 사용하여 방에서 3 인칭 로밍을 구현하고 충돌을 추가하십시오 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
