http://www.csdn.net/Expert/topic/420/420839.shtm
去看看我的贴子吧

解决方案 »

  1.   

    双缓冲应该很好使的,我试过;
      就是设置self 的doubleBuffed为 true,
        试试。
      

  2.   

    但是timage没有doublebuffed属性,必须使twincontrol的子类才有,
    不过你可以设置一下form的doublebuffed属性位true应该可以!
      

  3.   

    不需要使用doublebuffer属性
    你把字幕不要直接做到Timage上, 先做到一个BackBuffer: TBitMap上, 然后在下一帧的开头将BuckBuffer拷贝到TImage上(TImage.Canvas.Draw(....))
      

  4.   

    我的代码如下
    Graphics::TBitmap *bitmap=new Graphics::TBitmap;
      bitmap->Width=Width;
      bitmap->Height=Height;     // GetDC(bitmap->Handle);              b
       bitmap->Canvas->Font->Size=25;
      bitmap->Canvas->Brush->Style=bsClear;
    bitmap->Canvas->TextOut(x,100,"欢迎使用");
    ClientForm->Canvas->CopyRect(Rect(x,30,x+30,0),bitmap->Canvas,Rect(0,0,30,30));
    运行时留下一条白色的横条