Sign in to follow this  
Followers 0
davidkim

digital calipers (using png)

12 posts in this topic

#1 ·  Posted (edited)

preview

Posted Image

save as name cal1.png

Posted Image

save as name cal2.png

its action...

Posted Image

have a good day....

its digital calipers scan size limit 1077 pixel....

[new version]

its code ..digital calipers

make Small pieces is edit...

its start size

--------

check size long..

--------------------

check size long..long......

-------------------------------------

Posted Image

Posted Image

Posted Image

use 2 png

1 png download -> Download save as w_guide.png any folder...

this png size is 3000 x 181 very big size.

old version

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=C:AutoIt3Aut2ExeIconsSETUP09.ICO
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <GDIPlus.au3>
#Include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
Global Const $tagBITMAP = 'long bmType;long bmWidth;long bmHeight;long bmWidthBytes;ushort bmPlanes;ushort bmBitsPixel;ptr bmBits;'
Global $fDragging
$State = Default
Global Const $SC_DRAGMOVE = 0xF012
Global $count
Global $1st_Pos
Global $2th_Pos
Global $Nevi
; png install
FileInstall('.cal1.png',@ScriptDir & 'cal1.png',1)
FileInstall('.cal2.png',@ScriptDir & 'cal2.png',1)
_GDIPlus_Startup()
; png load
$hBackground1 = _GDIPlus_ImageLoadFromFile(@ScriptDir & 'cal1.png')
$hBackground2 = _GDIPlus_ImageLoadFromFile(@ScriptDir & 'cal2.png')
; calipers guide area (all)
$ParentForm = GUICreate('', 1236, 181, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
GUISetState()
$hForm1 =  GUICreate("", 1114, 181, 0 , 0,        $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $ParentForm)
; set guide area
setpng($hForm1,$hBackground1)
GUISetState()
; display area
$Get_hForm_Pos = WinGetPos ($hForm1 )
$hForm2 = GUICreate('', 197, 181, 17,3   ,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hForm1)
setpng($hForm2,$hBackground2)
GUISetState()

; display text output form
$Label_GUI =  GUICreate("", 120, 67, 43 , 42,         $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hForm2)
GUISetBkColor(0x003842, $Label_GUI)
$count = GUICtrlCreateLabel('000',0, 0,58,18)
GUICtrlSetColor(-1,0x666666)
GUICtrlSetBkColor(-1,-2)
GUICtrlSetFont(-1, 10, 800, 0, "굴림체")
$exit = GUICtrlCreateLabel('',0, 20,10,10)
GUICtrlSetColor(-1,0xFF0000)
GUICtrlSetBkColor(-1,-2)
GUICtrlSetFont(-1, 10, 800, 0, "굴림체")
_WinAPI_SetLayeredWindowAttributes($Label_GUI, 0x003842, 255)
GUISetState()
; if form move...
GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
HotKeySet("{ESC}",'_exit_')
; if form movement size display/move limit
GUIRegisterMsg($WM_WINDOWPOSCHANGING, "WM_WINDOWPOSCHANGING")
;~ $SPI_GETDRAGFULLWINDOWS = 38
;~ $SPI_SETDRAGFULLWINDOWS = 37
Global $result = DllStructCreate("int")
       ; system value backup
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 38, "int", 0, "ptr", DllStructGetPtr($result), "int", 0)
        ;windows move / mouse down and drag set value
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 37, "int", 1, "ptr", 0, "int", 0)
While 1
   _ReduceMemory(@AutoItPID)
    $aMsg = GUIGetMsg(1)
    Switch $aMsg[1]
        Case $hForm1
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE
                    Exit
            EndSwitch
        Case $hForm2
            Switch $aMsg[0]
                Case $GUI_EVENT_PRIMARYDOWN
                _SendMessage($hForm2, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
;~              Case $GUI_EVENT_PRIMARYUP
             Case $exit
                  _exit_()
            EndSwitch
    EndSwitch
WEnd
_GDIPlus_Shutdown()
Func _exit_()
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 37, "int", DllStructGetData($result, 1), "ptr", 0, "int", 0)
_GDIPlus_Shutdown()
Exit
EndFunc
Func WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)
    ; if mouse down...
    If $hWnd = $hForm2 Then
        $aMain_Pos = WinGetPos($hForm1)   ; calipers background png get position
        Local $iY = $aMain_Pos[1]  ; Y Pos
        Local $iX_Min = $aMain_Pos[0]  +14  ;  limit start point / start x point
        Local $iX_Max = $aMain_Pos[0]  + 1091; limit end point / end x point
        Local $stWinPos = DllStructCreate("uint;uint;int;int;int;int;uint", $lParam)
        Local $iLeft = DllStructGetData($stWinPos, 3)
        Local $iTop = DllStructGetData($stWinPos, 4)
        Local $iWidth = DllStructGetData($stWinPos, 5)
        Local $iHeight = DllStructGetData($stWinPos, 6)
        If $iLeft < $iX_Min Then DllStructSetData($stWinPos, 3, $iX_Min)
        If $iLeft > $iX_Max Then DllStructSetData($stWinPos, 3, $iX_Max)
        If $iTop <> $iY Then DllStructSetData($stWinPos, 4, $iY)
          ; size display
         $aMain_Pos = WinGetPos($hForm1)   ; background png pos
         $sMain_Pos =  WinGetPos($hForm2)  ; display png pos
         $head = $aMain_Pos[0] + 33
         $body =    $sMain_Pos[0]  + 19
         $Nevi  = $body - $head
         GUICtrlSetData($count,$Nevi)
    EndIf
