2013-05-28 3 views

ответ

3

Это зависит от вашей структуры, но в основном вы можете использовать canvas.toDataURL()

Вот полный пример

<!DOCTYPE HTML> 
<html> 
    <head> 
    <style> 
     body { 
     margin: 0px; 
     padding: 0px; 
     } 
    </style> 
    </head> 
    <body> 
    <canvas id="myCanvas" width="578" height="200"></canvas> 
    <script> 
     var canvas = document.getElementById('myCanvas'); 
     var context = canvas.getContext('2d'); 

     // draw cloud 
     context.beginPath(); 
     context.moveTo(170, 80); 
     context.bezierCurveTo(130, 100, 130, 150, 230, 150); 
     context.bezierCurveTo(250, 180, 320, 180, 340, 150); 
     context.bezierCurveTo(420, 150, 420, 120, 390, 100); 
     context.bezierCurveTo(430, 40, 370, 30, 340, 50); 
     context.bezierCurveTo(320, 5, 250, 20, 250, 50); 
     context.bezierCurveTo(200, 5, 150, 20, 170, 80); 
     context.closePath(); 
     context.lineWidth = 5; 
     context.fillStyle = '#8ED6FF'; 
     context.fill(); 
     context.strokeStyle = '#0000ff'; 
     context.stroke(); 

     // save canvas image as data url (png format by default) 
     var dataURL = canvas.toDataURL(); 
    </script> 
    </body> 
</html> 

dataUrl будет содержит изображение, и вы можете сохранить его там, где вы хотите.

7

Это зависит от того, что вы хотите сделать, самым простым способом является использование toDataUrl на вашем холсте.

canvas.toDataURL('png') 

Это будет кодировать ваш холст в base64, то вы можете использовать его в ссылке скачать как этот

<a href="%dataURI%" download>download</a> 

Или просто вставить его обратно в йот в теге изображения.

После этого вы можете написать контроллер, который является более бэкэнд, используя любой язык для преобразования этого base64 в файл изображения, если вы хотите сохранить фактическую копию с изображения.

Смотрите эту должность для получения дополнительной информации

How to save a PNG image server-side, from a base64 data string

Смежные вопросы