問題タブ [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 投票する
1 に答える
127 参照

javascript - 「src」ではなく「content」または「background-image」で指定された drawImage はできません

srcDOM 属性を使用してイメージ セットを指定することは不可能であるため-webkit-image-set、次のようにイメージ コンテンツを指定するために使用しています。

デバイスのピクセル比に応じて、画像コンテンツは正常に読み込まれます。ここで、画像をキャンバスにダンプする必要があります。これが私のコードです:

この時点で、dataはゼロで埋められた配列です (実際の画像は明らかに空ではありません)。たとえばのsrc属性を設定すると、コンテンツは実際の画像を反映します。#imgTesticon2x.pngdata

a を含む画像のコンテンツを大静脈にダンプできるかどうか、考えはあり-webkit-image-setますか?

0 投票する
0 に答える
483 参照

javascript - HTML5:プロトタイプを変更しようとすると、FirefoxforUbuntuで「ImageDataが定義されていません」というエラーが発生します

ピクセルごとの操作を含む<canvas>要素を使用して、単純な物理シミュレーション(落下する砂など)を実行しています。JavaScriptを使用しています。getImageData関数によって返されるImageDataクラスにメソッドを追加したかったのです。

これはWindowsの主要なブラウザでは完全に機能しますが、Ubuntu用のFirefox 4では、「ImageDataが定義されていません」というエラーが発生します。それとも、Ubuntuの実装に何かありますか?

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

javascript - 新しい ImageData オブジェクトを個別に作成する方法は?

コードで新しい ImageData オブジェクトを作成したいと考えています。Uint8ClampedArray画像オブジェクトを作成したい場合、それを行う最良の方法は何ですか?

新しいキャンバス要素を作成し、その ImageData を抽出してそのデータ属性を上書きすることもできると思いますが、それは間違ったアプローチのようです。

ImageData コンストラクターを直接使用できれば素晴らしいのですが、その方法がわかりません。

0 投票する
3 に答える
640 参照

html - キャンバス画像のトリミングを高速化する

ユーザーが保持したい領域の周りにマウスで線を引く単純な画像トリミングに取り組んでいます。彼らが確認すると、画像の残りの部分が切り取られます。現在、クロッピングを処理している方法は次のとおりです。

ただし、これはすぐに行き詰まる可能性があります。保持しようとする画像が少ないほど、処理は速くなりますが、画像の 30% (キャンバスは 800x800) を保存しても、数秒間ハングアップします。これについてもっと速い方法はありますか?

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

javascript - getImageDataで透明性が失われました-HTML52dコンテキスト

getImageData;で奇妙な問題に気づきました。画像データを取得する際、画像の透明度は無視されているようです。

canvas画像データを取得する前に画像を描画する必要があるため、これは問題のcanvas不透明な問題であると推測しました。しかしcanvas、の引数としてを使用するとdrawImage透明性が維持されるため、私は間違っていました。

これが私が画像をロードした方法です。

これcallbackは単に描画関数でありdraw_image、画像を描画するために呼び出されます。

通常のバージョン。

単にキャンバスをの引数として取り、drawImage結果は透明性を維持したまま意図したとおりになります。

画像データバージョン。

これは、通常のバージョンと同じキャンバスから必要な長方形の画像データを取得し、描画したいキャンバスに画像データを配置します。透明性を保つべきだと思いますが、そうではありません。。(これはorigin-cleanフラグのためのDropboxリンクです。)

透明性を維持する必要があると仮定するのは間違っていgetImageDataますか?それとも私はそれを間違った方法で使用していますか?

いずれにせよ、助けていただければ幸いです。

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

javascript - キャンバスのパッチの RGB 値を見つける

だから私は自分のキャンバスを持っていて、そこからいくつかの画像データを次のように取得します:

今、データには多くのナンセンスがありますが、1600 個のアイテムの配列があるため、それが実際に何であるかはわかりません。それが何なのかわからない..

20x20 ブロック全体の平均 RGB 値を取得したいと考えています。画像データからそれを取得するにはどうすればよいでしょうか?

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

javascript - getImageData から 8 ビットを超えるカラー値を取得することは可能ですか?

html5 キャンバスでピクセルを操作しようとしています。メソッド getImageData を使用すると、キャンバスの RGBA 値を持つ Uint8Array のみを取得できます。より精度の高い配列を取得する可能性はありますか? 画像のすべての 16 ビット カラー値を操作したいと思います。

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

javascript - JSのサブドメイン間の「クロスオリジンリソース共有ポリシー」?

スクリプトを含む Tumblr テーマがありcanvasます。
Cross-Origin Resource Sharing ポリシーでは、動作が許可されていませんcontext.getImageData()。スクリプトはuser.tumblr.comにあり、
画像はstatic.tumblr.comにあります。

これに対する解決策はありますか?

ありがとうございました!

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

javascript - getImageData を使用した JS キャンバスの衝突検出

非常に経験の浅いプログラマーとして、プレイヤーがキャンバス上の特定の色と衝突したことを検出するゲームをコーディングしようとしています。座標が「player.x」と「player.y」で​​、寸法が 50x50 の黒い正方形があり、矢印キーを押すと移動します。また、キャンバスの別の場所に静止した赤い (255,0,0) 正方形があります。

以下の関数は、「プレーヤー」の四角形の周りに少し大きな四角形を取得し、その中に赤があるかどうかを調べることになっています。存在する場合は、アラートを送信します。問題は、これが機能していないように見えることです。

これが赤いピクセルを検出する最も効率的な方法ではないことはある程度認識していますが、ここに投稿する前にコードを簡素化したかったのです。機能に明らかに問題がありますか?

問題は、関数の呼び出し方法にある可能性があります。ユーザー入力を検出し、「プレーヤー」の正方形の座標を変更する別の関数の最後に呼び出されます。その関数は、すべてがキャンバスに描画される直前に呼び出されます。

助けてくれてありがとう!

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

javascript - キャンバス上のgetImageDataを使用したJavaScriptカラー検出

getImageData関数に問題があります。赤に当たったことを検知してアラートボックスをポップアップするプログラムを作ろうとしています。「collideTest」という衝突検出関数を作成しましたが、問題はありませんが動作していません。以下にコード全体を含め、読みやすくするためにセクションに分けています。

collideTest()の「255」を「0」に置き換えると、アラートが何度もポップアップ表示されるため、/完全に/壊れることはありません。何が起こっているのかよくわかりません。

助けてくれてありがとう!