如何快速复制数据到CANVAS?(100分)

L

lxddd

Unregistered / Unconfirmed
GUEST, unregistred user!
  如何把一个缓冲区中数据快速复制到CANVAS中?
  不能用Pixels[x,y],太慢。
  目前的方法是建立一个TBitmap,先用循环把缓冲区move到scanline[y]^,
再canvas.draw(0,0,bitmap),总觉得有点傻。
  有没有更好的办法?用API也行
 
你可以建立一个位图,有一个 bits(Pointer)move之后再画
 
先 CreateDIBSection
再 SetDIBits
最后BitBlt(Canvas.Handle, ...);
 
先 CreateDIBSection
再 SetDIBits
最后BitBlt(Canvas.Handle, ...);
 
建立一个bmp然后把所有数据度入到bmp文件中
在canvas.draw(?,?,filename.bmp)
 
能否不通过TBitMap直接把数据写入任意canvas?
我对速度是很在乎的
 
关注,请问如何提高StrechDraw的速度,或提供其它画后可以Strech的方法。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
950
SUNSTONE的Delphi笔记
S
S
回复
0
查看
774
SUNSTONE的Delphi笔记
S
I
回复
0
查看
435
import
I
顶部