下载地址:http://zyl910vb.51.net/vb/wdzp/ZDIBop.htm对640*480的图像进行半透明合并
只比Bitblt慢3倍多
比AlphaBlend慢一倍
比GetPixel、SetPixelV算快93倍!不要怀疑,这的确是完全用VB写的!透明合并的的运算结果(我的CPU是K6-2 350):我的程序索引色透明        85毫秒
我的程序普通半透明       108毫秒
我的程序Alpha通道透明    162毫秒
FastGraphics的普通半透明 294毫秒Bitblt到窗体             24毫秒
AlphaBlend               58毫秒GetPixel、SetPixelV算    10.08秒对640*480的图像的亮度淡入淡出:
处理一帧只需要0.067秒
能达到每秒10帧的速度(CopyMemory、Bitblt都需要时间)
比那个内嵌汇编的亮度淡入淡出演示程序只慢了4帧(我的程序是每秒10帧,它是每秒14帧。那个程序的下载地址:http://www.dapha.net/vb/list.asp?id=1552)400*300图像的翻转、180度旋转、亮度、对比度、移动颜色、灰度
都是30毫秒左右解决(90度、270度旋转是60毫秒,因为需要重新分配空间)特别是垂直翻转,竟然是6毫秒!对于彩色度、浮雕效果,相对慢了一点,也就是50毫秒左右!
看来VB并没有比其他语言慢多少!

解决方案 »

  1.   

    HEHE zyl910 的程序值得看看:)
      

  2.   

    注意:用FlashGet或IE自身的下载功能(右键,目标另存为)下载后注意把*.rar.jpg改名成*.rar
      

  3.   

    我现在开始怀疑你接下来会用VB来开发一个Photoshop8.0
      

  4.   

    zyl910 (910:分儿,我来了!) (L2002)你好!
        我不在 http://zyl910vb.51.net/vb/wdzp/ZDIBop.htm下载
            可否把源码用电子邮件发给我吗?
                      电子邮件:[email protected]
                              我是一个VB菜鸟,真的好想得到你的帮助
                                    拜托  拜托
      

  5.   

    你给的地址打不开,可不可以发邮件给我
    [email protected]
    谢谢
      

  6.   

    !!!!!niu衊?㘓뿶ૼ?牛……
      

  7.   

    下载后解不开,说CRC错,能不能给发一份?[email protected]
    谢谢!!!
      

  8.   

    i can't browser u web!!may be dns is wrong?give me u dns address~
      

  9.   

    下载不了,发过来 
    [email protected]
      

  10.   

    zyl910 (910:分儿,我来了!) (L2002)你好!
        我不能在 http://zyl910vb.51.net/vb/wdzp/ZDIBop.htm下载
            可否把源码用电子邮件发给我,好吗?
                      电子邮件:[email protected]
                              我是一个VB菜鸟,真的好想得到你的帮助
                                    拜托  拜托
     
      

  11.   

    的确值得一看,说不定我可以移植到 Delphi 上试试
      

  12.   

    我在调试环境用SetPixel做锐化用了1.3秒,而用你的只用0.5秒,不过没有93倍那么夸张。大概是Copymemory 省了时间吧,我们都用了这个。不过用SetPixel必须用到FOR循环,肯定是这个影响了速度
      

  13.   

    [email protected]如果可以,请给我发一份,谢谢。//bow
      

  14.   

    can't download [email protected] you very much!!!
      

  15.   

    [email protected]还是发到信箱吧。
    实在上不去呀!!!!!
      

  16.   

    [email protected]还是发到信箱吧。
    实在上不去呀!!!!!
      

  17.   

    怎么搞的?看不到?给我一份!谢谢:)
    [email protected]
      

  18.   

    zyl910 (910:分儿,我来了!) (L2002)你好!     我不能在 http://zyl910vb.51.net/vb/wdzp/ZDIBop.htm下载
            小弟已经按你所教的方法“右键……”都不能下载              还请你把源码用电子邮件发给我,好吗?
                      电子邮件:[email protected]
                              我是一个VB菜鸟,真的好想得到你的帮助                                拜托  拜托
                                                      良芳
      

  19.   

    只是有一点不理解,你的程序在我机子上渐变的效果都没有超过5祯,但是内嵌汇编的那个没有下过75祯,这是怎么回事啊???我的机子:AMD 1500+   512MDDR   SIS735
      

  20.   

    发给我一个吧,谢谢![email protected]
      

  21.   

    大家机器都这么好啊?偶还守这  PIII 733 + 128MB 混呢,5555~~~~~~
      

  22.   

    呵呵,不错,效果不错!我的机子:赛阳566,256M内存,Win2000
      

  23.   

    呵呵,你是不是指开发速度快啊?但vb用这些算法的话还是不如去用c++的来得方便呀。至于速度快之说,我只有保持沉默了。不过你真的很厉害,起码你证明了vb是个很强的语言,几乎什么事情都能做。
      

  24.   

    在调试环境下运行是解释方式的
    对于大规模的循环运算速度很慢我这里是指编译成exe后的速度
    我这里(K6-2 350、128M内存、)锐化400*300的图片只用了0.060秒同时我只对 半透明合并、亮度调整、对比度调整、颜色度调整、增减颜色 做好了优化
    那93倍只是半透明合并所差的速度
    由于没找到好的 模糊、锐化 公式
    所以没有对它进行优化
      

  25.   

    你们是下载不了
    可我是邮件发送不了
    上面的所有地址
    我这里FoxMail都报告“找不到邮件服务器”所以才上传
    可是又这样
    有谁知道哪里有免费的个人主页空间
    要支持Ftp上传
      

  26.   

    zyl910(910:分儿,我来了!) (L2002) 
      你好!
            如果“邮件发送不了……”
         请你把源码放入我的知信息中
                              拜托  拜托
                                                      良芳
      

  27.   

    能发一份给我吗?!
    [email protected]
      

  28.   


    你是那里的SMTP服务器?是不是需要验证?
      

  29.   

    FoxMail报告:找不到邮件服务器有时发得出去
    但几率不足1/10
      

  30.   

    TO zyl910(910:分儿,我来了!) (L2002)我把你的程序传到我的主页上了(没做连接)如果大家需要,可以去:http://nomey.myetang.com/zdibop.rar下载如果构成侵权,我马上删除      ^_^
      

  31.   

    非常感谢Chice_wxg(VS.NET = 光驱烤肉,我也入网了)
      

  32.   

    经zyl910许可授权
    我把程序传到我的主页上了(主页上没做连接)如果大家需要,可以去:http://nomey.myetang.com/zdibop.rar下载(重复)如果大家需要,可以去:http://nomey.myetang.com/zdibop.rar下载如果大家需要,可以去:http://nomey.myetang.com/zdibop.rar下载
      

  33.   

    下载地址:http://zyl910vb.51.net/vb/wdzp/ZDIBop.htm
    怎么会不可以下呢?我刚下完.看看先!
      

  34.   

    用CreateDIBSection创建DIB项,最好把颜色定义为24位色或32位色
    记得保存参数lplpVoid的值,它是DIB位图数据的地址
    用Bitblt把图像复制过去DIB问题格式
    DIB位图的每一行所占字节数必须是4的
    而且它采用逆序存储,即 第一行数据其实是图片的最后一行对于24位DIB
    每个像素占3个字节
    第一个字节是B值(蓝色分量)
    第二个字节是G值(绿色分量)
    第三个字节是R值(红色分量)一个3*3的24位DIB(FF表示一个字节,|表示分割一个双字——DWORD,即 4个字节,括号是坐标)在内存中的存放形式:
    第一行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        (2,0)的/ \(2,1)的-/ \(2,2)的-/  \-未用-/
    第二行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        (1,0)的/ \(1,1)的-/ \(1,2)的-/  \-未用-/
    第三行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        (0,0)的/ \(0,1)的-/ \(0,2)的-/  \-未用-/
    对于32位DIB
    每个像素占4个字节
    第一个字节是B值(蓝色分量)
    第二个字节是G值(绿色分量)
    第三个字节是R值(红色分量)
    第四个字节保留未用,你可以把它作为Alpha值由于它每个像素占4个字节,所以不要考虑每一行所占字节数必须是4的
    比如一个3*3的32位DIB在内存中的存放形式:
    第一行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        \(2,0)的值/  \(2,1)的值-/  \(2,2)的值-/
    第二行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        \(1,0)的值/  \(1,1)的值-/  \(1,2)的值-/
    第三行 FF FF FF FF | FF FF FF FF | FF FF FF FF |
        \(0,0)的值/  \(0,1)的值-/  \(0,2)的值-/
    把数据进行操作的方法
    可以用GetBitmapBits(Call GetBitmapBits(DIB位图的句柄, DIB位图所占字节, 一个数组(最小下标)'数组必须事先分配好空间))
    也可以修改一个数组的SafeArray结构,使它的数据指针指向DIB位图但我觉得这两种方法都不够快,所以我想处理一种模拟二级指针的方法
    使一个只有一个元素的Long型数组的数据指针指向另一个只有一个元素的Long型数组的数据指针地址
    只要修改“一个只有一个元素的Long型数组”的值,就可以修改“另一个只有一个元素的Long型数组”的数据地址
    这样可以减少VB自身计算数组元地址时的乘法运算
    这种方法比数组法快一倍多对于VB模拟指针的方法、SafeArray结构的解释,可以看AdamBear的文章:http://www.csdn.net/develop/author/netauthor/AdamBear/
    对于24位色DIB的处理方法(我那个程序是32位色的),可参考:
    http://www.21code.com/codebase/?pos=down&id=1754
    源码类型: VisualBasic源码-图形方面   
      
    上传时间: 2001-10-28  
    下载次数: 101  
    源码大小: 83 KB 源码评价:      源码简介:快速图形处理程序,有几种常见的处理效果,但是速度都比其他示例快!
      

  35.   

    地址更改:
    http://zyl910vb.51.net/vb/map/ZDIBop.htm
    用FlashGet或IE自身的下载功能(右键,目标另存为)下载后注意把*.rar.jpg改名成*.rar
    如果还是不能下载的话
    用这个地址:http://nomey.myetang.com/zdibop.rar
      

  36.   

    真是不错的呀,高。我对图形很感兴趣。我去了你的主叶怎么下载是乱码的呀!HELP!!555555……
      

  37.   

    [email protected]
    我也打不开,要一份
      

  38.   

    zyl910(910:分儿,我来了!) 这个不能说完全是你自己写的吧?我一年前就见过一个老外的代码了。你的程序和他的很象,你为什么不换换那个图片呢?那个外国小孩就是程序的原作者,我和他通过信。不过你的理解够深刻的,高手!'made by gonchuki
    [email protected]
    '
    'first release: October 8, 2001 at 1:15 am
    这是gonchuki在程序开头的注释!
      

  39.   

    能不能给发到邮箱啊,[email protected].谢谢