1.把 Picture 属性转移到一个 stdPicture 类型变量。
2.通过这个变量,可以获得图像的句柄。
3.通过句柄,可以使用各种 Windows DIB 函数进行为所欲为的操作。

解决方案 »

  1.   

    通过句柄,使用Windows DIB 函数进行操作我也知道,但要处理逐个象素时,dib并不方便,而图象处理经常要对象素逐个处理.所以我想知道象素数据缓冲区的指针.请明白我的意思的朋友指教!
      

  2.   

      GetDIBits() 可以以指定的格式返回位图的像素内容(数组)。除了这种方法,我不知道还有其他的路,莫非你想直接修改内存?提醒你,CopyMemory 的调用速度在 VB 里面不快,你一个像素一个像素处理需要多少次 CopyMemory?速度反而会慢。VB 到底不是 C,使用指针要有技巧。
      

  3.   

    图象大小400x400,用setdibs()用时10毫秒,用setdibstodevice() 15毫秒。
    我的计算机p2400-128M ,所以,还是太慢了。有快的方法吗?
      

  4.   

    是啊!我是在找方法,找最好的方法!如果不去努力,不如用vc编程算了。
    vb的缺点是慢,但不能因为这个,就不用写好的代码了。
      

  5.   

    p3-600 128M ,编译后运行,用setdibs()用时22毫秒,用setdibstodevice() 10毫秒。
    用setdibs memorydc +bitblt 107毫秒,
      

  6.   

    对不起,写错了,是setdibits()