Mark-World - Tech Projects To Amuse The Curious
Draw lines with a mouse click and drag operation. The length and angle of each line will be shown as you draw it and after it is drawn. The angle is very handy for cases you want to rotate an image (or horizon) but don't want to guess at the number of degrees. The lines also easily measure in pixel or other units and you may draw many lines and leave them on the screen.
Verification Tests Are Here (Sorry for dense info presentation)
The regression tests I use for PicMapTool are shown below. Here you will find that there are quite a few little bells and wistles that are not shown in the main video demos so as to keep the demos brief and only give a flavor for the key high level features. This is not nicely formated and is modified as new capabilities or more time is available for me to update it but it will show quite a few things.
Windows 7 was used for all tested versions prior to 2015 and after that all tested releases will be tested using the Exe version on Windows 7 and the Mac App version on Mac OS X 10.9. The Linux version is minimally tested but is identical to the executable I package for Windows and Mac.
Basic Operational Tests:
1.1) Bring up PicMapTool.jar ensuring you have jre 1.7 ability as the window opens to around 800x700. You should see a dialog box with a brief explanation and select 'OK' to make that box close. Verify that The desktop image that is below the viewable area of the application shows.
1.2) Move the window around on the desktop and verify that the central open area shows what was on the desktop as you move.
1.3) Click on lower right 'Help' link and ensure you get to www.mark-toys.com/PicMapTool.Html help info page
1.4) Resize the window and verify it allow the desktop below still shows through after the window settles down. When the window is less too narrow horizontally you will see controls start to vanish. This is normal and a limitation but should not crash the program so you can resize big enough to use the program still. Version 2 and later has all the controls in assorted menus so they may be accessed. For the initial 2014.11.27 version on a window re-size we re-acquired the desktop and this takes a second and caused a blink of the application.
1.5) Bring up some new window OR move a window that was up before these tests such as a web browser below PicMapTool then re-select PicMapTool. It is normal that PicMapTool will not re-acquire the desktop until you hit the 'Refresh' button to verify re-acquision of desktop. On version 2 you may refresh using Image menu or context menu selection so test those on versions 2 and later.
1.6) Now in the Options menu select Set Refresh mode and then 'Automatic' from the drop-down menu using OK (in earlier rev this was using right click on context menu prior to Options menu). Once this is selected you then click on some application below PicMapTool and move that window or resize it so the area under PicMapTool would be different. Now re-select PicMapTool and ensure that PicMapTool re-acquires the desktop image and shows the current desktop with the movement or resize of the window that you had changed. Try setting refresh mode using the 'Options' menu selection as well.
1.7) Set the refresh mode back to Manual mode for the rest of the testing. Move a window below PicMapTool then click on PicMapTool and note that you have to hit the Refresh key for the new background image to show through PicMapTool as expected.
1.8) Click the 'Grid' checkbox so a grid appears. Move the mouse around the image area and note that the 'Cursor' status box is updated with how far the cursor is from the origin and also the angle to that point from the origin. 0 degrees is to the right, 90 is up, 180 to the left and 270 is down as is the standard system for math coordinates. You will also see the x and y relative to upper left of the image area where x is zero on the left and y is zero at the top which is the way computer graphics and screens are generally standardized for X and Y.
The following tests are added as of version 2.14.12.16 release testing
1.9) In the 'View' menu select 'Hide the grid and image control panel' and that panel should be hidden and desktop image shows through below where that panel was prior to it being hidden. Most of the now hidden controls are in the Grids, Lines and context menu in as of version 2.
1.10) In the 'View' menu select 'Hide the status and mode control panel' and that panel should be hidden and desktop image shows through below where that panel was prior to it being hidden. Most of the now hidden controls are in the Grids, Lines and context menu in as of version 2.
1.11) Using the View menu set both of the control panels to be showing once again.
Image Capture And Inspection Tests:
Desktop Capture, Mix, Layer Tests:
2.1) Bring up some application below PicMapTool. Click Refresh. Click the 'Image Grab' button. Move PicMapTool and verify the grabbed image remain in full view (assumes you have NOT moved 'Image Mix' from it's left most position). Verify image grab using top menu as well as the Image grab in the right-click context menu.
2.2) Now move 'Image Mix' to about half way and note that you get a mix of captured and lower level desktop image. Move 'Image Mix' to both extremes to verify to the left shows the captured image (rotated) and to right the desktop. Move slider to each extreme. Return slider to most of way to the left so captured image is most obvious.
2.3) Grab an image and move window or rotate to see it change then clear the captured image with 'Clr' button. Verify image clear using top menu as well as the clear image selection in the right-click context menu.
2.4) Place a web browser with mostly white background and some graphic like a search engine or use a text document below and then put PicMapTool on top and hit Refresh button. Now use 'Image Grab' button then move PicMapTool an inch or so to verify the image was grabbed. Move 'Image Mix' to the left. Next Right click and select 'Set Transparency Mask Level' and from the dropdown choose 'Above light Gray'. Now the white parts ald very light parts disappear and you can move PicMapTool frame around and the isolated image floats around over your desktop. This is VERY nice feature for tons of fun. Try same thing but with a picture with a lot of dark or black areas and this time select 'BelowGray' and the really dark areas become transparent.
Zoom/Magnifier Window Tests:
2.5) Get rid of the mostly white window below and re-raise PicMapTool and hit Refresh. Now in the context menu or the Image and Lines menu select to clear the image and any lines you may have drawn. Now click on 'Zoom' in lower right. A small window appears in upper left. When you click on any spot in the tool that part will show up zoomed by about 8x in that window. Zoom on version 1 only supports non-captured images.
2.5.1) Click on the 'Grid' or in version 2 use 'Grids' menu and show grid. Optionally change grid style to full crosshairs if you like now. Then click in the center of the grid circle so that is the active area shown in the zoom window.
2.5.2) Move the full frame by grab of top caption bar and as you move the frame the zoom window shows what is centered on the grid origin.
2.5.3) Right click on some other place on the image window and select 'Set origin here' and note the zoom window shows this new origin area. You don't have to follow the origin with the grid. With grids off just a click anywhere shows that area in the zoom window.
The following Zoom/Magnifier tests are added as of version 2.14.12.16 release testing
2.6) The Zoom/magnifier window now works for whatever is shown in the image area so you may inspect mixed images, just the captured image and see live as you rotate or resize the results in the zoom window. This was added in version 2 and later.
2.7) With the zoom window of (or on) use ZoomWindow menu and select 'Set zoom window size'. Now select 'Large' and Ok and a zoom window will be shown now in the upper left even if disabled before. The 'Large' selection is about half the screen height in size.
2.8) Using the zoomWindow menu hide and then show the zoom window again for quick access.
2.9) Try the zoom window size of 'Maximum' which is very large. Set the application frame to be about twice as wide as it is tall and the Maximum setting covers half the left side. Make the full frame a bit taller than it is wide and you will see you can even make the entire image area be the magnified area of some fraction below as set by zoom magnification. Also try the View menu and hide both control panels to get a full area zoom.
2.10) Set zoom window back to 'Large' now and in ZoomWindow menu zoom magnification to try 1x and then 8x to see that they both work.
Image Rotation Tests:
3.1) Right click about 1/4 way down and 1/4 way to right from upper right then select 'Set origin to here'. Now move 'Rotation' to right then to left all the way both times to verify that the captured image rotates but desktop image remains in horizontal orientation.
3.2) Bring up menu item 'Image - Rotate image by degrees' and try +40 and -40 to set to specific rotation, clockwise for negative.
3.3) Draw a line somewhere on the image area maybe 20 degrees or so from horizontal up or down and starting from either side of the line. Now use the top menu 'Image - Rotate image to last line angle' and the image should snap to that rotation. Remember that the rotation is about the ORIGIN so drawing a line from origin will be less confusing.
3.4) Now click on the yellow 'Fine' checkbox and when you move rotation it is much finer. Unclick Fine. When you go into and out of 'fine' mode the image should not jump any amount of rotation for the mode change. Uncheck 'Fine' as you leave this step.
Image Resize Tests:
4.1) With a captured image, move the 'Image Resize' slider all the way from left to right. It gets slugish for large expansion so that is normal with a noticable delay. When it is below 1.0 you may see black around the tiny screen and you will see the full desktop and not just the part from under the app. Thats normal and in fact desired so you can shrink things outside of the frame into the frame area.
4.2) Click the 'Fine' checkbox again on bottom line next to 'Image Resize' and change size with slider in more fine increments. Uncheck 'fine'
4.3) From menu select 'Image - Resize Image by a factor' and put in 0.5 or 1.5 and see it be smaller or larger. Return it to 1.0
4.4) Draw a line of about 1/4 of the screen area then draw another line about half that long. From menu select 'Image - Resize Image by ratio of last two lines'. The image will get half as small as second line is smaller by half. Next draw a short line then a line twice that long and use same feature and image will resize to 2x. Draw two lines about same length and do again and image goes back to normal size.
Other Image Tests:
5.1) Use 'Grab' again to capture the desktop image below. Select menu 'File' then 'Save Current Image in PNG format' and save it to disk. Verify you can read this image from some other program such as IrfanView or your favorite image viewer that can read PNG files. Notice that the images saved are the combined mixed image if you have done that and also include the zoom indow image just like you saw when you did the save. This is handy because it allows multiple layering to be done if you bring up the saved image and do another layer. Poor man's layering but it's nice.
5.2) In the image menu use 'clear grabbed image to clear the captured frame and verify desktop below now shots. Move around PicMapTool window and verify that you see what was below on the desktop within PicMapTool. (Note that if you DID bring up or move windows below PicMapTool that you must hit 'Refresh' to refresh background for the desktop.
Grids Tests:
With or without the 'Grab' image being present we can run these tests. Use either mode, maybe try in both modes.
6.1) Click on to select the 'Grid' checkbox mid-bottom and note a grid that is horizontal appear over the screen. Note that a circle appears in the center as this is the default origin for the grid. As of version 2 the simple long crosshairs are the default grid (before rev 2 a full grid was default).
6.1.1) For version 2 and later use Grids menu and 'Set grid style' then select 'full grid' for these tests.
6.2) Use the grey grid 'Rotation' to ensure it rotates the grid around the point you last selected as Origin or the center if the application was just started. Verify you can move to both extremes of the slider and the grid rotates but when centered the grid is back to close to horizontal.
6.3) Use 'Grid Size' slider and verify the grid re-sizes larger or smaller all relative to the origin you had selected being the circle and center. Verify you can move slider to both extremes and return to center with same size as before.
6.4) Now click 'Fine' or the 'F' checkbox in grey and note can rotate the grid or resize the grid but much finer movements. Move the 'Fine' slider to both extremes to ensure it works and can return to center with approximate same grid angle as before. Note that you should be able to start with 'Fine' off and rotate maybe 45 degrees then click 'Fine' and fine adjustments can happen around the 45 degree sort of starting place. Uncheck 'Fine'.
6.5) Draw a line at some angle from +89 to -89 degrees. In the 'Grids' menu select 'Align grid to last line' (prior to rev 2 click on 'Align' button in lower right) and grid should snap to that angle.
6.6) Try different grids using the 'Grid' menu and 'Set Grid Style' and verify you can select full grid, crosshair and other grids. As of version 2 there are a few color grid selections and more patterns like 'Telrad' and 'Telrad with Grid' so play with those too. In version 2 there is also a 'small crosshair' which does not rotate but will resize with grid size slider.
6.7) Use the menu 'Grid - Set Grid Color' and try white and black to see grid change to that color. Note that grid color is different setting than lines.
Line Drawing and Scaled Measurements
7.0.0) Be sure you set grid to full crosshairs or full grid and then set grid rotation to zero before this test because the line angles are relative to the grid which is nice but this proceedure is written for grid at 0 degrees.
7.0.1) Left click somewhere in the image area and drag mouse to the right a little ways and keep mouse pressed while looking to note the current line's information shows with length and degrees of this line (only the same as degrees of Cursor if line started at the origin). The units of measurement are pixels as we have not calibrated the line scale yet. 0 degrees is to the right, 90 is up, 180 to the left and 270 is down as is the standard system for math coordinates. You may release the mouse at some point and the line will remain shown on the image area.
7.0.2) Draw a line somewhere on the screen that ends up and to the right of where it started and is maybe about 100 units long as seen in line info and it will remain as will the line info as this is the current line. Draw a second line in a completely different area of the image area and have it end down and to the left of where it started which gives it an angle of around 225 degrees or so. Now place cursor closer to the first line and right click to show context menu and select 'Show nearest line's info' and you should see the nearest line info show up in the line info box. This works for any number of lines you draw.
7.0.3) Using the Lines menu select 'Set line color' and choose a color and note all the lines change to that color. This allows the lines and grid to be different colors if desired.
7.0.4) Try using the Lines menu or the right click context menu and select 'Clear user lines' to see that the lines all get cleared
7.1) With PicMapTool over the picture of coins and a ruler below draw a line from the 10 to the 30 on the ruler. Use right click context menu use 'Set scale from last line' and type in 20. Now with a small gap between lines and below the first line, draw line from the 20 to the 50 but keep that line spaced a little from the first line and it should read about 30. Note that the line length should be shown accurately in the line info indication that updates as you move the cursor and remains after release of the mouse. Do same thing using the main menu 'Lines' pick as well. Don't clear these lines yet.
7.2) We did not overlap lines simply because we now want to place the cursor around the 10 on the ruler and right click to select 'Show nearest lines info' and we should see the measurement of exactly 20 because that was the reference line. Now right click below the second line but near bottom of the picture and select show the nearest lines info and we should see the near 30 number. You can play with this but the idea is we find the closest line no mater what angle it is and show that lines info.
7.3) Draw a line through the center of the left coin, the Euro. Using either main menu 'Lines' drop down or context menu select 'Set scale from last line over a coin' Use the pulldown for '1 Euro' and line measurement should snap to 23.25 (mm). Draw a line through the penny and it will read close to 19.05. The coins are more inaccurate to set scale with than the sharp lined ruler but it should be very close.
7.4) In the lines menu for version 2, select 'set line mode' and select curves in the dropdown menu (prior to rev 2 you could check the 'Curve' box) Note that the straight lines will be cleared and as best that you can, try to draw a freehand circle all around the penny. The measurement should read close to 60 although I am seeing that unless you draw very fast it overcounts and has a larger measurement so this is a known bug for now. This can get tricky if you move real slow or are shakey the line length will be longer. The show nearest line feature only works for straight lines by the way.
Picture Aspect Ratio Boxs
(Of value to find crop points for pictures)
8.1) With the right click menu select 'Set aspect ratio box and new line scale' and then select the standard photo print size of 8x10 inches. A box will be drawn in 'Landscape' orientation with the aspect ration of 8x10 and the lines drawn from now on will have scale relative to that box. Draw a line from middle top to middle bottom of the outline and you should see 8 as the measurement. Drawing a line from side to side would show 10 (inches). Try this with other ratios such as 5x7 and 10x20.
8.2) With an aspect ratio box showing try to resize the PicMapTool application frame and note the box is re-drawn and always fits with space off to the outside of the box to the edge of the frame always. Try also to resize the PixMapTool application frame itself so it is narrower from side to side than from top to bottom. The box is always to fit nicely with some space on all sides so verify the box does not get cut off with narrower side to side.
8.3) Now use top menu under the 'Lines' menu to bring up aspect box selection again and this time select 'Desktop Size'. Here you should be able to draw a line along top to bottom side and from right to left side and see that the lines end up with the length the same as your monitor resolution. PicMapTool is not supported on a second monitor so this must be on your primary monitor.
8.4) Although we have done this resize test before it is worth noting that calibrated resizes can be done in respect to the desired size you want some feature to end up with on a finished print. First grab the image that will fit under PicMapTool when aspect ratio box is placed about where you want it. Now draw one line across some object on a grabbed image on the screen that measures to let's say 2.5" in PixMapTool then draw a second line that measures 3 (inches) you can now select from Image menu 'Resize image by ratio of last two lines. You may have to bring up a second version of PixMapTool with aspect ratio box enabled in order to play with box placement and find your crop points as the resize only works on a grabbed image.
The following tests are added as of version 2.14.12.16 release testing
8.5) Test the 'Portrait' layout of the aspect boxes by using the 'Lines' menu and choose 'Aspect box orientation' then choose 'Portrait'. The box will then adjust to be portrait mode which is the vertical orientation.
8.6) Resize the application full frame and see the aspect box size change to fit the image area frame.
8.7) Now draw a line from the top of the aspect box to some point above or below the bottom of the aspect box. Then in the 'Lines' menu select 'Set aspect box size using last line'. Note that this works only if line is within 10 degrees of being horizontal or virtical.
PicMapTool - Support
Inspect, Measure And Manipulate Pictures On Your Desktop