Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GDIPlus.au3>
- #include <File.au3>
- $sTarget = "Untitled.png"
- FileCopy(@ScriptDir & "\" & $sTarget, @ScriptDir & "\TempClone.png")
- While 1
- $aCheckMoreFile1 = _FileListToArray(@ScriptDir)
- CutLeft_Right(@ScriptDir & "\TempClone.png")
- $aCheckMoreFile2 = _FileListToArray(@ScriptDir)
- If $aCheckMoreFile2[0] > $aCheckMoreFile1[0] Then
- ContinueLoop
- Else
- ExitLoop
- EndIf
- Sleep(10)
- WEnd
- MsgBox(0,"","Done")
- Func CutLeft_Right($sPathImage)
- Local $hBitmap, $hClone, $hImage, $hTempClone
- Local $iX, $iY, $m, $n, $k, $l, $i, $iCheckColFullWhite, $iColor, $nLeft, $nTop, $nWidth, $nHeight
- _GDIPlus_Startup()
- $hImage = _GDIPlus_ImageLoadFromFile($sPathImage)
- $iX = _GDIPlus_ImageGetWidth($hImage)
- $iY = _GDIPlus_ImageGetHeight($hImage)
- ;Kiểm tra màu điểm ảnh từ trên xuống dưới, từ trái qua phải
- ;Hành động này kiểm tra điểm màu trắng liên tiếp cho đến khi thấy cạnh trái của text thì dừng
- $n = 0
- While $n < $iX
- $iCheckColFullWhite = 0
- For $i = 0 To $iY
- $iColor = _GDIPlus_BitmapGetPixel($hImage, $n, $i)
- ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
- $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
- Next
- If ($iCheckColFullWhite <= $iY) Then
- $n += 1
- ContinueLoop
- Else
- ExitLoop
- EndIf
- WEnd
- ;Kiểm tra màu điểm ảnh từ trên xuống dưới, từ trái qua phải
- ;Hành động này kiểm tra điểm màu của text liên tiếp cho đến khi thấy cột toàn trắng (hết text) thì dừng
- $m = $n
- While $m < $iX
- $iCheckColFullWhite = 0
- For $i = 0 To $iY
- $iColor = _GDIPlus_BitmapGetPixel($hImage, $m, $i)
- ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
- $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
- Next
- If ($iCheckColFullWhite <= $iX) Then
- ExitLoop
- Else
- $m += 1
- ContinueLoop
- EndIf
- WEnd
- ;Kiểm tra màu điểm ảnh từ trái qua phải, từ trên xuống dưới
- ;Hành động này kiểm tra điểm màu trắng liên tiếp cho đến khi thấy cạnh trên của text thì dừng
- $k = 0
- While $k < $iY
- $iCheckColFullWhite = 0
- For $i = $n To $m
- $iColor = _GDIPlus_BitmapGetPixel($hImage, $i, $k)
- ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
- $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
- Next
- If ($iCheckColFullWhite <= $m) Then
- $k += 1
- ContinueLoop
- Else
- ExitLoop
- EndIf
- WEnd
- ;Kiểm tra màu điểm ảnh từ trái qua phải, từ trên xuống dưới
- ;Hành động này kiểm tra điểm màu của text liên tiếp cho đến khi thấy dòng toàn trắng (hết text) thì dừng
- $l = $k
- While $l < $iY
- $iCheckColFullWhite = 0
- For $i = $n To $m
- $iColor = _GDIPlus_BitmapGetPixel($hImage, $i, $l)
- ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
- $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
- Next
- If ($iCheckColFullWhite <= $m) Then
- ExitLoop
- Else
- $l += 1
- ContinueLoop
- EndIf
- WEnd
- $nLeft = $n
- $nTop = $k
- $nWidth = $m - $n
- $nHeight = $l - $k
- $hClone = _GDIPlus_BitmapCloneArea($hImage, $nLeft, $nTop, $nWidth, $nHeight, $GDIP_PXF24RGB)
- _GDIPlus_ImageSaveToFile($hClone, @ScriptDir & "\" & @MIN&@SEC&"-"&$m & ".png")
- $hTempClone = _GDIPlus_BitmapCloneArea($hImage, $m, 0, $iX - $m, $iY, $GDIP_PXF24RGB)
- _GDIPlus_ImageSaveToFile($hTempClone, @TempDir & "\TempClone.png")
- _GDIPlus_ImageDispose($hClone)
- _GDIPlus_ImageDispose($hTempClone)
- _GDIPlus_ImageDispose($hImage)
- _GDIPlus_Shutdown()
- FileDelete(@ScriptDir & "\TempClone.png")
- FileMove(@TempDir & "\TempClone.png", @ScriptDir & "\TempClone.png")
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement