- ;AHK获取图像尺寸(宽高)三种方法演示
- ;By 枫丹白露@XZ 2017.2.23
- ;1是一个设想,试验下能用,2是研究了gdip库,3是ahk8论坛找到的
- 选图:
- Gui,Destroy
- FileSelectFile,TX,,选个图像文件
- ;方法1
- Gui,-DPIScale
- Gui,Add, Picture ,x0 y0 vMypic Hidden,%TX%
- GuiControlGet, FF1,Pos ,Mypic
- ;方法2
- pToken := Gdip_Startup()
- pBm:=Gdip_CreateBitmapFromFile(TX)
- ;或者:
- ;hBm:=LoadPicture(TX)
- ;pBm:=Gdip_CreateBitmapFromHBITMAP(hBm)
- FF2w:=Gdip_GetImageWidth(pBm)
- FF2h:=Gdip_GetImageHeight(pBm)
- Gdip_DisposeImage(pBm)
- Gdip_Shutdown(pToken)
- ;方法3,作用不大
- objImage := ComObjCreate("WIA.ImageFile")
- objImage.LoadFile(TX) ;strPic为路径
- FF3w:=objImage.Width ;图像文件像素宽度
- FF3h:=objImage.Height ;图像文件像素高度
- if (FF2w>500)
- Gui,Add, Picture ,x0 y20 w500 h-1 g选图,%TX% ;太宽了要等比缩放显示
- else
- Gui,Add, Picture,x0 y20 g选图,%TX%
- Gui,ADD,Text, x0 y0 w600 vtp
- Gui,ADD,Text, x500 y20 w150 vt1
- Gui,ADD,Text, w150 vt2
- Gui,ADD,Text, w150 vt3
- Gui,show,w640 h500 CEnter
- GuiControl,,tp, % "图像文件: " tx
- GuiControl,,t1, % "FF1: " FF1w " x " FF1h
- GuiControl,,t2, % "FF2: " FF2w " x " FF2h
- GuiControl,,t3, % "FF3: " FF3w " x " FF3h
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
http://www.autoahk.com/archives/1093
1英寸=2.54厘米
实际宽度/高度厘米:=宽度像素/分辨率*2.54