이 글은 Canvas 크로스 도메인 솔루션에 대한 소개입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Canvas 도메인 간 문제를 해결하는 방법은 무엇입니까? 여기에서는 Canvas를 사용하여 그리는 동안 발생하는 도메인 간 문제와 해결 방법을 기록합니다.
먼저 구현 방법을 살펴보겠습니다.
구현 방법
대상 이미지는 일반적으로 이미지 + 텍스트로 구성됩니다. 다양한 크기의 그림이든 예측할 수 없는 텍스트이든 캔버스 API drawImage 및 fillText 메서드를 사용하여 수행할 수 있습니다.
기본 프로세스는 다음과 같습니다.
캔버스 컨텍스트 가져오기--ctx
const canvas = document.querySelector(selector) const ctx = canvas.getContext('2d')
드로잉
#🎜🎜 #그림 무시 캔버스에 있는 내용은 drawImage를 사용하여 직접 캔버스에 그릴 수 있습니다.const image = new Image() image.src = src image.onload = () => { ctx.save() // 这里我们采用以下参数调用 this.ctx.drawImage(image, dx, dy, dWidth, dHeight) this.ctx.restore() }drawImage에는 매개변수를 사용하는 3가지 방법이 있습니다. 구체적인 사용법은 MDN 문서를 확인하세요.
canvas.toBlob(blob => { // 你要的 blob }, mimeType, encoderOptions)여기서 mimeType의 기본값은 image/png입니다. EncoderOptions는 이미지 품질을 지정하고 압축에 사용할 수 있지만 mimeType 형식은 image/jpeg 또는 image/webp여야 합니다. Canvas 크로스 도메인 일반적인 상황에서 그려진 이미지를 출력해야 하는 경우 toBlob(), toDataURL() 또는 getImageData() 메서드를 호출할 수 있습니다. 캔버스 이미지 데이터를 얻습니다. 하지만 크로스도메인 이미지를 접하면 좀 당황스럽습니다. 다음 오류가 보고될 수 있습니다.
Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported.또는
Access to image at 'https://your.image.src' from origin 'https://your.website' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.두 번째 상황을 먼저 살펴보겠습니다. Access-Control-Allow-Origin
도메인 전체에서 특정 이미지 리소스를 사용하고 서비스가 Access-Control-Allow-Origin 헤더 정보에 올바르게 응답하지 않는 경우 다음과 같습니다. 보고된 오류 메시지:
Access to image at 'https://your.image.src' from origin 'https://your.website' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.은 도메인 간 액세스가 허용되지 않음을 나타냅니다. 그러면 백그라운드에서 Access-Control-Allow-Origin 값을 * 또는 your.website로 수정하도록 할 수 있습니다. 또는 대신 동일한 도메인 리소스를 사용하십시오(고려하시겠습니까?). 다음으로 첫 번째 상황을 해결해보겠습니다. img.crossOrigin = 'Anonymous'
원격의 웹사이트 정보를 무단으로 가져와서 발생하는 사용자 개인정보 유출을 방지하기 위해(GPS 및 기타 정보 등 자세한 내용은 Exif로 검색하시면 됩니다), 캔버스 toBlob(), toDataURL() 또는 getImageData()를 호출하면 보안 오류가 발생합니다.
Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported.이미지 서비스가 도메인 간 사용을 허용하는 경우(그렇지 않은 경우 이전 문서 참조) 고려해야 할 사항 다음으로 img 요소에 crossOrigin 속성을 추가합니다. 즉,
const image = new Image() image.crossOrigin = 'Anonymous' image.src = src이렇게 하면 이미지 데이터를 얻을 수 있습니다. 못찾으시면 같은 도메인의 리소스를 바꿔보세요~
위 내용은 Canvas 크로스 도메인 솔루션 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

H5 개발에서 마스터 해야하는 도구 및 프레임 워크에는 vue.js, React 및 Webpack이 포함됩니다. 1.vue.js는 사용자 인터페이스를 구축하고 구성 요소 개발을 지원하는 데 적합합니다. 2. 복잡한 응용 프로그램에 적합한 가상 DOM을 통해 페이지 렌더링을 최적화합니다. 3. Webpack은 모듈 포장에 사용되며 리소스로드를 최적화합니다.

html5hassignificallytransformedwebdevelopmentbyintranticalticlementements, 향상 Multimediasupport 및 Improvingperformance.1) itmadewebsitessmoreaccessibleadseo 친환경적 인 요소, 및 .2) Html5intagnatee

H5는 시맨틱 요소 및 ARIA 속성을 통해 웹 페이지 접근성 및 SEO 효과를 향상시킵니다. 1. 컨텐츠 구조를 구성하고 SEO를 개선하기 위해 사용합니다. 2. Aria-Label과 같은 ARIA 속성은 접근성을 향상시키고 보조 기술 사용자는 웹 페이지를 원활하게 사용할 수 있습니다.

"H5"와 "HTML5"는 대부분의 경우 동일하지만 특정 시나리오에서는 다른 의미를 가질 수 있습니다. "HTML5"는 새로운 태그와 API를 포함하는 W3C 정의 표준입니다. "H5"는 일반적으로 HTML5의 약어이지만 모바일 개발에서는 HTML5를 기반으로 한 프레임 워크를 참조 할 수 있습니다. 이러한 차이를 이해하면 프로젝트 에서이 용어를 정확하게 사용하는 데 도움이됩니다.

H5 또는 HTML5는 HTML의 다섯 번째 버전입니다. 개발자에게 더 강력한 도구 세트를 제공하여 복잡한 웹 애플리케이션을보다 쉽게 만들 수 있습니다. H5의 핵심 기능에는 다음이 포함됩니다. 1) 웹 페이지에 그래픽 및 애니메이션을 그리는 요소; 2) 웹 페이지 구조를 SEO 최적화에 명확하고 도움이되는 시맨틱 태그 등; 3) GeolocationApi 지원 위치 기반 서비스와 같은 새로운 API; 4) 호환성 테스트 및 폴리 필 라이브러리를 통해 크로스 브라우저 호환성을 보장해야합니다.

H5 링크를 만드는 방법? 링크 대상 결정 : H5 페이지 또는 응용 프로그램의 URL을 가져옵니다. HTML 앵커 작성 : & lt; a & gt; 태그 앵커를 만들고 링크 대상 URL을 지정합니다. 링크 속성 설정 (선택 사항) : 필요에 따라 대상, 제목 및 on 클릭 속성을 설정하십시오. 웹 페이지에 추가 : 링크가 나타나려는 웹 페이지에 HTML 앵커 코드를 추가하십시오.

H5 호환성 문제에 대한 솔루션에는 다음이 포함됩니다. 웹 페이지가 화면 크기에 따라 레이아웃을 조정할 수있는 반응 형 디자인을 사용합니다. 릴리스 전에 호환성을 테스트하기 위해 브라우저 크로스 브라우저 테스트 도구를 사용하십시오. PolyFill을 사용하여 이전 브라우저의 새로운 API를 지원합니다. 웹 표준을 따르고 효과적인 코드 및 모범 사례를 사용하십시오. CSS 프리 프로세서를 사용하여 CSS 코드를 단순화하고 가독성을 향상시킵니다. 이미지를 최적화하고 웹 페이지 크기를 줄이며로드 속도를 높이십시오. HTTPS를 통해 웹 사이트의 보안을 보장하십시오.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
