完美贴图示例

AHK贴图

 

q:: ;draw bitmap/icon onto GUI
vToggle := !vToggle
vMgnX := 5, vMgnY := 5
;vImgW := 32, vImgH := 32
vImgW := 256, vImgH := 256
vImgX := vMgnX, vImgY := vMgnY
vWinW := vImgW + 2*vMgnX
vWinH := vImgH + 2*vMgnY

if vToggle
	hBitmap := LoadPicture(A_AhkPath, Format("W{} H{}", vImgW, vImgH)), vImgType := 0
else
	hIcon := LoadPicture(A_AhkPath, Format("W{} H{}", vImgW, vImgH), vImgType)

;WinGet, hWnd, ID, ahk_class Notepad
Gui, New, +HwndhGui
Gui, Show, % Format("W{} H{}", vWinW, vWinH)
hWnd := hGui
hDC1 := DllCall("user32\GetDC", Ptr,hWnd, Ptr)
if (vImgType = 0) ;IMAGE_BITMAP := 0
{
	hDC := DllCall("gdi32\CreateCompatibleDC", Ptr,hDC1, Ptr)
	hBitmapOld := DllCall("gdi32\SelectObject", Ptr,hDC, Ptr,hBitmap, Ptr)
	DllCall("gdi32\BitBlt", Ptr,hDC1, Int,vImgX, Int,vImgY, Int,vImgW, Int,vImgH, Ptr,hDC, Int,0, Int,0, UInt,0x00CC0020) ;SRCCOPY := 0x00CC0020
	DllCall("gdi32\SelectObject", Ptr,hDC, Ptr,hBitmapOld, Ptr)
	DllCall("gdi32\DeleteDC", Ptr,hDC)
}
else if (vImgType = 1) ;IMAGE_ICON := 1
	DllCall("user32\DrawIconEx", Ptr,hDC1, Int,vMgnX, Int,vMgnX, Ptr,hIcon, Int,vImgW, Int,vImgH, UInt,0, Ptr,0, UInt,0x3) ;DI_NORMAL := 0x3
return

 

给TA捐赠
共{{data.count}}人
人已捐赠
其他函数

[Lib] Console

2018-4-11 21:57:32

其他案例

抽奖代码的简单示例

2018-4-12 16:12:06

2 条回复 A文章作者 M管理员
  1. hot

    这个很实用,谢谢分享~~~

  2. dome

    嗯嗯 确实占用内存更少!更加稳定!!

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索