EndFunc
Func _ReduceMemory($i_PID = -1)
    If $i_PID <> -1 Then
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf
    Return $ai_Return[0]
EndFunc   ;==>_ReduceMemory
Func setpng($pForm,$hBackPic)
    Local $hGraphic, $hImage
    $hImage = _GDIPlus_ImageClone($hBackPic)   ; png copy image to ..
    $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)  ; create memory blank area
    _WinAPI_UpdateLayeredWindowEx($pForm, _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage), 255, 1)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 4)
    ;     using area clrea
    _GDIPlus_GraphicsDispose($hGraphic)
    ;     copy area clrea
    _GDIPlus_ImageDispose($hImage)
EndFunc
Func _exit_2()
    Exit
EndFunc
Func _GDIPlus_ImageClone($hImage)
    Local $aResult = DllCall($ghGDIPDll, 'uint', 'GdipCloneImage', 'ptr', $hImage, 'ptr*', 0)
    If @error Then
       Return SetError(1, 0, 0)
    Else
        If $aResult[0] Then
           Return SetError($aResult[0], 0, 0)
        EndIf
    EndIf
    Return $aResult[2]
EndFunc   ;==>_GDIPlus_ImageClone
Func _WinAPI_UpdateLayeredWindowEx($hWnd, $hBitmap, $iOpacity = 255, $fDelete = 0)
    Local $Ret, $tSIZE, $tPOINT, $tBLENDFUNCTION, $hDC, $hDestDC, $hDestSv
    $Ret = DllCall('user32.dll', 'hwnd', 'GetDC', 'hwnd', $hWnd)
    $hDC = $Ret[0]
    $Ret = DllCall('gdi32.dll', 'hwnd', 'CreateCompatibleDC', 'hwnd', $hDC)
    $hDestDC = $Ret[0]
    $Ret = DllCall('gdi32.dll', 'hwnd', 'SelectObject', 'hwnd', $hDestDC, 'ptr', $hBitmap)
    $hDestSv = $Ret[0]
    $tSIZE = _WinAPI_GetBitmapDimension($hBitmap)
    $tPOINT = DllStructCreate($tagPOINT)
    $tBLENDFUNCTION = DllStructCreate($tagBLENDFUNCTION)
    DllStructSetData($tBLENDFUNCTION, 'Alpha', $iOpacity)
    DllStructSetData($tBLENDFUNCTION, 'Format', 1)
    $Ret = DllCall('user32.dll', 'int', 'UpdateLayeredWindow', 'hwnd', $hWnd, 'hwnd', $hDC, 'ptr', 0, 'ptr', DllStructGetPtr($tSIZE), 'hwnd', $hDestDC, 'ptr', DllStructGetPtr($tPOINT), 'dword', 0, 'ptr', DllStructGetPtr($tBLENDFUNCTION), 'dword', 0x02)
    DllCall('user32.dll', 'int', 'ReleaseDC', 'hwnd', $hWnd, 'hwnd', $hDC)
    DllCall('gdi32.dll', 'ptr', 'SelectObject', 'hwnd', $hDestDC, 'ptr', $hDestSv)
    DllCall('gdi32.dll', 'int', 'DeleteDC', 'hwnd', $hDestDC)
    If Not $Ret[0] Then
        Return SetError(1, 0, 0)
    EndIf
    If $fDelete Then
        _WinAPI_DeleteObject($hBitmap)
    EndIf
    Return 1
