0

ちなみに、素晴らしいフレームワークであることが証明されている kineticJS を使用して、画像の保存を簡単にする方法について質問がありました。それを使用して、教授開発コースの教師が教室の地図を作成し、それを画像として保存できるようにするこのアプリを作成しました。

http://courses.edtechleaders.org/html_cores/trainingcores/multimedia/classroom_app/

問題は、画像を含む新しいウィンドウが開いたときに、多くの教師が問題に遭遇することです。ウィンドウがブロックされたり、間違ったファイルを保存したり、ファイルを見つけられなくなったりする人もいます。ファイル参照ウィンドウを開く (または保存ボタンを表示する) 方法があるかどうか疑問に思っていました。これにより、ユーザーはポップアップを処理することなく、クリックするだけでローカル マシンに画像を保存できます。ここからいくつかのコードで作業してみました-

http://greenethumb.com/article/1429/user-friendly-image- Saving-from-the-canvas/

しかし、セットアップした PHP ファイルで「ファイルが見つかりません」というメッセージや、その他の不可解なエラー メッセージが表示され続けました。だから私は、kineticJS とうまく調和することがわかっているソリューションを探しています (そして、できれば最小限の php を使用しないことを願っています)。

ありがとう!

ネヴィン

4

1 に答える 1

1

最近では、ポップアップは推奨されておらず、多くのブラウザーでサポートされていません。

さらに、クライアント マシンでイメージを保存する場所を選択することはできません。これはセキュリティ上の大きな問題です。

このリンクをクリックすると、ユーザーのマシンにパスワード プログラムが保存されます。深刻ですよね?代わりに、次の手順をお勧めします。

  1. divHTML の末尾または任意の場所に非表示のダイアログを追加します

    <div id="popup"></div>
    
  2. 画像を作成してこのポップアップに追加し、JQuery UI を使用して表示します。

    stage.toDataURL({
       callback: function (dataUrl) {
          $("#popup").html( $("<img />").attr("src", dataUrl) );
          $("#popup").append("To save image, right-click, Save Image As");
          $("#popup").dialog();
        },
        mimeType: 'image/png',
        quality: 1
    });
    
  3. 上記をテストしていませんが、私の経験から、うまくいくはずです。

于 2013-02-16T17:46:25.547 に答える