• 締切済み

HTML5のcanvasで描いた内容をサーバーで保

phpとjavascriptでcanvasに絵を描くことをしましたが、 クライアント側でなくサーバー側で保存できるようにしたいです。 ご回答お願いします。

みんなの回答

回答No.1

toDataURL()を使うとpngやjpegで取得できます。 それをXHRで送信し、サーバー側のプログラムで保存するだけです。 と、言葉で言えば簡単ですが、 XHRで送信するときにmultipart/form-dataにしないと行けないということと、 ほとんどのブラウザは標準的な方法でXHRでバイナリデータを送信できません。 そのため、バイナリデータ専用のブラウザごとのメソッドを利用するか、escape()などで文字列に変換しておいた物を送信し、 サーバー側で戻す処理が必要です。 ※sendAsBinary()はGeckoが対応しているメソッドです。 var cvs = document.getElementById("the_canvas"); var png = cvs.toDataURL("image/png"); // このデータが画像そのもの //png=escape(png); // バイナリデータをテキストデータに変換。sendAsBinary()使用時は不要 var xhr= new XMLHttpRequest(); 中略 var the_data=(multpart/form-data形式で生成したpngを含むデータ) xhr.sendAsBinary(the_data);

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • canvasについて

    HTML初心者です HTML5を勉強しようとおもっています canvasを扱うときに使うjavascriptはHTML5ができる前からの機能をつかっているのですか? (元々javascriptにあった機能をつかってcanvasで絵をかけるようにしているのですか?それともHTML5で新たに作られたjavascriptの関数を使っているのでしょうか?)

  • canvasについて

    JavaScriptのCanvasを使ったプログラミングを始めています。Canvasというのは、HTML5にもあるそうですが、そちらのCanvasとは別のものなのでしょうか?

  • 大きなキャンバス

    30号以上の大きい絵を描く場合、その完成後にどのような保存法があるのでしょうか。大作を描いても保管場所がないのでどうしようかをある人に聞いたら、キャンバスを支持体からはがし、巻いて(ここのところがわかりません)保管するとのことです。後から考えるに巻いたりしたらひび割れたりしないのでしょうか?大きい絵をそのままのサイズで保管できない状況で製作に躊躇しています。

  • 古いキャンバスのリサイクルについて

    昔描いた油絵が10枚ありまして、それを捨るかリサイクルするか迷っています。8号くらいの大きさばかりで、絵は捨てても構わないのですが、木枠は保存しておいて将来また描きたくなった時のために、とっておいた方がいいでしょうか? 張りキャンバスを買えば一枚1000円はするので、張り替えの方が経済的かなと考えています。でも調べたらキャンバスはロール状で?売っているようで、そんなには使わないし・・・と思うのです。店で号数ごとの大きさのキャンバス(布だけ)売っているのでしょうか。 趣味で描かれている方は、どうされているのか教えて下さい。

  • canvasで手軽に図形を描く方法

    canvasで手軽に図形を描く手法を教えてください。 とりあえずJavaScriptを手書きでコリコリ書く方法はわかります。ただこの方法だと、少し書いて保存してブラウザで確認、値を修正して保存してまた確認、という原始的な方法をとらなければならず面倒です。 世の中にはイメージをGUIで描画し、JavaScriptのコードが作成できる方法があるのではないか、むしろないとおかしいと思い少し探してみたのですが見つかりませんでした。 特に以下のサイトで挙がっている様なアニメーション付のすごいサンプルは、すべてを手書きで書いたなどとはとても思えません。 canvas - jsdo.it - Share JavaScript, HTML5 and CSS http://jsdo.it/tag/canvas?search_order=favorite canvasで手軽に図形を描く手法を教えてください。特にGUIのツールの紹介など。 よろしくお願いします。

  • Webサーバとアプリサーバの違い

    Webシステム(サーバ-クライアントモデルではないほう)の 三階層モデルについて教えてください。 このモデルではWebサーバ、アプリサーバ、DBサーバの三階層構成をとられていますが PHP、perlといった動的言語の処理はWebサーバ、アプリサーバどちらで 行われるのでしょうか? はじめ、私はアプリサーバ側かと思っていたのですが、こっちは「Javaプラットフォームを 動かすためのサーバ」と書かれているソースが多く、PHP、Perlについては Webサーバ側と書かれてたりアプリサーバ側と書かれてたりしていて判断に悩んでいます。 単純に「動的な処理を行う」という基準で考えればPHP、Perlの処理はアプリサーバ側だと 思うのですが、いかがでしょうか ご回答よろしくお願いします。

    • 締切済み
    • PHP
  • キャンバスは洗えるのでしょうか?

    麻100%のキャンバスにアクリル絵具で描いた絵を洗って完全に落とすことはできるのでしょうか?

  • javascriptからPHPに変数を渡したい

    Javascriptで制御しているクライアントのページと PHPで制御しているサーバ側のページがあります。 クライアント側のページで生成したJavascriptの変数の値を サーバ側のページに送りPHPで処理したいと考えています。 どのようにすれば変数の値を送ることが出来るでしょうか? 出来ればフォームを使わずに内部処理で行いたですが、 出来なければフォームでも構わないのです。 簡単で構わないので例文を頂けると非常に助かります。 まったくの初心者で恐縮ですが、教授よろしくお願いします。

  • サーバ側とクライアント側で共通の内容の環境変数ってありますか?

    サーバ側とクライアント側で共通の内容。。 例えば、WebへのLoginユーザなどは、サーバ側では、 REMOTE_USERで受け取れると思うのですが、 クライアント側でもWebへのLOGINの情報が、VBで取得できるような環境変数とかに、入っているのでしょうか? やりたいことは、サーバ側で、クライアント個別のファイルを作成して、クライアント側に保存されているEXEで、そのファイルにアクセス したいと思っております。 その場合、クライアントのEXEが取得できるような環境変数は あるのでしょうか? 例) クライアント  aiueo(WebへのLogin) ・・・(1)      ↓    サーバ   aiueo・・・(REMOTE_USERで取得)         (サーバ側でaiueo.txt作成し、URLで          クライアントのTEST.EXEを指定したWeb          ページを作成)      ↓      クライアント TEST.EXEは実行できます         aiueo.txt←((1)のLoginがクライアントの                TEST.EXE[VB]で取得               することは可能ですか?) ※サーバとクライアントで同じ内容を見れるものであれば、  どんなものでも結構です。  教えてください。 説明がわかりづらくて済みません。

  • HTML5のcanvasのリセット

    こんにちは HTML5のcanvasを使用したプログラムを作っています。 ベースの絵を描くコードを関数"base()"とし ベースの絵を消すため、上から白いfillRectを描く関数"reset()"を作りました。 実際にプログラムを実行してみると まず最初にbase()で絵を描き、次にreset()を実行することはできました。 ですが再度base()を実行するとbase()の中のlineToで描いた線が最初より太くなってしまいました。 これはPathを使って描いた線は他のfillRect等で描いた図形とは違いreset()では正しく消せていないということなのでしょうか。一応reset()を実行するとlineToで描いた黒い線が消えているようには見えます。 何か良い解決方をご存知の方いましたらアドバイスお願いします。

このQ&Aのポイント
  • 数年前に日本の販売店から購入した中古のThink Padに日本の技適マークがない
  • 屋内でのみ無線を使用する上では問題はないが、電波法的にはNGかもしれない
  • 個人利用であれば利用者自身が注意すればリスクは低いが、職場で同様の問題がある場合には心配になる
回答を見る