EndFunc   ;==>_WinAPI_UpdateLayeredWindowEx
Func _WinAPI_GetBitmapDimension($hBitmap)
    Local $tObj = DllStructCreate($tagBITMAP)
    Local $Ret = DllCall('gdi32.dll', 'int', 'GetObject', 'int', $hBitmap, 'int', DllStructGetSize($tObj), 'ptr', DllStructGetPtr($tObj))
    If (@error) Or (Not $Ret[0]) Then
        Return SetError(1, 0, 0)
    EndIf
    Local $tSIZE = DllStructCreate($tagSIZE)
    DllStructSetData($tSIZE, 1, DllStructGetData($tObj, 'bmWidth'))
    DllStructSetData($tSIZE, 2, DllStructGetData($tObj, 'bmHeight'))
    Return $tSIZE
EndFunc   ;==>_WinAPI_GetBitmapDimension
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hWnd = $hForm1) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
EndFunc   ;==>WM_NCHITTEST

new version

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=C:AutoIt3Aut2ExeIconsSETUP09.ICO
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <GDIPlus.au3>
#Include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <GUIConstantsEx.au3>
Global Const $tagBITMAP = 'long bmType;long bmWidth;long bmHeight;long bmWidthBytes;ushort bmPlanes;ushort bmBitsPixel;ptr bmBits;'
Global $fDragging
$State = Default
Global Const $SC_DRAGMOVE = 0xF012
Global $count
Global $1st_Pos
Global $2th_Pos
Global $Nevi
; png install
FileInstall('.w_guide.png',@ScriptDir & 'w_guide.png',1)

_GDIPlus_Startup()
; png cut load
$www =          _GDIPlus_ImageLoadFromFile(@ScriptDir & 'w_guide.png')
$back =        _GDIPlus_BitmapCloneArea ($www, 0,0, 54, 181, $GDIP_PXF32ARGB)
$front =          _GDIPlus_BitmapCloneArea ($www, 54,0, 197, 181, $GDIP_PXF32ARGB)
$guide =          _GDIPlus_BitmapCloneArea ($www, 251,0, 20, 39, $GDIP_PXF32ARGB)
$w_guide =      _GDIPlus_BitmapCloneArea ($www, 272,0, @DesktopWidth + 1000, 181, $GDIP_PXF32ARGB)
; calipers guide area (all)
$ParentForm = GUICreate('', 200, 181, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
GUISetState()
$hForm1 =  GUICreate("", 200, 181, 0 , 0,         $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $ParentForm)
; set guide area
setpng_back($hForm1,$w_guide,6)
GUISetState()
; display area
$Get_hForm_Pos = WinGetPos ($hForm1 )
$hForm2 = GUICreate('', 197, 181, 17,3   ,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hForm1)
setpng_head($hForm2,$front)
GUISetState()

; display text output form
$Label_GUI =  GUICreate("", 120, 67, 43 , 42,         $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $hForm2)
GUISetBkColor(0x003842, $Label_GUI)
$count = GUICtrlCreateLabel('000',0, 0,58,18)
GUICtrlSetColor(-1,0x666666)
GUICtrlSetBkColor(-1,-2)
GUICtrlSetFont(-1, 10, 800, 0, "굴림체")
$exit = GUICtrlCreateLabel('',0, 20,10,10)
GUICtrlSetColor(-1,0xFF0000)
GUICtrlSetBkColor(-1,-2)
GUICtrlSetFont(-1, 10, 800, 0, "굴림체")
_WinAPI_SetLayeredWindowAttributes($Label_GUI, 0x003842, 255)
GUISetState()
; if form move...
GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
HotKeySet("{ESC}",'_exit_')
; if form movement size display/move limit
GUIRegisterMsg($WM_WINDOWPOSCHANGING, "WM_WINDOWPOSCHANGING")
;~ $SPI_GETDRAGFULLWINDOWS = 38
;~ $SPI_SETDRAGFULLWINDOWS = 37
Global $result = DllStructCreate("int")
       ; system value backup
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 38, "int", 0, "ptr", DllStructGetPtr($result), "int", 0)
        ;windows move / mouse down and drag set value
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 37, "int", 1, "ptr", 0, "int", 0)
While 1
   _ReduceMemory(@AutoItPID)
    $aMsg = GUIGetMsg(1)
    Switch $aMsg[1]
        Case $hForm1
            Switch $aMsg[0]
                Case $GUI_EVENT_CLOSE
                    Exit
            EndSwitch
        Case $hForm2
            Switch $aMsg[0]
                Case $GUI_EVENT_PRIMARYDOWN
                _SendMessage($hForm2, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
;~              Case $GUI_EVENT_PRIMARYUP
             Case $exit
                  _exit_()
            EndSwitch
    EndSwitch
WEnd
_GDIPlus_Shutdown()
Func _exit_()
DllCall("User32.dll", "int", "SystemParametersInfo", "int", 37, "int", DllStructGetData($result, 1), "ptr", 0, "int", 0)
_GDIPlus_Shutdown()
Exit
EndFunc
Func WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)
    ; if mouse down...
    If $hWnd = $hForm2 Then
        $aMain_Pos = WinGetPos($hForm1)   ; calipers background png get position
        Local $iY = $aMain_Pos[1]  ; Y Pos
        Local $iX_Min = $aMain_Pos[0]  +14  ;  limit start point / start x point
        Local $iX_Max = $aMain_Pos[0]  + @DesktopWidth + 950;1091; limit end point / end x point
        Local $stWinPos = DllStructCreate("uint;uint;int;int;int;int;uint", $lParam)
        Local $iLeft = DllStructGetData($stWinPos, 3)
        Local $iTop = DllStructGetData($stWinPos, 4)
        Local $iWidth = DllStructGetData($stWinPos, 5)
        Local $iHeight = DllStructGetData($stWinPos, 6)
        If $iLeft < $iX_Min Then DllStructSetData($stWinPos, 3, $iX_Min)
        If $iLeft > $iX_Max Then DllStructSetData($stWinPos, 3, $iX_Max)
        If $iTop <> $iY Then DllStructSetData($stWinPos, 4, $iY)
          ; size display
         $aMain_Pos = WinGetPos($hForm1)   ; background png pos
         $sMain_Pos =  WinGetPos($hForm2)  ; display png pos
         $head = $aMain_Pos[0] + 33
         $body =    $sMain_Pos[0]  + 19
         $Nevi  = $body - $head
         ; + guide +
         If $Nevi > 100 Then
            $add = Round(($Nevi -100) / 20,0)
            setpng_back($hForm1,$w_guide,6+$add)
         EndIf
         GUICtrlSetData($count,$Nevi)
    EndIf
EndFunc
Func _ReduceMemory($i_PID = -1)
    If $i_PID <> -1 Then
        Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
        DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
        Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf
    Return $ai_Return[0]
