找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24273|回复: 3

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

[复制链接]
发表于 2015-6-4 13:59:35 | 显示全部楼层 |阅读模式
希望可以清楚上一次绘图的图片,
  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
却不是我我要的结果,我希望可以清除像开始那样,清除上一次的图片,表达不好,见谅,有大神有办法吗?
发表于 2015-6-4 16:20:44 | 显示全部楼层
CAPI 是什么, 楼主怎么不给别人一个下载地址
 楼主| 发表于 2015-6-4 17:34:30 | 显示全部楼层
回复 2# a20150604


    一个第三方,论坛搜索就可以找到了,我就不找下载地址了😝
发表于 2015-6-4 18:43:56 | 显示全部楼层
清除上一次绘制的图片?
再创建一个画布用于备份吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 02:35 , Processed in 0.017158 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表