我有以下代码来打印位图图像,但我不想打印句柄的完整大小。是否可以在打印后仅打印正方形或裁剪位图图像?我正在使用AutoIt。
这是我第一次发布问题,请原谅任何错误。
$hDDC = _WinAPI_GetDC($hWnd)
$hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight)
$hCDC = _WinAPI_CreateCompatibleDC($hDDC)
_WinAPI_SelectObject($hCDC, $hBMP)
DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", 0)
_WinAPI_DeleteDC($hCDC)
_WinAPI_ReleaseDC($hWnd, $hDDC)
答案 0 :(得分:1)
您可以使用_GDIPlus_BitmapCloneArea从位图中获取矩形。
您需要首先包含该库:
#include <GDIPlus.au3>
裁剪:
$hClone = _GDIPlus_BitmapCloneArea ( $hBitmap, $nLeft, $nTop, $nWidth, $nHeight [, $iFormat = 0x00021808] )
一个稍微有用的例子:
https://www.autoitscript.com/forum/topic/164820-crop-an-image-from-file/