0

HTML5 キャンバスを使用すると、画像のサブイメージを問題なく取得できます。次のように:

var imageData = context.getImageData(5, 5, 10, 10); var d = imageData.data

ただし、このデータの別のサブイメージを取得する方法はないようです。

これをやりたかったとしましょう: 以前に返されたサブイメージの var imageData = context.getImageData(0, 0, 2, 2) 。

これは事実上 (5, 5, 2, 2) になります。

ほとんどのグラフィックス ライブラリでは、サブイメージを含むイメージを再帰的にドリルダウンできます。キャンバスには似たようなものがありますか?

4

1 に答える 1

2

独自の rect オブジェクトを作成し、それを使用してサブセレクションを実行できますが、最初のキャンバス要素から直接データを取得できます。

何かのようなもの

function rect(x, y, w, h) {
    this.x = x;
    this.y = y;
    this.width = w;
    this.height = h;
}

rect.prototype.getRect = function(x, y, w, h) {
    return new rect(this.x + x, this.y + y, w, h);
};

var initial = new rect(5,5,10,10);
var second = initial.getRect(0,0,2,2);

または、メモリ内にキャンバス要素を作成し、最初の画像を描画してgetImageDataから、新しいキャンバス コンテキストを呼び出すこともできます。

于 2012-04-11T22:14:46.400 に答える