タグ

ブックマーク / lcl.web5.jp (2)

  • マルチメディアタイマとPerformanceCounter

    マルチメディアタイマとPerformanceCounter プログラムの中で一定時間でちょっとした処理を繰り返したい、という時にはタイマを使用して指定ウインドウに一定時間毎にメッセージを送るようにすると手軽に実現できます。ただ、このタイマは精度が低いため、当に時間(周期)をあまり気にしない処理にしか使えないのが難点です。 今回は、この通常のタイマより精度が高いマルチメディアタイマを使ってみることにします。また、このマルチメディアタイマの精度を計るために、マイクロ秒(環境によってはナノ秒?)単位で時間を測定できるPerformanceCounterも試してみました マルチメディアタイマは、起動されると指定した時間ごとにコールバック関数を呼び出します。コールバック関数は別スレッドで呼び出され、(後ほど測定しますが)周期はかなり安定しているようです。ほぼ1ミリ秒(以下)単位の精度が得られること

    odawara
    odawara 2009/12/16
  • DIB(デバイス独立ビットマップ)の作成

    DIB(デバイス独立ビットマップ)の作成 DIB(デバイス独立ビットマップ)とは、メモリ上の任意の領域をRGB形式(またはカラーテーブルで指定される色の配列)の画像データを格納したビットマップ(フレームバッファ)として扱い、画面などに描画する機能です。Windowsの標準的な画像ファイル形式であるBMPファイルも、このDIBがほぼそのまま格納されています。 DIBの画像データ(ピクセル列)は、普通に確保したバッファにRGBの値を数値データとして書き込むだけですから、プログラムで作成できるデータなら「何でもあり」です。BMPファイル内の画像をメモリに読み込んで画像処理を施してから画面上に描画したり、自力で3DCGの計算を行い画面上に表示するためのフレームバッファとして使用したり、あるいはゲームの画面作成に使用して多彩な画面効果を試してみるのも良いでしょう。 DIBにはいくつか種類があるのです

  • 1