2013-04-15 2 views
3

현재 내 웹 사이트에서는 사용자가 캔버스 이미지를 저장할 수 있지만 문제는 시간이 오래 걸리는 것입니다. 내가 그것을 디코딩하고 내 서버에 png 이미지로 저장 내 PHP로 base64로 캔버스 이미지를 보내고 있습니다. 또한, base64 디코딩 이미지 크기를 30 % 늘리는 것처럼 읽었습니다. 캔버스 이미지를 저장하는 데 더 적은 시간이 소요되는 더 나은 접근 방법이 있습니까? 당신은 0.0 => 나쁜 품질에서에 (JPEG의 품질을 줄임으로써 더 갈 수base64 이미지를 더 빠르게 저장하는 방법은 무엇입니까?

canvas.toDataURL('image/jpeg', 0.8); 

:

+0

왜 base64 인코딩을 사용합니까? – Blender

+1

canvas.toDataURL을 수행하고 그것을 base64로 디코딩하는 PHP 페이지로 보냅니다. –

+1

느린 부분은 아마도 사용자와 서버 사이의 연결 일 것입니다. –

답변

3

당신은 영상 부호화 형식으로 JPG를 지정하여 64 기수의 크기 (그에 업로드 시간)을 줄일 수 있습니다 1.0 -> 좋은 품질).

0

내 프로젝트에서 비슷한 속도 문제가있어이 문제를 해결할 방법을 찾지 못했습니다. 피에르, 해결책은 이미지 크기를 많이 줄이지 만 문제가 발생하면 문제가 발생합니다. 이 데이터에서 저장된 이미지. 나는 똑같은 짓을 했었고, 나는 투명한 배경을 가진 PNG 이미지를 저장하려고하는데 예기치 않은 이미지가 있고, 검은 색으로 변하는 이미지가있다. 그래서 나는 canvas.toDataURL('image/jpeg', 0.8);을 사용하지 않고 여전히 다른 대안을 찾고 있습니다.

관련 문제