Тема: AHK: GDI+ Редактировать прозрачное изображение
Так можно изменить размер и отобразить прозрачное изображение, не пойму как сохранить в файл без потери прозрачности.
Полагаю, что после DrawImage из Graphics надо получить Bitmap, но что то не то выходит.
#SingleInstance, Force
#NoEnv
SetBatchLines, -1
sFile = Исходный файл
oFile = %A_Desktop%\test.png
pToken := Gdip_Startup()
OnExit, Exit
Gui, 1: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 1: Show, NA
div := 0.6
hwnd1 := WinExist()
pBitmap := Gdip_CreateBitmapFromFile(sFile)
Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(Width//div, Height//div)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, Width//div, Height//div, 0, 0, Width, Height)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, Width//div, Height//div)
pBitmap := Gdip_CreateBitmapFromHBITMAP(hbm,hdc)
Gdip_SaveBitmapToFile(pBitmap, oFile)
SelectObject(hdc, obm) ,DeleteObject(hbm) ,DeleteDC(hdc)
Gdip_DeleteGraphics(G), Gdip_DisposeImage(pBitmap)
Return
Win10x64 AhkSpy, Hotkey, ClockGui