软件注册站
热情软件屋

 
用Pixel函数画点太慢,有什么方法来提高速度
编号: QA002942    
建立日期: 2000年5月16日 最后修改日期: 2000年5月23日
所属类别: C/C++ - 图形、图象
   
    操作系统:pwin98
    编程工具:C++ Builder 4.0
    问题:用Pixel[][]这个函数来画点太慢了,当改变一幅800*600的图片颜色时要6、7秒钟。由于我需要对指定像素进行操作,又不能使用改全屏颜色的函数。请问有什么方法来提高速度么?
    水平: 中级(ww)
   
    可以考虑使用ScanLine函数,或者干脆先把图像数据读到一个矩阵中,反正现在内存越来越便宜了。
    kvdvm的意见:
    如果不使用DirectDraw或OpenGL的话,你可试试以下方法:
    1:利用CreateCompatibleDC建立一个内存中的DC。
    2:用SetPixel对像素进行操作。
    3:用BitBlt将内存DC复制到窗口DC中。(呵呵,有点象在用DIRECTDRAWSURFACE::Flip(...)?)
    liyingtao的意见:
    如果实时性要求较高,可以试一试BITBLT函数,当然,每一个象素在内存设备环境里的定位问题需要自己处理,如果还有什么问题,乐意与你一同探讨。
    
    相关书籍:
    《OpenGL图形程序设计指南》
    《OpenGL(R) 编程权威指南 第三版》
    《OPENGL 程序设计 配光盘 》
    《OPENGL图形程序设计及应用环境》
    《精通OPENGL》

    

此问题由Zhao Yu回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 图形、图象, picture, graph, image, draw

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio