clarinets101

Magnifier over objects magnified

2 posts in this topic

I know the rules, don't ask for people to write your script for you.. i just need a nudge in the right direction or just tell me if it's not possible.  Here's the skinny, I have an application that shows maps of different areas.  I need to have four areas displayed on the screen, the problem I have is the window isn't laid out well to manipulate the window(s) to easily display the maps.  My thoughts are if i can have each map where it can be seen then map out the coordinates to a "magnification tool" of some sort and re-display it in it's on GUI quartered out on the screen with the "screwed" up maps in the background as there is only one monitor hooked to these computers.  I have been unable to find much on something like this, except for an old post referring to an iGZoom which I think was from back in 2005 and I haven't been able to find anything else on it.  If have performed multiple search queries so I figured I would go ahead and ask the experts.

Thank you

Share this post


Link to post
Share on other sites



Check out OnTopReplica. I believe it will suit your needs. https://ontopreplica.codeplex.com

Some notable features:

Advance > Click-forwarding - Allows you to interact with applications using OnTopReplica's Overlay.

Select Region > The Green + Button - Allows you to store the Region on a per app basis. This lets you quickly magnify to the proper coordinates. (Don't forget to press Enter before click done when naming the region.)

Position Lock - Allows you to quickly lock OnTopReplica to a corner or center of your screen.

 

Hope this helps. I really love this program. I can watch youtube videos or hulu using chrome in the background while I play dota 2. Got the regions saved. I just have to manually set opacity (transparency) and enable Advance > Click-Through which allows the OnTopReplica's Overlay to pass input to the app below it. When I play dota, I can still click on buttons the overlay is covering up using this option. Very useful.


False Positive Reporter - Mass email all anti virus vendors with an attachment of your program for fast and easy whitelisting.

PortableApps.com App Creation Wizard  - A simple GUI-based Wizard for creating PortableApps.

SoundBoard - Play any song or sound you want at the press of a hotkey.

My GitHub Page: https://github.com/BetaLeaf

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

  • Similar Content

    • loganizzi
      By loganizzi
      If you look at the help file for the above command, you'll see that it states that it only works for certain zoom values (100 and 200 to 6400).   I assume that this is due to an issue in an MSDN library that the command relies on.
      After doing some investigating, I noticed that the GUIRichEdit.au3 library file contains the following code:
      ; #FUNCTION# ==================================================================================================================== ; Authors........: Chris Haslam (c.haslam) ; Modified ......: ; =============================================================================================================================== Func _GUICtrlRichEdit_SetZoom($hWnd, $iPercent) If Not _WinAPI_IsClassName($hWnd, $__g_sRTFClassName) Then Return SetError(101, 0, False) If Not __GCR_IsNumeric($iPercent, ">0") Then Return SetError(1021, 0, False) Local $iNumerator, $iDenominator Select Case Not ($iPercent = 100 Or ($iPercent >= 200 And $iPercent < 6400)) Return SetError(1022, 0, False) Case $iPercent >= 100 $iNumerator = 10000 $iDenominator = 10000 / ($iPercent / 100) Case Else $iNumerator = 10000 * ($iPercent / 100) $iDenominator = 10000 EndSelect Return _SendMessage($hWnd, $EM_SETZOOM, $iNumerator, $iDenominator) <> 0 EndFunc ;==>_GUICtrlRichEdit_SetZoom Which ensures that values are only within the bounds specified in the help file.    I found that if I comment out the portion of the code that limits the values, the function works fine for most (if not all) values.   I changed the code in the library file to this by simply commenting out the restricting lines of code:
      ; #FUNCTION# ==================================================================================================================== ; Authors........: Chris Haslam (c.haslam) ; Modified ......: ; =============================================================================================================================== Func _GUICtrlRichEdit_SetZoom($hWnd, $iPercent) If Not _WinAPI_IsClassName($hWnd, $__g_sRTFClassName) Then Return SetError(101, 0, False) If Not __GCR_IsNumeric($iPercent, ">0") Then Return SetError(1021, 0, False) Local $iNumerator, $iDenominator Select ; Case Not ($iPercent = 100 Or ($iPercent >= 200 And $iPercent < 6400)) ; Return SetError(1022, 0, False) Case $iPercent >= 100 $iNumerator = 10000 $iDenominator = 10000 / ($iPercent / 100) Case Else $iNumerator = 10000 * ($iPercent / 100) $iDenominator = 10000 EndSelect Return _SendMessage($hWnd, $EM_SETZOOM, $iNumerator, $iDenominator) <> 0 EndFunc ;==>_GUICtrlRichEdit_SetZoom  
      I assume whatever windows bug existed at the time this was created, no longer exists so there is no need to restrict the values.   
      Just wanted to point this out if anyone else is using this part of the library and required this functionality like I did.
       
    • wakillon
      By wakillon
      Polaroider 1.0.3.1
      Easily Create a picture as a Polaroid and be able after, to create Custom Photos Polaroid Collage.
      May be you know Pola a soft for create easily Polaroid-like photos from your digital images, but after some tries, i didn't find it very handy !
      So i made mine.
       

      Photo can be positioned by drag and zoomed/unzoomed with mouse wheel ( sorry for Touchpad user    )
      Polaroid can be inclined 10 or 20 degrees, on left or right, and with simple or multiple frames.
      Inclination will only be visible on the saved shoot.
      It is also saved with a transparent background for be able to create "Pêle-Mêles" (in french) with a photo editor.
      I have set the desktop as save directory.
      previous downloads : 122
       
      source and executable are available in the Download Section
      All files are included in script.
      I hope you will like it !
      Happy Shooting ! 
    • wakillon
      By wakillon
      Easily Create a picture as a Polaroid and be able after, to create Custom Photos Polaroid Collage.
       
      Photo can be positioned by drag and zoomed/unzoomed with mouse wheel ( sorry for Touchpad user )
      Polaroid can be inclined 10 or 20 degrees, on left or right, and with simple or multiple frames.
      Inclination will only be visible on the saved shoot.
      It is also saved with a transparent background for be able to create "Pêle-Mêles" (in french) with a photo editor.
      I have set the desktop as save directory.
       
    • Chimp
      By Chimp
      I'm doing some tests with the ">Magnifier Functions udf" by Ascend4nt.
      Here is a draft for a magnifying glass.
       
       

      I have two problems:
      Issue 1)  When I start the script, sometimes it starts properly, while other times the lens shows only a black box instead of the magnified area. I saw that in those cases, interrupting the script by pressing esc and running it again several times solves this strange problem (ie, after several reboots of the script, it works correctly... (?))
      Problem 2) when the lens works well and you try to drag the lens, the image that is located inside the lens remains frozen until the lens is dropped. I wish that the content of the lens continues to update even while dragging. I tried to use the _WinAPI_SetTimer to update the contents of the lens even while dragging, but without success  (set the variable $b_Test_WinAPI_SetTimer = True at line 11 to see the unsuccessfully attempt)
      Any suggestions for achieve this purpose will be appreciated
      thanks
       
    • Chimp
      By Chimp
      This lens snippet (assembled using other snippets from the forum and from the help file)  makes memory usage grow linearly, and never released till closed.
      could someone tell me what should I change to make it do a regular use of memory?
      thanks
      This listing is debugged (Thanks to Danyfirex)
      #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <ScreenCapture.au3> Global Const $iWidth = 400, $iHeight = 200 ; lens dimensions Global $Magnify = 2 ; zoom factor Global $CapureCursor = False ; If True the cursor will be captured with the image ; Global $g_hGUI, $g_hGfxCtxt, $g_hBitmap, $g_hGraphics Global $Mouse[2], $CaptureX = $iWidth / ($Magnify * 2), $CaptureY = $iHeight / ($Magnify * 2) Example() Func Example() AutoItSetOption("GUIOnEventMode", 1) _GDIPlus_Startup() ;initialize GDI+ $g_hGUI = GUICreate("Magnifier", $iWidth, $iHeight, -1, -1, $DS_MODALFRAME, $WS_EX_TOPMOST) GUISetState(@SW_SHOW) ;create buffered graphics frame set for smoother gfx object movements $g_hGraphics = _GDIPlus_GraphicsCreateFromHWND($g_hGUI) ;create a graphics object from a window handle $g_hBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $g_hGraphics) $g_hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($g_hBitmap) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") local $g_hBitmap2 = 0 Do $g_hBitmap2 = SnapShot() _GDIPlus_GraphicsClear($g_hGfxCtxt, 0xFF000000) ;clear bitmap for repaint _GDIPlus_GraphicsDrawImage($g_hGfxCtxt, $g_hBitmap2, 0, 0) ;draw bitmap to backbuffer _GDIPlus_GraphicsDrawImageRect($g_hGraphics, $g_hBitmap, 0, 0, $iWidth, $iHeight) ;copy drawn bitmap to graphics handle (GUI) _GDIPlus_BitmapDispose($g_hBitmap2) Until Not Sleep(10) ;sleep 10 ms to avoid high cpu usage EndFunc ;==>Example Func SnapShot() $Mouse = MouseGetPos() ; Capture region (centered on mouse position; dimensions based on the $CaptureX and $CaptureY variables) $hHBITMAP = _ScreenCapture_Capture("", $Mouse[0] - $CaptureX, $Mouse[1] - $CaptureY, $Mouse[0] + $CaptureX, $Mouse[1] + $CaptureY, $CapureCursor) ; http://www.autoitscript.com/forum/topic/130856-enlargezoom-image-after-screencapture/?p=910694 ; Create a Bitmap object from the bitmap handle $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hHBITMAP) ; Dispose of the original capture since we now have a bitmap image we can use with GDIPlus. _WinAPI_DeleteObject($hHBITMAP) ; Get the graphics context of the bitmap image. $hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage) ; Creates a new Bitmap object based on the Graphic object with a new width and height. $hHBITMAP = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic) ; Dispose of the Graphic context now we have a newly sized bitmap image as a canvas. _GDIPlus_GraphicsDispose($hGraphic) ; Get the graphics context of the newly sized bitmap image $hGraphic = _GDIPlus_ImageGetGraphicsContext($hHBITMAP) ; Draw the original image onto the newly sized image. _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, 0, 0, $iWidth, $iHeight) ; 200, 200) ; Dispose of the Graphic context now we have drawn the original image to it. _GDIPlus_GraphicsDispose($hGraphic) ; Dispose of the original image. _GDIPlus_ImageDispose($hImage) Return($hHBITMAP) EndFunc ;==>SnapShot Func _Exit() ;cleanup GDI+ resources _GDIPlus_GraphicsDispose($g_hGfxCtxt) _GDIPlus_GraphicsDispose($g_hGraphics) _GDIPlus_BitmapDispose($g_hBitmap) _GDIPlus_Shutdown() GUIDelete($g_hGUI) Exit EndFunc ;==>_Exit Buggy version is in spoiler