EndFunc   ;==>_ReduceMemory
Func setpng_back($pForm,$hBackPic,$ct)
    Local $hGraphic, $hImage
    $hImage = _GDIPlus_ImageClone($hBackPic)   ; png copy image to ..
    $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)  ; create memory blank area
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $back, 0, 0, 54, 181)
    For $i = 0 to $ct
     _GDIPlus_GraphicsDrawImageRect($hGraphic, $guide, ($i*20)+54, 47, 20, 39)
    ConsoleWrite(($i*29)+54 & @CRLF)
     Next
    _WinAPI_UpdateLayeredWindowEx($pForm, _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage), 255, 1)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 4)
    ;     using area clrea
    _GDIPlus_GraphicsDispose($hGraphic)
    ;     copy area clrea
    _GDIPlus_ImageDispose($hImage)
EndFunc
Func setpng_head($pForm,$hBackPic)
    Local $hGraphic, $hImage
    $hImage = _GDIPlus_ImageClone($hBackPic)   ; png copy image to ..
    $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)  ; create memory blank area
    _WinAPI_UpdateLayeredWindowEx($pForm, _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage), 255, 1)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphic, 4)
    ;     using area clrea
    _GDIPlus_GraphicsDispose($hGraphic)
    ;     copy area clrea
    _GDIPlus_ImageDispose($hImage)
EndFunc
Func _exit_2()
    Exit
EndFunc
Func _GDIPlus_ImageClone($hImage)
    Local $aResult = DllCall($ghGDIPDll, 'uint', 'GdipCloneImage', 'ptr', $hImage, 'ptr*', 0)
    If @error Then
       Return SetError(1, 0, 0)
    Else
        If $aResult[0] Then
           Return SetError($aResult[0], 0, 0)
        EndIf
    EndIf
    Return $aResult[2]
EndFunc   ;==>_GDIPlus_ImageClone
Func _WinAPI_UpdateLayeredWindowEx($hWnd, $hBitmap, $iOpacity = 255, $fDelete = 0)
    Local $Ret, $tSIZE, $tPOINT, $tBLENDFUNCTION, $hDC, $hDestDC, $hDestSv
    $Ret = DllCall('user32.dll', 'hwnd', 'GetDC', 'hwnd', $hWnd)
    $hDC = $Ret[0]
    $Ret = DllCall('gdi32.dll', 'hwnd', 'CreateCompatibleDC', 'hwnd', $hDC)
    $hDestDC = $Ret[0]
    $Ret = DllCall('gdi32.dll', 'hwnd', 'SelectObject', 'hwnd', $hDestDC, 'ptr', $hBitmap)
    $hDestSv = $Ret[0]
    $tSIZE = _WinAPI_GetBitmapDimension($hBitmap)
    $tPOINT = DllStructCreate($tagPOINT)
    $tBLENDFUNCTION = DllStructCreate($tagBLENDFUNCTION)
    DllStructSetData($tBLENDFUNCTION, 'Alpha', $iOpacity)
    DllStructSetData($tBLENDFUNCTION, 'Format', 1)
    $Ret = DllCall('user32.dll', 'int', 'UpdateLayeredWindow', 'hwnd', $hWnd, 'hwnd', $hDC, 'ptr', 0, 'ptr', DllStructGetPtr($tSIZE), 'hwnd', $hDestDC, 'ptr', DllStructGetPtr($tPOINT), 'dword', 0, 'ptr', DllStructGetPtr($tBLENDFUNCTION), 'dword', 0x02)
    DllCall('user32.dll', 'int', 'ReleaseDC', 'hwnd', $hWnd, 'hwnd', $hDC)
    DllCall('gdi32.dll', 'ptr', 'SelectObject', 'hwnd', $hDestDC, 'ptr', $hDestSv)
    DllCall('gdi32.dll', 'int', 'DeleteDC', 'hwnd', $hDestDC)
    If Not $Ret[0] Then
        Return SetError(1, 0, 0)
    EndIf
    If $fDelete Then
        _WinAPI_DeleteObject($hBitmap)
    EndIf
    Return 1
