B4A Library PixelMeasuringTool

A wrap for this Github project. Posting:
1. B4A library files
2. B4A sample project
3. resource.zip - extract it and copy the folder and it's contents to be on the same folder level as that of the /Files and /Objects folders of the B4A project
4. LibRes.zip - extract it and copy the folder and it's contents to be on the same folder level as that of the /Files and /Objects folders of the B4A project
5. The Java code

Sample Code:
B4X:
#Region  Project Attributes
    #ApplicationLabel: b4aPixelMeasuringTool
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: portrait
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region

#AdditionalRes: ..\LibRes
#AdditionalRes: ..\resource

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.

End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Private pmt1 As PixelMeasuringTool
    Dim bm As Bitmap
    Dim bmd As BitmapDrawable
   
   
   
    Private Label1 As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("main")
   
    bm.Initialize(File.DirAssets, "stitch.jpg")
    bmd.Initialize(bm)
    pmt1.BackgroundDrawable = bmd
   
    pmt1.Circle1Color = Colors.Yellow
    pmt1.Circle2Color = Colors.Green
    pmt1.RulerColor = Colors.White


End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub pmt1_pixel_distance(distance As Float)
   
    Label1.Text = "Pixel distance = " & distance
   
End Sub

Drag the circles around with your finger....

2.png



Libraries enabled:

1.png


Take note of the B4A manifest file.
 

Attachments

  • resource.zip
    423 bytes · Views: 181
  • TheJavaCode.zip
    7.7 KB · Views: 175
  • b4aLibFiles.zip
    12.1 KB · Views: 184
  • b4aPixelMeasuringTool.zip
    53.4 KB · Views: 196
  • LibRes.zip
    2.6 KB · Views: 178

Croïd

Active Member
Licensed User
Longtime User
Hello Johan

Would it be possible to add to the library the position of the circle X and Y for start circle in the center of the screen?

Would it be possible to edit CircleStroke size ?
 

Johan Schoeman

Expert
Licensed User
Longtime User
Hello Johan

Would it be possible to add to the library the position of the circle X and Y for start circle in the center of the screen?

Would it be possible to edit CircleStroke size ?
Use the attached B4A lib files and add the following to your B4A code:
B4X:
    pmt1.Circle1_PosX = pmt1.Width/2
    pmt1.Circle1_PosY = pmt1.Height/2
  
    pmt1.Circle2_PosX = pmt1.Width/2
    pmt1.Circle2_PosY = pmt1.Height/2
  
    pmt1.SelectedStrokeWidth = 10.0
    pmt1.DefaultStrokeWidth = 7.0
  
    pmt1.RulerWidth = 7.0

Have you noticed that you can pinch zoom the circles?
 

Attachments

  • PixelMeasuringTool.jar
    12.5 KB · Views: 157
  • PixelMeasuringTool.xml
    11.2 KB · Views: 153
Last edited:
Top