.Net Compact Framework で Double Buffering

2009/03/19 22:50

.Net Compact Framework では Control.SetStyle メソッドがサポートされていないため、ダブル バッファリングを有効にするここができない。

× SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);

そこで、チラつきを軽減させる方法を調べたところ

  1. 空の Bitmap クラスを作成する
  2. 1.で作成した Bitmap オブジェクトへ描画を行う
  3. この Bitmap オブジェクトを表示する


要は表示したいイメージを作成しておいて、それを一気に表示させるってことかな。

■サンプル

protected override void OnPaint(PaintEventArgs e)
{
    using (Bitmap bmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height))
    {
        using (Graphics g = Graphics.FromImage(bmp))
        {
            // 描画処理を行う
        }
        e.Graphics.DrawImage(bmp, 0, 0);
    }
    base.OnPaint(e);
}

#そう言えば昔 VC++ でコントロールを作成してる時にも同じようなことをしていたような気がする。

あ、あれ?チラつくぞ?
少し、描画処理に時間がかかるとやっぱりチラつく。

もっと読む...

Programing , Permalink

シュークリーム作成

2009/03/16 22:40

今年はホワイトデーにシュークリームを作ってみた。

いや~、失敗した。
焼きが足りなかったのかな?しぼんでしまった。

無理やりカスタードクリームを詰め込んで、まあ、味はシュークリームになってたからいいか。

ひとりごと Permalink

市川市動植物園へ行ってきた

2009/03/09 22:32

先週末に妻の用事で市川市に行ったのですが、私とちび達は暇だったので近くの動物園へ行ってきました。

  • 市川市動植物園

もっと読む...

ひとりごと Permalink

Windows Vista のアイコン作成

2009/03/05 15:05

必要なアイコンサイズ

  • 特大アイコン:256 x 256 ピクセル
  • 中アイコン :48 x 48 ピクセル
  • 中?アイコン:32 x 32 ピクセル
  • 小アイコン :16 x 16 ピクセル


※大アイコンなどの足りないサイズは特大アイコンの縮小が表示されるらしい。

 

アイコンの色深度

  • 24 ビットと 8 ビットアルファ(32 ビット)
  • 8 ビット(256 色)
  • 4 ビット(16 色)


さすがにもう 4 ビットは必要ないかな?

 

おすすめなアイコンエディタ

私は IcoFX を使用しています。
上のサイズ、色に対応していて、一通りの機能もそろってます。
また、日本語化も対応されています。

開発 , Permalink