2017-05-19 19 views
2

私はビットマップイメージを印刷するためにこのコードを持っていますが、ハンドルのフルサイズを印刷したくありません。印刷後に四角形だけを印刷するか、ビットマップイメージを切り抜くことは可能ですか?私はAutoItを使用しています。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

を使用すると、イメージマジックに見たことがありますか? この記事を参照してください:https://www.autoitscript.com/forum/topic/58361-image-editor-imagemagick/ –

答えて

1

_GDIPlus_BitmapCloneAreaを使用すると、ビットマップから矩形を取得できます。

あなたが最初のライブラリを含める必要があります:トリミングするには

#include <GDIPlus.au3> 

を:

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

A、わずかに有用な例:
https://www.autoitscript.com/forum/topic/164820-crop-an-image-from-file/

+0

ありがとう、それは働いた! –

+0

私はあなたのために投票したいが、私の評判はあまりにも低く、申し訳ありません私の友人! –

+0

@Minh Tuan Phamが助けてくれてうれしいです。チェックマークをクリックすると、答えの横にある✓をクリックして確定します。 – Bookeater

関連する問題