马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 剑仙十号 于 2024-10-7 11:29 编辑
bmp。0读取bmp的字节集,win32 api源码
.
readbyte,进程句柄-1,读取本进程内存地址
read=readbyte(handle,#4FC000)
.
获取bmp图片宽高,纯源码。就是读bytes。
bmp加载到内存,申请内存,复制到内存,看偏移然后读就行了。
bmp,jpg,png…………还有其它格式,都能用得到。
//
var path=系统获取进程路径()
var name="tc.bmp"
var hbmp=dllcall("user32.dll","int","LoadImageA","int",0,"char *",path&name,"int",0,"int",0,"int",0,"int",#10+#2000) //加载到内存.
var size=dllcall("gdi32.dll","int","GetObjectA","int",hbmp,"int",0,"int",null) //创建对象,获取size大小.
var lpbuff=dllcall("Kernel32.dll","int","GlobalAlloc","int",0,"int",size) //申请堆内存,返回值是缓冲区.地址
// traceprint(dllcall("gdi32.dll","int","GetObjectA","int",hbmp,"int",size,"int",lpbuff))//复制到内存缓冲区.地址 dllcall("gdi32.dll","int","DeleteObject","int",hbmp) //删除对象
//
|