SHARE
TWEET

Untitled

YuJa Mar 20th, 2019 239 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <GDIPlus.au3>
  2. #include <File.au3>
  3.  
  4. $sTarget = "Untitled.png"
  5.  
  6. FileCopy(@ScriptDir & "\" & $sTarget, @ScriptDir & "\TempClone.png")
  7.  
  8. While 1
  9.     $aCheckMoreFile1 = _FileListToArray(@ScriptDir)
  10.  
  11.     CutLeft_Right(@ScriptDir & "\TempClone.png")
  12.  
  13.     $aCheckMoreFile2 = _FileListToArray(@ScriptDir)
  14.     If $aCheckMoreFile2[0] > $aCheckMoreFile1[0] Then
  15.         ContinueLoop
  16.     Else
  17.         ExitLoop
  18.     EndIf
  19.     Sleep(10)
  20. WEnd
  21.  
  22. MsgBox(0,"","Done")
  23.  
  24. Func CutLeft_Right($sPathImage)
  25.     Local $hBitmap, $hClone, $hImage, $hTempClone
  26.     Local $iX, $iY, $m, $n, $k, $l, $i, $iCheckColFullWhite, $iColor, $nLeft, $nTop, $nWidth, $nHeight
  27.  
  28.     _GDIPlus_Startup()
  29.  
  30.     $hImage = _GDIPlus_ImageLoadFromFile($sPathImage)
  31.  
  32.     $iX = _GDIPlus_ImageGetWidth($hImage)
  33.     $iY = _GDIPlus_ImageGetHeight($hImage)
  34.  
  35.     ;Kiểm tra màu điểm ảnh từ trên xuống dưới, từ trái qua phải
  36.     ;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
  37.     $n = 0
  38.     While $n < $iX
  39.         $iCheckColFullWhite = 0
  40.         For $i = 0 To $iY
  41.             $iColor = _GDIPlus_BitmapGetPixel($hImage, $n, $i)
  42.             ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
  43.             $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
  44.         Next
  45.  
  46.         If ($iCheckColFullWhite <= $iY) Then
  47.             $n += 1
  48.             ContinueLoop
  49.         Else
  50.             ExitLoop
  51.         EndIf
  52.     WEnd
  53.  
  54.     ;Kiểm tra màu điểm ảnh từ trên xuống dưới, từ trái qua phải
  55.     ;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
  56.     $m = $n
  57.     While $m < $iX
  58.         $iCheckColFullWhite = 0
  59.         For $i = 0 To $iY
  60.             $iColor = _GDIPlus_BitmapGetPixel($hImage, $m, $i)
  61.             ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
  62.             $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
  63.         Next
  64.  
  65.         If ($iCheckColFullWhite <= $iX) Then
  66.             ExitLoop
  67.         Else
  68.             $m += 1
  69.             ContinueLoop
  70.         EndIf
  71.     WEnd
  72.  
  73.     ;Kiểm tra màu điểm ảnh từ trái qua phải, từ trên xuống dưới
  74.     ;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
  75.     $k = 0
  76.     While $k < $iY
  77.         $iCheckColFullWhite = 0
  78.         For $i = $n To $m
  79.             $iColor = _GDIPlus_BitmapGetPixel($hImage, $i, $k)
  80.             ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
  81.             $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
  82.         Next
  83.  
  84.         If ($iCheckColFullWhite <= $m) Then
  85.             $k += 1
  86.             ContinueLoop
  87.         Else
  88.             ExitLoop
  89.         EndIf
  90.     WEnd
  91.  
  92.     ;Kiểm tra màu điểm ảnh từ trái qua phải, từ trên xuống dưới
  93.     ;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
  94.     $l = $k
  95.     While $l < $iY
  96.         $iCheckColFullWhite = 0
  97.         For $i = $n To $m
  98.             $iColor = _GDIPlus_BitmapGetPixel($hImage, $i, $l)
  99.             ConsoleWrite(Abs(Dec(Hex($iColor, 8))) & @CRLF)
  100.             $iCheckColFullWhite += Number(Abs(Dec(Hex($iColor, 8))))
  101.         Next
  102.  
  103.         If ($iCheckColFullWhite <= $m) Then
  104.             ExitLoop
  105.         Else
  106.             $l += 1
  107.             ContinueLoop
  108.         EndIf
  109.     WEnd
  110.  
  111.     $nLeft = $n
  112.     $nTop = $k
  113.     $nWidth = $m - $n
  114.     $nHeight = $l - $k
  115.  
  116.     $hClone = _GDIPlus_BitmapCloneArea($hImage, $nLeft, $nTop, $nWidth, $nHeight, $GDIP_PXF24RGB)
  117.     _GDIPlus_ImageSaveToFile($hClone, @ScriptDir & "\" & @MIN&@SEC&"-"&$m & ".png")
  118.  
  119.     $hTempClone = _GDIPlus_BitmapCloneArea($hImage, $m, 0, $iX - $m, $iY, $GDIP_PXF24RGB)
  120.     _GDIPlus_ImageSaveToFile($hTempClone, @TempDir & "\TempClone.png")
  121.  
  122.     _GDIPlus_ImageDispose($hClone)
  123.     _GDIPlus_ImageDispose($hTempClone)
  124.     _GDIPlus_ImageDispose($hImage)
  125.     _GDIPlus_Shutdown()
  126.  
  127.     FileDelete(@ScriptDir & "\TempClone.png")
  128.     FileMove(@TempDir & "\TempClone.png", @ScriptDir & "\TempClone.png")
  129. EndFunc
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top