1

私はキャンバスを持っており、取得putImageData()したクランプ配列のバイトを更新した後、メソッドを介してそれを使用して画像を表示しgetImageData.dataます。

これはうまく機能しますが、Y 方向に *2 スケーリングする必要があります。

もちろん、ここでもすべての行を 2 回繰り返すことで問題なく実行できますが、フレームのレンダリングに時間がかかりすぎます (1 秒あたり 25 フレームを表示しています)。メソッドで画像をスケーリングする機能について読みましたdrawImage()。私が知る限り、使用drawImage()は を使用するよりも遅いという唯一の問題でputImageData()あり、Firefox/2 (またはそのようなもの) のような古いブラウザー バージョンでは必要でした。

画像を Y 方向に 2 倍の速さでアップスケールするにはどうすればよいですか?

ところで、どうにかして全画面解像度を取得する同様のソリューションを取得することは可能ですか (フラッシュ - JS ではなく - 例: 全画面表示にすると youtube が何をするかなど)?

4

2 に答える 2

6

キャンバス全体をスケーリングする場合は、追加の JavaScript を使用せずにこれを行うことができます。キャンバスで指定された幅と高さの 2 倍のサイズを CSS で設定するだけです。

<canvas width="200" height="100" style="width:200; height: 200">

W3 仕様を参照してください。

編集:

以下の Alnitak によってリンクされた質問を見てください:アンチエイリアシングではなく最近傍スケーリングが必要な場合は、これを行うことができます:

canvas {
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    -ms-interpolation-mode: nearest-neighbor;
}
于 2013-07-01T14:06:20.663 に答える