[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 批处理如何调用capi绘图?

希望可以清楚上一次绘图的图片,
  1. @echo off
  2. CAPI
  3. mode con: cols=40 lines=20
  4. set CAPI=API Call user32 LoadImageW ;0 $6.ico ;1 ;0 ;0 ;16
  5. set hIcont=%CAPI_Ret%
  6. set CAPI=API Call kernel32 GetConsoleWindow
  7. set hCMD=%CAPI_Ret%
  8. set CAPI=API Call user32 GetDC ;%hCMD%
  9. set hDC=%CAPI_Ret%
  10. set CAPI=API Call gdi32 CreateCompatibleDC ;%hDC%
  11. set hDCMem=%CAPI_Ret%
  12. set CAPI=API Call gdi32 CreateCompatibleBitmap ;%hDC% ;500 ;352
  13. set hBMPMem=%CAPI_Ret%
  14. set CAPI=API Call gdi32 SelectObject ;%hDCMem% ;%hBMPMem%
  15. set x=0
  16. set y=0
  17. set m=320
  18. set CAPI=API Call gdi32 Rectangle ;%hDCMem% ;0 ;0 ;320 ;342
  19. :loop
  20. set CAPI=API Call gdi32 Rectangle ;%hDCMem%  ;0 ;0 ;64 ;%y%
  21. set CAPI=API Call user32 DrawIconEx ;%hDCMem% ;%x% ;%y% ;%hIcont% ;64 ;32  ;0 ;0 ;3
  22. set CAPI=API Call gdi32 BitBlt ;%hDC% ;0 ;0 ;320 ;342 ;%hDCMem% ;0 ;0 ;13369376
  23. CAPI Call kernel32 Sleep #3
  24. set /a y+=4
  25. if "%y%" == "%m%" (
  26. set /a  m=%m%-32
  27. set x=0
  28. set y=0
  29. )
  30. goto loop
复制代码
可是但我改变 Rectangle 想清除上一个方块时修改成

set CAPI=API Call gdi32 Rectangle ;%hDCMem%  ;%x% ;%y% ;64 ;32
却不是我我要的结果,我希望可以清除像开始那样,清除上一次的图片,表达不好,见谅,有大神有办法吗?

清除上一次绘制的图片?
再创建一个画布用于备份吧

TOP

回复 2# a20150604


    一个第三方,论坛搜索就可以找到了,我就不找下载地址了😝

TOP

CAPI 是什么, 楼主怎么不给别人一个下载地址

TOP

返回列表