3

こんにちは、canvas 要素と jQuery を使用してビデオ ゲームを作成しています。これには、アーチ型のパスと円を描く必要があります。残念ながら、これはサブピクセルとアンチエイリアシングの問題を引き起こします。単純にアンチエイリアスを無効にできるブラウザはないので、円を含む画像を使用することを考えていました。これのもう 1 つの部分は、ゲームのウィンドウがブラウザー ウィンドウに応じてサイズを変更できるため、ウィンドウ内の画像のサイズが変更されることです。

私の質問のより完全な例は次のとおりです: (たとえば) 80px で画像を作成し、ゲームがそれを 37px に拡大したい場合、それをゲーム内のオブジェクトの事前レンダリングとして使用できますか? さらに、それを行うと、キャンバスはサブピクセルでレンダリングされますか?

PSコードサンプルを探しているわけではありません。これは技術的な質問であり、ドキュメントが見つからないようです。

4

1 に答える 1

0

これは、パスの代わりに画像を使用して補間されていない画像を描画するというアイデアを拡張するのに役立ちます。

ctx.imageSmoothingEnabled       = false;
ctx.mozImageSmoothingEnabled    = false;
ctx.oImageSmoothingEnabled      = false;
ctx.webkitImageSmoothingEnabled = false;

また、位置と寸法を提供するときは必ず整数を使用してください。

ctx.drawImage(something, x | 0, y | 0);

于 2012-12-05T13:10:10.147 に答える