
html5でcanvasに描いた画像をsave_buttonを押してlocalStorageで保存して、それをload_buttonをおして読み込もうとしているのですが、うまくいきません。
canvas.toDataURL();でデータを6bit毎に分割できています。
それを保存して、
var base64 = window.localStorage.getItem("saveKey");で読み込むこともできています。
その後canvasに描画できません。
よろしくお願いします。
var canvas = document.getElementById("myCanvas");
$("#save_button").click(function () {
// Canvasからbase64エンコーディングされた画像データを取得する
var canvas = document.getElementById("myCanvas");
var base64 = canvas.toDataURL();
// LocalStorageに保存する
window.localStorage.setItem("saveKey", base64);
});
$("#load_button").click(function () {
// LocalStroageからデータを取得する
var base64 = window.localStorage.getItem("saveKey");
// Imageオブジェクトを作成し、src属性にデータを設定する
var image = new Image();
image.src = base64;
image.onload = function(){
// 画像の読み込みが終わったら、Canvasに画像を反映する。
canvas.drawImage(image, 0, 0);
}
});
No.2ベストアンサー
- 回答日時:
dataStorageって使ったことがないので、わからないのですが…
これでもだめでしょうか?
(全角空白は半角にしてください)
Fxで動作確認
$("#load_button").click(function () {
var base64 = window.localStorage.getItem("saveKey");
var image = new Image();
image.onload = function(){ //念のため順序を入替え
// canvas.drawImage(image, 0, 0); //以下に変更
canvas.getContext('2d').drawImage(image, 0, 0); //←変更
}
image.src = base64;
});
[ 参考 ]
http://www.html5.jp/canvas/ref.html
No.1
- 回答日時:
Safariにて、localStorageに保存した画像データをImage()で表示できなくなるという現象を確認しています。
私のケースではFirefox24では期待通り表示されますが、
他のブラウザではどうでしょうか。
なお、localStorageに保存せずに、canvasからImage()に、そのImage()をあらためてcanvasに描画すると、期待通り動作する事は確認しています。
ブラウザのバグなら何か別のフォーマット(独自フォーマット)にエンコードしてlocalStorageに保存、表示時はbase64にデコードして使用とすればいけるかもしれませんが、その方法は試していません。
ご参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
船のゲームを作っているのです...
-
Google Maps API v2 ルートのシ...
-
javascript 【continue 使い方】
-
javascriptでの時刻表示カスタム
-
数値の表示について
-
今日で生まれて何日何分何十秒...
-
XMLを読み込んでサイドバー付き...
-
Javascript 特定のフォルダのデ...
-
Google Ajax Feed API キャッ...
-
JavaScriptでスライドショーを2...
-
「続きを読む」ボタンを押すと...
-
thisに関して
-
文字コード指定
-
Javascriptで文字列から、任意...
-
Javascriptで、以下の様な足し...
-
JavaScriptで決まった「時刻」...
-
今日は、jQueryのしめ括弧を通...
-
Javascriptの「+」の意味が分か...
-
1分毎にHTMLを切り替えるJavaSc...
-
javascript パーティクルアニメ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、ContextMenuStripに動的...
-
ASP.NET MVCでObjectをjsに渡す
-
ローカルにあるファイルを検索...
-
C#OpenCv V4にのエラーに関する...
-
google apps scriptの終了のさせ方
-
イベントが初めの一回しか起き...
-
ジェネレーターの作り方
-
JavaScriptで文字列の特定文字...
-
javascriptでテーブルに追加し...
-
なぜmatchメソッドがエラーにな...
-
ASP.NETのコントロールの値をJa...
-
javascriptでiframeのURL変更は?
-
翌月を取得するGASが分かりません
-
1日1回だけ引けるjavascriptお...
-
商品コードを入力で、商品名、...
-
JavaScriptで平日のみをカウン...
-
jsによって検索プルダウン、都...
-
C# 演算 奇数と偶数 表現の仕方
-
GASでundefinedエラーが出ます
-
gas スプレッドシートがアクテ...
おすすめ情報