問題タブ [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.
javascript - 「src」ではなく「content」または「background-image」で指定された drawImage はできません
src
DOM 属性を使用してイメージ セットを指定することは不可能であるため-webkit-image-set
、次のようにイメージ コンテンツを指定するために使用しています。
デバイスのピクセル比に応じて、画像コンテンツは正常に読み込まれます。ここで、画像をキャンバスにダンプする必要があります。これが私のコードです:
この時点で、data
はゼロで埋められた配列です (実際の画像は明らかに空ではありません)。たとえばのsrc
属性を設定すると、コンテンツは実際の画像を反映します。#imgTest
icon2x.png
data
a を含む画像のコンテンツを大静脈にダンプできるかどうか、考えはあり-webkit-image-set
ますか?
javascript - HTML5:プロトタイプを変更しようとすると、FirefoxforUbuntuで「ImageDataが定義されていません」というエラーが発生します
ピクセルごとの操作を含む<canvas>要素を使用して、単純な物理シミュレーション(落下する砂など)を実行しています。JavaScriptを使用しています。getImageData関数によって返されるImageDataクラスにメソッドを追加したかったのです。
これはWindowsの主要なブラウザでは完全に機能しますが、Ubuntu用のFirefox 4では、「ImageDataが定義されていません」というエラーが発生します。それとも、Ubuntuの実装に何かありますか?
javascript - 新しい ImageData オブジェクトを個別に作成する方法は?
コードで新しい ImageData オブジェクトを作成したいと考えています。Uint8ClampedArray
画像オブジェクトを作成したい場合、それを行う最良の方法は何ですか?
新しいキャンバス要素を作成し、その ImageData を抽出してそのデータ属性を上書きすることもできると思いますが、それは間違ったアプローチのようです。
ImageData コンストラクターを直接使用できれば素晴らしいのですが、その方法がわかりません。
html - キャンバス画像のトリミングを高速化する
ユーザーが保持したい領域の周りにマウスで線を引く単純な画像トリミングに取り組んでいます。彼らが確認すると、画像の残りの部分が切り取られます。現在、クロッピングを処理している方法は次のとおりです。
ただし、これはすぐに行き詰まる可能性があります。保持しようとする画像が少ないほど、処理は速くなりますが、画像の 30% (キャンバスは 800x800) を保存しても、数秒間ハングアップします。これについてもっと速い方法はありますか?
javascript - getImageDataで透明性が失われました-HTML52dコンテキスト
getImageData
;で奇妙な問題に気づきました。画像データを取得する際、画像の透明度は無視されているようです。
canvas
画像データを取得する前に画像を描画する必要があるため、これは問題のcanvas
不透明な問題であると推測しました。しかしcanvas
、の引数としてを使用するとdrawImage
透明性が維持されるため、私は間違っていました。
これが私が画像をロードした方法です。
これcallback
は単に描画関数でありdraw_image
、画像を描画するために呼び出されます。
通常のバージョン。
単にキャンバスをの引数として取り、drawImage
結果は透明性を維持したまま意図したとおりになります。例。
画像データバージョン。
これは、通常のバージョンと同じキャンバスから必要な長方形の画像データを取得し、描画したいキャンバスに画像データを配置します。透明性を保つべきだと思いますが、そうではありません。例。(これはorigin-clean
フラグのためのDropboxリンクです。)
透明性を維持する必要があると仮定するのは間違っていgetImageData
ますか?それとも私はそれを間違った方法で使用していますか?
いずれにせよ、助けていただければ幸いです。
javascript - キャンバスのパッチの RGB 値を見つける
だから私は自分のキャンバスを持っていて、そこからいくつかの画像データを次のように取得します:
今、データには多くのナンセンスがありますが、1600 個のアイテムの配列があるため、それが実際に何であるかはわかりません。それが何なのかわからない..
20x20 ブロック全体の平均 RGB 値を取得したいと考えています。画像データからそれを取得するにはどうすればよいでしょうか?
javascript - getImageData から 8 ビットを超えるカラー値を取得することは可能ですか?
html5 キャンバスでピクセルを操作しようとしています。メソッド getImageData を使用すると、キャンバスの RGBA 値を持つ Uint8Array のみを取得できます。より精度の高い配列を取得する可能性はありますか? 画像のすべての 16 ビット カラー値を操作したいと思います。
javascript - JSのサブドメイン間の「クロスオリジンリソース共有ポリシー」?
スクリプトを含む Tumblr テーマがありcanvas
ます。
Cross-Origin Resource Sharing ポリシーでは、動作が許可されていませんcontext.getImageData()
。スクリプトはuser.tumblr.comにあり、
画像はstatic.tumblr.comにあります。
これに対する解決策はありますか?
ありがとうございました!
javascript - getImageData を使用した JS キャンバスの衝突検出
非常に経験の浅いプログラマーとして、プレイヤーがキャンバス上の特定の色と衝突したことを検出するゲームをコーディングしようとしています。座標が「player.x」と「player.y」で、寸法が 50x50 の黒い正方形があり、矢印キーを押すと移動します。また、キャンバスの別の場所に静止した赤い (255,0,0) 正方形があります。
以下の関数は、「プレーヤー」の四角形の周りに少し大きな四角形を取得し、その中に赤があるかどうかを調べることになっています。存在する場合は、アラートを送信します。問題は、これが機能していないように見えることです。
これが赤いピクセルを検出する最も効率的な方法ではないことはある程度認識していますが、ここに投稿する前にコードを簡素化したかったのです。機能に明らかに問題がありますか?
問題は、関数の呼び出し方法にある可能性があります。ユーザー入力を検出し、「プレーヤー」の正方形の座標を変更する別の関数の最後に呼び出されます。その関数は、すべてがキャンバスに描画される直前に呼び出されます。
助けてくれてありがとう!
javascript - キャンバス上のgetImageDataを使用したJavaScriptカラー検出
getImageData関数に問題があります。赤に当たったことを検知してアラートボックスをポップアップするプログラムを作ろうとしています。「collideTest」という衝突検出関数を作成しましたが、問題はありませんが動作していません。以下にコード全体を含め、読みやすくするためにセクションに分けています。
collideTest()の「255」を「0」に置き換えると、アラートが何度もポップアップ表示されるため、/完全に/壊れることはありません。何が起こっているのかよくわかりません。
助けてくれてありがとう!