0

ユーザーが画像をアップロードするか、画像の URL を指定して、画像の上に描画しているように見えるようにしたい。したがって<canvas>、背景画像を持つ要素を作成できます。しかし、その画像がどれだけ大きいかは事前にわかりません(画像がアップロードされているかどうかはわかります)。jQueryを使用してこれに対処するにはどうすればよいですか?

$('img#id_name').widthその幅に基づいてキャンバスを呼び出して作成できることを知っています(そして同じ方法で高さを取得します)。しかし、それを背景画像にしたいのです。

4

1 に答える 1

0

ロード後に画像の元の幅/高さの値を取得し、css()メソッドを使用して値を定義できます。

var img = $('img#id_name')[0]; // Get my img elem
var pic_real_width, pic_real_height;
$("<img/>") // Make in memory copy of image to avoid css issues
    .attr("src", $(img).attr("src"))
    .load(function() {
        iWidth = this.width;   // Note: $(this).width() will not
        iHeight = this.height; // work for in memory images.

   $('#canvasEle').css({'width': iWidth + 'px', 'height': iHeight + 'px'});
});

画像ソースを計算しています。

于 2013-01-12T17:59:21.277 に答える