标题: [特效代码] 批处理如何调用capi绘图? [打印本页]
作者: 无名小卒 时间: 2015-6-4 13:59 标题: 批处理如何调用capi绘图?
希望可以清楚上一次绘图的图片,- @echo off
- CAPI
- mode con: cols=40 lines=20
- set CAPI=API Call user32 LoadImageW ;0 $6.ico ;1 ;0 ;0 ;16
- set hIcont=%CAPI_Ret%
- set CAPI=API Call kernel32 GetConsoleWindow
- set hCMD=%CAPI_Ret%
- set CAPI=API Call user32 GetDC ;%hCMD%
- set hDC=%CAPI_Ret%
- set CAPI=API Call gdi32 CreateCompatibleDC ;%hDC%
- set hDCMem=%CAPI_Ret%
- set CAPI=API Call gdi32 CreateCompatibleBitmap ;%hDC% ;500 ;352
- set hBMPMem=%CAPI_Ret%
- set CAPI=API Call gdi32 SelectObject ;%hDCMem% ;%hBMPMem%
- set x=0
- set y=0
- set m=320
- set CAPI=API Call gdi32 Rectangle ;%hDCMem% ;0 ;0 ;320 ;342
-
- :loop
- set CAPI=API Call gdi32 Rectangle ;%hDCMem% ;0 ;0 ;64 ;%y%
- set CAPI=API Call user32 DrawIconEx ;%hDCMem% ;%x% ;%y% ;%hIcont% ;64 ;32 ;0 ;0 ;3
- set CAPI=API Call gdi32 BitBlt ;%hDC% ;0 ;0 ;320 ;342 ;%hDCMem% ;0 ;0 ;13369376
- CAPI Call kernel32 Sleep #3
- set /a y+=4
- if "%y%" == "%m%" (
- set /a m=%m%-32
- set x=0
- set y=0
- )
- goto loop
复制代码
可是但我改变 Rectangle 想清除上一个方块时修改成
set CAPI=API Call gdi32 Rectangle ;%hDCMem% ;%x% ;%y% ;64 ;32
却不是我我要的结果,我希望可以清除像开始那样,清除上一次的图片,表达不好,见谅,有大神有办法吗?
作者: a20150604 时间: 2015-6-4 16:20
CAPI 是什么, 楼主怎么不给别人一个下载地址
作者: 无名小卒 时间: 2015-6-4 17:34
回复 2# a20150604
一个第三方,论坛搜索就可以找到了,我就不找下载地址了😝
作者: bailong360 时间: 2015-6-4 18:43
清除上一次绘制的图片?
再创建一个画布用于备份吧
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |