B4A Library 1D and 2D Barcode Scanner with ZBAR - another Barcode Scanner that is 100% embedded in B4A

Discussion in 'Additional libraries, classes and official updates' started by Johan Schoeman, Feb 21, 2016.

  1. ALMRosario

    ALMRosario New Member Licensed User

    My fault, you are right, thanks!
     
  2. ma7tin

    ma7tin Member Licensed User

    Hi guys, I got question about zbarBarcodescanner. Can I add it to TabStripViewPager or it is working only as a separeta application ?
    Problem is that when I add this to my tabstrip1 and I am gonna to startscanner app is going to stopped without any errors, please help.
     
  3. Ed Brown

    Ed Brown Active Member Licensed User

    Hello @Johan Schoeman

    Thanks for a great library! Works very well.
    Just wondering if it is possible to switch between the back and front facing cameras on a device?
    Also, can this library be used with B4i?

    Thanks again for the great effort.
     
  4. Johan Schoeman

    Johan Schoeman Expert Licensed User

    Will have to add some code to the wrapper to allow for the front camera to be used. Will do so if I find some time in this week. Unfortunately it can not be used with B4I
     
  5. Johan Schoeman

    Johan Schoeman Expert Licensed User

    Here you go (read the pop up help on the methods zb1.FrontFacingCamera and zb1.BackFacingCamera when using them - it will tell you about the available cameras):
    1. You can download the new library files from here https://www.dropbox.com/s/8kfyg5jkt51q4js/ZbarBarcodeScannerLibFiles.zip?dl=0
    2. Have added the following:
    Code:
    Dim frontCamId As Int
    Dim backCamId As Int
    ...and....
    Code:
    frontCamId = zb1.FrontFacingCamera
    Log("frontCamId = " & frontCamId)
    backCamId = zb1.BackFacingCamera
    Log("backCamId = " & backCamId)
    ....and....
    Code:
    Sub b2_Click

    zb1.Visible = 
    True  
    zb1.startScanner(backCamId)    
    'changed the call to accommodate front/back camera
      
    End Sub
    Sample code:

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

    #End Region

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

    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 zb1 As ZbarBarcodeScanner
        
    Private b1 As Button
        
    Private b2 As Button
        
    Private b3 As Button
        
    Private l1 As Label
        
    Dim frontCamId As Int
        
    Dim backCamId As Int
      
    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")
      
        zb1.LaserColor = 
    Colors.Yellow
        zb1.MaskColor = 
    Colors.ARGB(15000200)
        zb1.BorderColor = 
    Colors.Magenta
        zb1.BorderStrokeWidth = 
    5
        zb1.BorderLineLength = 
    40
        zb1.Visible = 
    False
      
        zb1.ScanDelay = 
    200
      
        frontCamId = zb1.FrontFacingCamera
        
    Log("frontCamId = " & frontCamId)
        backCamId = zb1.BackFacingCamera
        
    Log("backCamId = " & backCamId)

    End Sub

    Sub Activity_Resume
      
    '   zb1.startScanner

    End Sub

    Sub Activity_Pause (UserClosed As Boolean)

        zb1.stopScanner
        zb1.Visible = 
    False
      
    End Sub

    Sub b1_Click
      
        zb1.toggleFlash
      
    End Sub

    Sub b2_Click
        zb1.Visible = 
    True  
        zb1.startScanner(backCamId)         
    'changed the call to accommodate front/back camera
      
    End Sub

    Sub b3_Click
        zb1.Visible = 
    False
        zb1.stopScanner
      
    End Sub

    Sub zb1_scan_result(scantext As String, scanformat As String)
      
        
    Log("B4A scantext = " & scantext)
        
    Log("B4A scanformat = " & scanformat)
        l1.Text = scantext
      
    End Sub
     

    Attached Files:

  6. Ed Brown

    Ed Brown Active Member Licensed User

  7. Johan Schoeman

    Johan Schoeman Expert Licensed User

    It's a pleasure Ed - and many thanks for the donation. Much appreciated!
     
  8. carycai

    carycai Member Licensed User

    @Johan Schoeman
    Thanks for your great library.I am in China,but i can't get your library files in dropbox cause i can't access dropbox website for our country's reasons.
    Could you send me the library files? Thanks a lot in advance.
    My email: carychai@126.com
     
  9. incendio

    incendio Well-Known Member Licensed User

    Dear Johan,

    Is it possible to widen Camera View Window Width ? It looks so tiny on my phone & unable to scan long barcode cause not fit in the Camera View Window, see the attachment.

    Thanks in advance.
     

    Attached Files:

    • SS1.png
      SS1.png
      File size:
      95 KB
      Views:
      84
    Last edited: May 27, 2016
  10. Johan Schoeman

    Johan Schoeman Expert Licensed User

    Done...
     
  11. carycai

    carycai Member Licensed User

    I think the same way. Waiting for reply.
     
  12. Johan Schoeman

    Johan Schoeman Expert Licensed User

    I think time has come for you to start digging into some Java code. Here is a link to my complete ZXING and ZBAR code/wrappers - the whole lot! I will assist you to set it up so that you can compile it with Simple Library Compiler - but you can do the changes and once done post the updated source code and the new B4A library files....;)

    https://www.dropbox.com/s/ge1hb16xj7cthm9/barcodescanner-master.zip?dl=0
     
    incendio likes this.
  13. Johan Schoeman

    Johan Schoeman Expert Licensed User

    See post #32 - ditto....;) I have emailed it you.
     
    Last edited: May 28, 2016
  14. incendio

    incendio Well-Known Member Licensed User

    Dear Johan,

    Thanks for your tips, & have downloaded this source code, but from now, I have a simple solution
    1) make panel that holds ZBAR bigger
    2) change the codes to this
    Code:
    zb.MaskColor             = Colors.Transparent    
    zb.BorderColor             = 
    Colors.Transparent
        zb.BorderStrokeWidth   = 
    3
        zb.BorderLineLength     = 
    0
    Everything is OK now.
     
    carycai and Johan Schoeman like this.
  15. lemonisdead

    lemonisdead Well-Known Member Licensed User

  16. Johan Schoeman

    Johan Schoeman Expert Licensed User

    That is very strange. Why will it be looking for zbar.jar in the B4A lib folder and not in your additional lib folder? Try it again by putting zbar.jar in the B4A lib folder. I have not downloaded V6 yet - will do so when back from work tonight.
     
    lemonisdead likes this.
  17. incendio

    incendio Well-Known Member Licensed User

  18. Johan Schoeman

    Johan Schoeman Expert Licensed User

    lemonisdead likes this.
  19. Johan Schoeman

    Johan Schoeman Expert Licensed User

    See post above
     
  20. lemonisdead

    lemonisdead Well-Known Member Licensed User

    Could you please check if you don't have the zbar.jar in your "official library folder", please ? (and thanks of course for having tried)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice