Valeriy__258,
Что такое x, который вы хотите сохранить в localStorage? |
Я не знаю, что за переменная там должна быть(
я хочу сохранить свой рисунок в окне канвас в localStorage, чтобы я закрывал браузер, а потом открывал - а рисунок сохранялся |
<canvas id = 'c1' width='400' height='200'></canvas> <button id = 'save' >Save</button> <img id = 'cImg' src = ''> <script> var canvas = document.getElementById('c1'); var ctx = canvas.getContext('2d'); var myColor = 'black'; var img = new Image(); img.src = localStorage.getItem('img'); img.onload = function() { ctx.drawImage(img, 0, 0); } canvas.onmousedown = function() { canvas.onmousemove = function(e) { var x = e.offsetX, y = e.offsetY; ctx.fillStyle = myColor; ctx.fillRect(x - 5,y - 5,10,10); } canvas.onmouseup = function() { canvas.onmousemove = null; } } document.querySelector('#save').onclick = function() { var imageURI = canvas.toDataURL("image/jpg"); localStorage.setItem('img',imageURI); // document.querySelector('#cImg').src = localStorage.getItem('img'); } </script> |
Цитата:
Но мне нужно немного другое( Нужно, чтобы изображение сохранялось в рабочем поле, т.е. я открыл себе программку в браузере, нарисовал что-то, потом закрыл её, открыл снова, и могу продолжать рисовать на том же рисунке |
Valeriy__258,
Изменил пример пост #4 |
Цитата:
Можно ещё такой вопрос: почему у Вас весь код написан без тегов html, head и body? Я попробовал раскидать всё в теги, script в head, а всё остальное в body, но код перестал работать( |
Цитата:
Правда с тегами head и body и с их отсутствием не разобрался.. Наверняка, где-то ошибку сделал, поэтому ничего не работает Спасибо ещё раз! |
Цитата:
Вот вариант с html, head, body. <!DOCTYPE html> <html> <head> <script> window.addEventListener('load', function () { var canvas = document.getElementById('c1'); var ctx = canvas.getContext('2d'); var myColor = 'black'; var img = new Image(); img.src = localStorage.getItem('img'); img.onload = function() { ctx.drawImage(img, 0, 0); } canvas.onmousedown = function() { canvas.onmousemove = function(e) { var x = e.offsetX, y = e.offsetY; ctx.fillStyle = myColor; ctx.fillRect(x - 5,y - 5,10,10); } canvas.onmouseup = function() { canvas.onmousemove = null; } } document.querySelector('#save').onclick = function() { var imageURI = canvas.toDataURL("image/jpg"); localStorage.setItem('img',imageURI); } }); </script> </head> <body> <canvas id = 'c1' width='400' height='200'></canvas> <button id = 'save' >Save</button> </body> </html> |
Автосохранение %)
<!DOCTYPE html> <html> <head> <script> (function () { let canvas = null document.addEventListener('DOMContentLoaded', function () { canvas = document.getElementById('c1') var ctx = canvas.getContext('2d'); var myColor = 'black'; let localStorageImage = localStorage.getItem('img') console.log('localStorageImage', localStorageImage) if (localStorageImage) { var img = new Image(); img.src = localStorageImage; img.onload = function () { ctx.drawImage(img, 0, 0); } } canvas.onmousedown = function () { canvas.onmousemove = function (e) { var x = e.offsetX, y = e.offsetY; ctx.fillStyle = myColor; ctx.fillRect(x - 5, y - 5, 10, 10); } canvas.onmouseup = function () { canvas.onmousemove = null; } } document.getElementById('clear').addEventListener('click', function () { ctx.clearRect(0, 0, canvas.width, canvas.height); localStorage.removeItem('img') }) }); window.onunload = function () { if (canvas) { var imageURI = canvas.toDataURL("image/jpg"); localStorage.setItem('img', imageURI); } return null }; })() </script> </head> <body> <canvas id='c1' width='400' height='200'></canvas> <button id='clear' type='button'>clear</button> </body> </html> |
Часовой пояс GMT +3, время: 02:43. |