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, время: 19:21. |