先在内存中建立一个TBitmap或TImage,现在这个TBitmap中作图,然后用
CopyRect将结果搬到屏幕上,效果会好一些。
CopyRect将结果搬到屏幕上,效果会好一些。
解决方案 »
- delphi记录日志的问题,创建当前log写入日志文件发生错误
- 请教属性,方法,事件,sender,Tobject,self的具体解释。
- 学习、三层架构
- 如何用DELPHI连接远程SQL SERVER 7
- 怎样建立一个有纵列、横行的表?(用微软的Access),且在DBGird里显示出来.
- 放出GUI程序读取控制台程序输出的源码,有人要吗?
- 如何在quickrep中把某栏的数据进行加总?我的dbtext都已连接到数据库的
- 如何把文件通过流写入sql server 数据库,
- 有没有人使用ADOStoredProc出现问题?
- how to do ??????
- 关于String类型的问题?(不够就加分)
- TBitmap问题,图象专家please come in
应该不必再多说什么了吧?
先CreateCompatibleDC(Canvas.handle) //创建内存中的DC
再CreateCompatibleBitmap(Canvas.handle)
。(画图)
BitBlt(...)这样也许要快一些。
procedure TForm1.UpdateFormCanvas;
begin
with TBitmap.Create do
try
Width:=Self.Width; Height:=Self.Height;
with Canvas do // bitmap's DC
begin
// do your paint
end;
Windows.BitBlt(
Self.Canvas.Handle, // form's HDC
0,0,100,100,
Canvas.Handle, // bitmap's HDC
0,0, // target's top-left corner
SRCCOPY);
finally
Free; // bitmap resource
end;
end;