EndFunc   ;==>_WinAPI_UpdateLayeredWindowEx
Func _WinAPI_GetBitmapDimension($hBitmap)
    Local $tObj = DllStructCreate($tagBITMAP)
    Local $Ret = DllCall('gdi32.dll', 'int', 'GetObject', 'int', $hBitmap, 'int', DllStructGetSize($tObj), 'ptr', DllStructGetPtr($tObj))
    If (@error) Or (Not $Ret[0]) Then
        Return SetError(1, 0, 0)
    EndIf
    Local $tSIZE = DllStructCreate($tagSIZE)
    DllStructSetData($tSIZE, 1, DllStructGetData($tObj, 'bmWidth'))
    DllStructSetData($tSIZE, 2, DllStructGetData($tObj, 'bmHeight'))
    Return $tSIZE
EndFunc   ;==>_WinAPI_GetBitmapDimension
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hWnd = $hForm1) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
EndFunc   ;==>WM_NCHITTEST

Posted ImagePosted Image

Posted Image

Edited by davidkim

I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites



What a cool idea!


♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites

Excellent davidkim. :D

The $exit label is on form $Label_GUI so it doesn't work as you have it.

Can you make a vertical version as well?


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

What a cool idea!

wow..thanks trancexx...


I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites

Excellent davidkim. :D

The $exit label is on form $Label_GUI so it doesn't work as you have it.

Can you make a vertical version as well?

yes can make....vertical version.


I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites

Excellent davidkim. :D

The $exit label is on form $Label_GUI so it doesn't work as you have it.

Can you make a vertical version as well?

i'm question...

png output vertical view can..

how GUICtrlCreateLabel is roate vertical action?


I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites

Incorrectly shows distance (±1 pixel). In addition, periodically call the _ReduceMemory() is not a good idea.

thanks

update version ....making...

add vertical or any angle can....

step by step [add] , hotkey [add]


I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites

Suggestion - maybe change the display to have buttons one left and one right (up and down) to add to the slide rule one pixel to be added with each click - as some times the mouse can be tricky to stop exactly where you want?


All by me:

"Sometimes you have to go back to where you started, to get to where you want to go." 

"Everybody catches up with everyone, eventually" 

"As you teach others, you are really teaching yourself."

From my dad

"Do not worry about yesterday, as the only thing that you can control is tomorrow."

 

WindowsError.gif

WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF

AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send

StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2

AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit  Docs

SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDF

Learning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language

Programming Tips

Excel Changes

ControlHover.UDF

GDI_Plus

Draw_On_Screen

GDI Basics

GDI_More_Basics

GDI Rotate

GDI Graph

GDI  CheckExistingItems

GDI Trajectory

Replace $ghGDIPDll with $__g_hGDIPDll

DLL 101?

Array via Object

GDI Swimlane

GDI Plus French 101 Site

GDI Examples UEZ

GDI Basic Clock

GDI Detection

Ternary operator

Share this post


Link to post
Share on other sites

Suggestions:

Moving whole caliper around the screen for better accuracy :

Ctrl + arrow keys += 1 px

Ctrl + Shift + arrows += 10 px

Moving right caliper for better accuracy :

Arrow keys += 1 px

Shift + arrows += 10 px

Make it measure larger than it'is now (my screen resolution is 1920 * 1080)

Very good idea.

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

[new version]

view top post.

Edited by davidkim

I interest am many quite in AutoitScript.From that is [http://cafe.naver.com/autoitscript[/color]] Korea of cafe(blog) to be operating, [size="2"][color="#ff00ff"]English cannot well[/size].Many help it requests.To read, it stands it thanks.

Share this post


Link to post
Share on other sites

I tried the new version but only the sliding front part is shown. I saved w_guide.png in the script folder. It looks like the areas you copy are correct but I haven't investigating more than that.

I don't think you need such a large image for w_guide; you aren't using much of it. You can create an image the width you want when the script runs and fill it with the small vertical section.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0