2017-05-19 2 views
2

J'ai ce code ci-dessous pour imprimer une image bitmap, mais je ne veux pas imprimer la taille complète de la poignée. Est-il possible d'imprimer seulement un carré ou recadrer l'image bitmap après l'impression? J'utilise AutoIt.Comment faire pour recadrer bitmap dans AutoIt?

C'est la première fois que j'ai posté une question, s'il vous plaît pardonner toutes les erreurs.

$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

Avez-vous étudié la magie de l'image? Voir ce message: https://www.autoitscript.com/forum/topic/58361-image-editor-imagemagick/ –

Répondre

1

Vous pouvez utiliser _GDIPlus_BitmapCloneArea pour obtenir un rectangle d'un bitmap.

Vous devrez inclure la bibliothèque première:

#include <GDIPlus.au3> 

Pour rogner:

$hClone = _GDIPlus_BitmapCloneArea ($hBitmap, $nLeft, $nTop, $nWidth, $nHeight [, $iFormat = 0x00021808]) 

Un exemple un peu utile:
https://www.autoitscript.com/forum/topic/164820-crop-an-image-from-file/

+0

Merci, cela a fonctionné !! –

+0

Je veux voter pour vous mais ma réputation est trop basse, désolé mon ami! –

+0

@Minh Tuan Pham heureux que cela a aidé. Vous pouvez cliquer sur la coche: ✓ à côté de la réponse pour l'accepter pour confirmer. – Bookeater