페이지가로드 될 때 (사용자 상호 작용없이) 몇 개의 겹치는 캔버스에서 이미지를 생성하지만 완전히 그릴 때까지 3 초가 걸립니다. 이 캔버스를 평평하게하고이 이미지를 서버의 PNG로 변환하여 축소판 미리보기에 사용하고 싶습니다.클라이언트 브라우저가없는 이미지로 HTML 캔버스 저장
ctx.drawImage (other_canvas, 0,0)를 사용하여 단일 캔버스로 병합 한 다음 ctx.toDataUrl()이 필요한 것처럼 보입니다. 이 방법은 서버 쪽 사용자의 브라우저를 요구하지 않고? 페이지를로드 할 수있는 명령 줄 JavaScript/캔버스 파서의 일종, 캔버스가 렌더링을 마칠 때까지 기다린 다음 일부 JavaScript를 병합하여 toDataUrl을 호출하고 결과 이미지의 크기를 조정하고 저장합니다.
축소판을 렌더링하여 서버로 다시 보내는 AJAX 솔루션은 첫 번째 사람이 페이지를보기 전에 미리보기가 필요하므로 작동하지 않습니다. 또한 빨라야합니다 (캔버스가 렌더링하는 데 걸리는 시간 인 3 초보다 약간 길어지기를 바랍니다). 나는 browsershots와 같은 외부 서비스를 기다릴 수 없다.
CutyCapt를 보았지만 캔버스뿐 아니라 전체 웹 페이지를 렌더링합니다. (어떤 이유로 든 내 캔버스에 모든 것을 그릴 수는 없습니다.)
감사합니다.
이 문제에 대해 생각했지만 PHP에서 js 코드를 다시 구현하고 두 버전을 모두 유지해야합니다. – Crashthatch