1

ページから画像を取得し、それをスキャンして最も暗いピクセルを探し、それらの座標をブラウザに返すことができるGreasemonkeyスクリプトを使用できるようにしたいと思います。

もともと、私はフラッシュスクリプトを使用していました... Greasemonkeyは、ウェブページのソースのURLに基​​づいて画像をフェッチし、ActionScriptを使用して最も暗いピクセルを取得し、それらの座標を使用してPOSTリクエストを送信するローカルフラッシュファイルを埋め込みました。値。

問題は、画像を1回だけダウンロードしたいということです。この方法では、2回実行します(ブラウザーで1回、フラッシュで1回)。Javascript内または別のクライアント側言語を使用してWebページから画像を操作する方法はありますか?Canvasを使用してみましたが、リモートサーバーでホストされている画像に対してgetImageData()関数を実行できません。

4

1 に答える 1

2

フラッシュのみでロードし、画像を好きなように処理できます。ページに表示する必要がある場合は、画像を PNG の base64 文字列としてエンコードできます (PNG および base64 エンコーディングには AS ライブラリが必要です)。 .

次のステップは、文字列を javascript に渡すことです。Javascript では、base64 画像を埋め込む機能を利用できます (IE ではなく Firefox、opera でサポートされています)。

構文は次のとおりです。

<img src='data:image/png;base64,ABCDE...'>

ここで、「ABCDE...」はフラッシュで生成された base64 文字列です。

この方法では、画像を 1 回だけ取得しますが、通常の html 画像として表示することができます。

私が作成したペット プロジェクト ( www.creationempire.com/tstyles ) でこの手法を使用して、オンライン画像ジェネレーターで画像を生成し、http: //danielmclaren.net/2008/03/embedding-base64 から元のアイデアを得ました。 -画像データをウェブページに

ヒューゴ

于 2008-12-20T19:11:28.983 に答える