Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <GDIPlus.au3>
- #include <GUIConstantsEx.au3>
- #include <ScreenCapture.au3>
- #include <WinAPIHObj.au3>
- Global $boolean = False
- Global $bool_crop = False
- Example()
- Func Example()
- _GDIPlus_Startup() ;initialize GDI+
- Local $iColor = 0
- Local $hBitmap = _GDIPlus_BitmapCreateFromFile('10.jpg') ;convert GDI to GDI+ bitmap
- $iWidth = _GDIPlus_ImageGetWidth($hBitmap)
- $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
- Global $crop[] = [$iWidth, $iHeight, 0, 0]
- For $iY = 0 To $iHeight - 1
- $boolean = False
- For $iX = 0 To $iWidth - 1
- $iColor = _GDIPlus_BitmapGetPixel($hBitmap, $iX, $iY) ;get current pixel color
- If Hex($iColor, 6) < Hex(0x9FFFFF, 6) Then
- ;~ MsgBox(0,$iX,$iY)
- $boolean = True
- $bool_crop = True
- $crop[0] = ($iX < $crop[0]) ? $iX : $crop[0]
- $crop[1] = ($iY < $crop[1]) ? $iY : $crop[1]
- $crop[2] = ($iX > $crop[2]) ? $iX : $crop[2]
- $crop[3] = ($iY > $crop[3]) ? $iY : $crop[3]
- EndIf
- Next
- If ($boolean = False) And ($bool_crop = True) Then
- Local $hclone = _GDIPlus_BitmapCloneArea($hBitmap, $crop[0], $crop[1], $crop[2] - $crop[0], $crop[3] - $crop[1])
- Crop_Clone_down($hclone)
- ;~ _GDIPlus_ImageSaveToFile($hclone, Random(100,99999,1) & '.jpg')
- $bool_crop = False
- $crop[0] = $iWidth
- $crop[1] = $iHeight
- $crop[2] = 0
- $crop[3] = 0
- EndIf
- Next
- ;~ _GDIPlus_ImageSaveToFile($hBitmap,'4.jpg')
- _GDIPlus_BitmapDispose($hBitmap)
- _GDIPlus_Shutdown()
- EndFunc ;==>Example
- Func Crop_Clone_down($hBitmap)
- Local $iWidth = _GDIPlus_ImageGetWidth($hBitmap)
- Local $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
- Local $crop[] = [$iWidth, $iHeight, 0, 0], $bool_crop = False, $boolean = False
- Local $iX, $iY, $iColor
- For $iX = 0 To $iWidth - 1
- $boolean = False
- For $iY = 0 To $iHeight - 1
- $iColor = _GDIPlus_BitmapGetPixel($hBitmap, $iX, $iY) ;get current pixel color
- If Hex($iColor, 6) < Hex(0x9FFFFF, 6) Then
- $boolean = True
- $bool_crop = True
- $crop[0] = ($iX < $crop[0]) ? $iX : $crop[0]
- $crop[1] = ($iY < $crop[1]) ? $iY : $crop[1]
- $crop[2] = ($iX > $crop[2]) ? $iX : $crop[2]
- $crop[3] = ($iY > $crop[3]) ? $iY : $crop[3]
- EndIf
- Next
- If (($boolean = False) And ($bool_crop = True)) Or (($bool_crop = True) And ($iX = $iWidth - 1)) Then
- Local $hclone = _GDIPlus_BitmapCloneArea($hBitmap, $crop[0], $crop[1], $crop[2] - $crop[0], $crop[3] - $crop[1])
- _GDIPlus_ImageSaveToFile($hclone, Random(100, 99999, 1) & '.jpg')
- $bool_crop = False
- $crop[0] = $iWidth
- $crop[1] = $iHeight
- $crop[2] = 0
- $crop[3] = 0
- EndIf
- Next
- EndFunc ;==>Crop_Clone_down
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement