問題タブ [blit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android のスクロールビュー内のビューでカスタム ビットマップ ブリッティングを行うときにオフスクリーンで描画するかどうかを判断するにはどうすればよいですか
View をサブクラス化し、onDraw メソッド内でビットマップ描画を行います。このビューは、水平スクロールビューに配置されます。ビットマップが画面外にスクロールされるため、ビットマップが表示されない場合があります。パフォーマンスを向上させるために、オブジェクトが表示されないときに何も描画しないようにしたいと思います。
問題は、ビットマップが画面外に描画されることをどのように判断して、描画せずに戻ることができるかということです。
sdl - SDL の Blit とは何ですか?
SDL wiki でそれは言います
この関数を使用して、ソース サーフェスからターゲット サーフェスへの高速ブリットを実行します。
しかし、それは私にはあまり役に立ちません。
この文脈で表面ブリッティングという用語は何を意味しますか?
flash - Flash を使用して連続 PNG スプライトシートを生成できますか?
一連のシェイプとモーション トゥイーンを含む複雑なタイムライン アニメーションがある場合、すべての個別のフレームをスプライトのシーケンスとして 1 つの巨大な PNG シートにエクスポートできますか?
このような PNG スプライトシートを受け入れ、アニメーション化されたボタンやその他の UI 要素に変換するjBlitterと呼ばれる優れた jQuery プラグインがあります。
html - キャンバスで円形の画像を切り取る
私は html5 キャンバスを使用しています。あなたの顔をゲームにアップロードしてメイン キャラクターとして使用できるようにゲームを作成しています。残念ながら、ゲーム内のキャラクターはスマイリー フェイスのように円形です。
では、これはどのように行われるのでしょうか?
写真を撮って円を切り取って、円の外側が透明になるようにすることはできますか? もしそうなら、これはどのように行われますか?
sdl - 他のサーフェスがクリアされない限り、SDLレンダリングテキストが表示されない
私は
また、「画面」の表面には、キャラクターと壁も適用しました。しかし、何らかの理由で、「floorsurface」と「charsurface」をすでにNULLにしない限り、タイマーが表示されないようです。私は何か間違ったことをしていますか?
linux - OpenGL フルスクリーン テクスチャにより、フレームレートが 12fps に低下
古いラップトップに Linux (Debian) をインストールし、それを使って OpenGL アプリケーションを作成しています。画面の小さな部分にテクスチャを描画すると、フレームレートは約 80 fps で巡航します。画面のより大きな部分にテクスチャを描画すると、フレームレートが大幅に低下します。フルスクリーン テクスチャは fps を 12 に落とします。
ハードウェアがより高速にレンダリングできることはわかっています。openGL がソフトウェア モードで実行されていたとしても、それでもかなり遅いようです。
これを診断する方法についてのアイデアはありますか?
私が試したこと:
glxinfo は、ラップトップがハードウェア アクセラレーション OpenGL レンダリングに対応していることを知らせてくれました。ソフトウェアで実行されていないことは確かではありませんが、ラップトップがハードウェア opengl で実行されるようにセットアップされていることは確かです。
深度バッファを捨てて、ラップトップがサポートする解像度で 24 ビットの画面バッファのみを要求しています。(まだバックバッファあり)。
GL_TEXTURE_MIN_FILTER、GL_LINEAR から GL_TEXTURE_MIN_FILTER、GL_NEAREST に切り替えると、いくつかのフレームが戻ってきましたが、20 fps をわずかに超える速度でホバリングしていて、それでも遅すぎます。
glShadeModel( GL_SMOOTH ) から glShadeModel( GL_FLAT ) に切り替えました。スピードが出ませんでした。
テクスチャを頂点ポインタおよび glBegin( GL_QUADS ) 呼び出しとしてレンダリングしてみました。
delphi - PNGまたはGIF画像から白い色をマスクし、任意の色を使用してキャンバスにブリットします
ソースはPNGまたはGIFのいずれかで、「カラー化」する必要のあるピクセルは白です。背景は、黒または透明のどちらか簡単な方にすることができます。
次に、ソースの長方形の部分を切り取り、それを「ブラシ」のパレットカラー(gif)またはRGBカラー(png)と組み合わせて、TImage/TCanvasに「スタンプ」します。色。
おそらく、RTFMが行うであろうそれらの怠惰な質問の1つです。しかし、あなたが素晴らしい解決策を持っているなら、共有してください:)
DaudのPNGImagelibを試しましたが、ソース画像をロードすることすらできません。それを使用するためのトリックはありますか?
このソリューションは、D7以降、XP以降で機能する必要があります。
flash - BitmapData.rect は新しい四角形を作成しますか?
今日、いくつかのブリッティング コードに取り組んでいましたが、プロファイリングを行った後、何千もの新しい四角形を作成していることがわかりました。1 つまたは 2 つの異なる new Rectangle() 呼び出ししかなかったか、BitmapData の .rect プロパティを使用していたため、ショックを受けました。
スプライト クラスに次のコードが残るまで、大量のコードをコメント アウトし始めました。
canvas.bitmapData.copyPixels(_bitmapData, _bitmapData.rect, destination, null, null, true);
オブジェクトの作成時に _bitmapData.rect の結果をキャッシュしたところ、何千もの新しい四角形の呼び出しが突然プロファイラーから消えてしまいました。
BitmapData.rect が新しい四角形を作成するのはなぜですか? コア ライブラリなどをチェックして、これが正しいことを確認する方法はありますか? 不可解に思えます。
flash - カメラでブリッティングすると継ぎ目が生じます (浮動小数点エラーが原因ですか?)
ブリッティングを使用したタイルマップの実装に取り組んでいます (Flash ですが、言語に関連しているとは思いません)。私が抱えている問題は、カメラをパンすると、場所によっては 1 ピクセルの継ぎ目が見え始めることです。
ブリッティングポイントを決定する方法は次のとおりです。
カメラをスクロールすると、位置が非常に不安定になっていることがわかります。ここにいくつかの痕跡があります:
継ぎ目は、.3333333333 ポスト カメラ位置でのみ表示されます。
これらの浮動小数点の問題が継ぎ目の原因であると考えるのは理にかなっていますか? とにかく半分のピクセルにブリットすることはできないので、目的の値をフロア/ラウンドするだけで安全ですか。
ありがとう!
python - あるファイルから別のファイルへの Python/Pygame の移行
この質問に答えるのが信じられないほど簡単であるか、ばかのように聞こえたら申し訳ありません。あるファイル、pygame イベント ループ、ブリットなどでスクリプトを実行してから、独自のイベント ループとブリットなどを持つ別のファイル SelectWorld.py に切り替える方法を考えています。 main 関数、元のファイルをまだ開いているために速度が低下しますか、それともそれで問題ありませんか? SelectWorld.transition() のようなもの。前もって感謝します。