問題タブ [getimagedata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
6860 参照

javascript - NS_ERROR_DOM_SECURITY_ERRを引き起こすFirefox3のgetImageData

Firefox 3のJavaScriptでgetImageDataを使用するアプリケーションを開発しようとしていますがNS_ERROR_DOM_SECURITY_ERR、getImageData呼び出しで「」が表示されます。javascriptとイメージは両方とも現在ハードドライブから提供されていますが、これは明らかにセキュリティ違反ですか?これがライブの場合、両方が同じドメインから提供されるため、問題はありませんが、その間にどのように開発できますか?

0 投票する
7 に答える
24118 参照

image - getImageData / putImageData で canvas のような html 画像を使用することは可能ですか?

あたかも html5 キャンバス要素であるかのように、html 画像に含まれるデータを動的に変更/アクセスする方法があるかどうかを知りたいです。キャンバスを使用すると、javascript で getImageData() と putImageData() を使用して生のピクセル データにアクセスできますが、これまでのところ、画像でこれを行う方法を理解できていません。

0 投票する
1 に答える
2431 参照

internet-explorer - Internet Explorer からピクセル データを取得する方法はありますか?

Excanvas.js を使用すると、IE でキャンバス タグを使用できますが、getImageData メソッドはサポートされていません。

IEで指定されたピクセルの値を取得する方法はありますか(imgまたはVML、またはサーバーからのビットマップをIEで表示できる他の方法)? ないと仮定しています。

Ajax アプリの応答性を改善するためにサーバー ヒットを取り除こうとしていますが、IE から情報を引き出す方法がない場合は、FF、Chrome、Opera、および Safari でしかできない可能性があります。

0 投票する
5 に答える
35954 参照

html - HTMLキャンバスでimageDataをスケーリングする方法は?

Webページにキャンバスがあります。myImgData.data[]このキャンバスに新しい画像データを作成してから、配列を介していくつかのピクセルを変更します。次に、この画像を拡大縮小して大きくしたいと思います。コンテキストをスケーリングしてみましたが、画像が小さいままです。これを行うことは可能ですか?ありがとう

0 投票する
1 に答える
6214 参照

javascript - HTML5 キャンバスの上下反転機能は、Firefox では機能しますが、Chrome や Safari では機能しません。なぜ?

これは Firefox で完全に機能するコードですが、Webkit ブラウザーで機能しない理由がわかりません! 注:jQueryを使用してキャンバス要素を選択しています。

0 投票する
2 に答える
13443 参照

javascript - キャンバスhtml5のJavascriptgetImageData

髪を引き裂きました!私はこれを機能させました、「私はこれのバージョンを保存しない余裕がある」と思いました、そして私は..「ビルド」を壊しました。

アラートは前に機能しますが、後は​​機能しないため、この線myImageData = context.getImageData(0, 0, canvas.width, canvas.height);はこれを壊しているようです。

画像自体が読み込まれています。

ありとあらゆる提案を歓迎しました^_^私はテザーの終わりにいます、そしてRSIがすぐに自分自身を蹴るのをやめるつもりです。

0 投票する
2 に答える
766 参照

javascript - FirefoxでgetImageDataを限界まで処理するにはどうすればよいですか?

私は現在、スマッジツールとブラーツールのピクセルデータにアクセスする必要がある小さな描画アプリケーションを作成しており、FirefoxのHTML5CanvasAPIで厄介な問題にぶつかりました。どうやらそれは仕様で定義されているようにgetImageDataを完全に実装していません。仕様には、「...キャンバスの外側のピクセルは透明な黒として返される必要があります...」と具体的に記載されています。

これはFFでは発生しません(FF 3.6および4ベータ9でテスト済み)。代わりに、次のようなエラーが発生します:無効または不正な文字列が指定されました "コード:" 12

これはChromeで問題なく機能するように見えることに注意してください。

これは、この制限を回避するためにいくつかの追加コードを実装する必要があることを意味すると思います。次のコードを使用して、問題を回避することができました。

空のピクセルの束を発信者に返すので、これはクールではありません。仕様と同じように結果を返す方がはるかに良いでしょう。

コードを明確にするために、実際のコンテキストをラップし、いくつかの追加機能(相対座標など)を提供するコンテキストAPIの一部です。これはおそらく、this.widthなどがどこから来ているのかを説明しています。

面倒なのはXXXの部分です。仕様に合ったImageDataを返す方法が必要です。これを行う方法についてのアイデアは大歓迎です。:)

0 投票する
2 に答える
3320 参照

javascript - このgetImageData、javascript、HTML5キャンバスの使用でメモリリークしているのは何ですか

私は「キャンバス」要素を使用しており、FIrefox 4 で Javascript を使用してピクセルベースの画像操作を試みています。

次のコードはメモリ リークを引き起こします。何がリークしているのかを特定できる人がいるかどうか疑問に思いました。

使用される画像はプリロードされており、このコード フラグメントは、(pImages 配列に) ロードされると呼び出されます。

0 投票する
2 に答える
8519 参照

javascript - HTML5 キャンバス イメージのキャッシュ/putImageData に関する質問

HTML5 キャンバスを使用して、画像の 1 つのインスタンスを読み込み、それを 1 つのキャンバスに複数回ブリットします。画像をカスタマイズするには、ピクセルベースのわずかな操作が必要です。私の最初の攻撃計画は、画像をロードし、バッキング キャンバスにブリットし、その上に変更を描画し、画像データを取得して、将来の使用のためにキャッシュすることでした。

その趣旨で私が書いたコードを次に示します。

これは機能しますが、私の画像 (透明な PNG) が透明度を維持していないことに気付きました。代わりに、putImageData を使用して前面キャンバスに配置すると、黒の背景でレンダリングされます。透明性を維持するにはどうすればよいですか?

どんな提案も大歓迎です!

0 投票する
2 に答える
17816 参照

security - SECURITY_ERR: Chrome 拡張機能で getImageData を使用すると DOM 例外 18 が発生する

初めての Chrome 拡張機能を作成しています。jQuery とjQuery Image Desaturate プラグインを使用して、 http://www.flickr.comのページの画像の彩度を下げようとしています。

スクリプト (および jQuery とプラグイン) をプログラムで background.html にロードしています。

で Flickr ページのアクセス許可を指定しましたmanifest.json

これは問題なく動作しているように見えます。たとえば、これを に追加flickrnoir.jsし、Flickr ページを開いて拡張機能のボタンをクリックすることで、Flickr の写真ページのすべての div の背景を赤に変えることができます。

http://*.flickr.com/*...ということで、jQuery が正常に読み込まれ、ページの DOM 要素に正常にアクセスして変更できるようになりました。

しかし、desaturate プラグインを使用して画像 (または実際にはすべての画像) の彩度を下げようとすると、セキュリティ エラーが発生します。私のコード:

...最終的には、次の行を実行する jQuery.desaturate プラグインのコードで終了します。

その時点で、Chrome はセキュリティ例外をスローします。

...そして、これは私の足を止めます。

編集:さて、これはページがにあるためだとwww.flickr.com思いますが、キャンバスにコピーしている画像はfarm6.static.flickr.com?それはクロスドメイン ポリシーに違反していますか?

Chrome 拡張機能のセキュリティ モデル、クロスドメインの制限、または 2 つの相互作用についてはまだよく知らないcanvasので、これを理解するためにあなたが私に与えてくれる助けを借りることができますが、もちろん、私の基本的な質問は - - このセキュリティ例外を回避してコードを機能させるにはどうすればよいですか?