绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
9月12018

什么是双缓冲绘图,防止闪烁[收集AU3]

作者:绿色风   发布:2018-9-1 15:10 Saturday   分类:学习随记   阅读:4286次   评论:0条  

在内存中先绘制好图像,再显示到屏幕,防止闪烁的尴尬,这种方法称作双缓冲。


#NoTrayIcon
#include <gdiplus.au3>
$hMain = GUICreate("直接绘图")
GUISetState(@SW_SHOW, $hMain)

_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hMain)
$hBrush = _GDIPlus_BrushCreateSolid(0xFF000080)

For $X = 0 To 400
        _GDIPlus_GraphicsClear($hGraphics, 0xFF000000)
        _GDIPlus_GraphicsFillRect($hGraphics, $X, 180, 40, 40, $hBrush)
        Sleep(10)
Next

_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()

;===================================================
$hMain = GUICreate("双缓冲绘图")
GUISetState(@SW_SHOW, $hMain)
_GDIPlus_Startup()
; 画图区
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hMain)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphics)
; 绘制存储器区域(缓冲区)
$hBackBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
$hBrush = _GDIPlus_BrushCreateSolid(0xFF000080)

For $X = 0 To 400
        ; 在缓冲器绘制操作
        _GDIPlus_GraphicsClear($hBackBuffer, 0xFF000000)
        _GDIPlus_GraphicsFillRect($hBackBuffer, $X, 180, 40, 40, $hBrush)
        ; 绘制屏幕
        _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
        Sleep(10)
Next
_GDIPlus_BrushDispose($hBrush)
_GDIPlus_GraphicsDispose($hBackBuffer)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()









本文固定链接: http://www.jianyiit.com/post-299.html

blogger
该日志由 绿色风 于2018-9-1 15:10 Saturday发表在 学习随记 分类下。
版权所有:《绿色风's Blog》 → 《什么是双缓冲绘图,防止闪烁[收集AU3]》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::Au3中文内码转换UDF,方便调用
下一篇:AU3图片转字符串,抖音热

热门文章

相关文章

  • AU3 图片读入数组后输出回图片文件
  • 将GUI 窗体置于最低层
  • AU3调用乐玩插件COM的方式
  • GUI按键控件图标+文字
  • 清理windows系统图标缓存
取消回复

发表评论

亲,头像对么?

89 + 19 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7221 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap