如何快速访问canvas ?(50分)

  • 主题发起人 主题发起人 lxdufo
  • 开始时间 开始时间
L

lxdufo

Unregistered / Unconfirmed
GUEST, unregistred user!
一些控件只有canvas可以画图,我想对canvas中每一点进行处理,
但pixels[x,y]太慢,winapi的getpixel/setpixel也一样,有没有象
tbitmap.scanline那样直接通过指针访问canvas的方法?
 
你先建一个不可见的TCanvas,然后写好了以后用块拷贝去操作就快多了
 
对不起,我是说对一个已有的canvas, 如form1.canvas的所有
点进行处理,例如半透明混合,色调处理,必须能够快速读写
canvas的每一点
。。。
 


既然TBitmap这么好,那可以这样

Form1.Canvas.CopyRect ---- > TBitmap.Canvas

处理 TBitMap

再 Copy 回来
 
宝刀屠龙---Directdraw

try it
 
用 ScanLine 吧,用 Pixels[x, y] 要两层循环,能不慢吗。
 
接受答案了.
 
后退
顶部