グリースモンキー スクリプトを作成しようとしていますが、画像を操作できるようにすることが望ましいです (具体的には、画像内の最も暗いピクセルを見つけます)。これを行う方法はありますか、それともフラッシュを埋め込む必要がありますか?
6232 次
2 に答える
8
Firefox 固有なので、canvas 要素を使用できます。私はグリースモンキー スクリプトを書いたことがないので、具体的な方法はわかりませんが、新しいキャンバス要素を作成し、イメージをキャンバスに描画します。次に、キャンバスからピクセル値を取得できます。
// Create the canvas element
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
// Draw the image onto the canvas
var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0);
// Get the pixel data
var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
// Loop through imageData.data - an array with 4 values per pixel: red, green, blue, and alpha
for (int x = 0; x < imageData.width; x++) {
for (int y = 0; y < imageData.height; y++) {
var index = 4 * (y * imageData.width + x);
var r = imageData.data[index];
var g = imageData.data[index + 1];
var b = imageData.data[index + 2];
var a = imageData.data[index + 3];
// Do whatever you need to do with the rgba values
}
}
于 2008-12-14T04:07:42.420 に答える
1
スクラップ
var r = imageData.data[index];
var g = imageData.data[index + 1];
var b = imageData.data[index + 2];
var a = imageData.data[index + 3];
一部、Javascript は参照渡ししません。
于 2009-07-13T03:02:13.713 に答える