Choose any of the following in the code to change the module shape:
B4X:
'RoundedModuleDrawer, VerticalBarsDrawer, HorizontalBarsDrawer, CircleModuleDrawer, GappedSquareModuleDrawer, SquareModuleDrawer
[CODE lang="b4x" title="PyBridge - qrcode"]Private Sub CreateQRCode(Code As String) As ResumableSub
Dim BytesIO As PyWrapper = Py.ImportModuleFrom("io", "BytesIO")
Dim qrcode As PyWrapper = Py.ImportModule("qrcode")
Dim styledPilIMage As PyWrapper = Py.ImportModuleFrom("qrcode.image.styledpil", "StyledPilImage")
'RoundedModuleDrawer, VerticalBarsDrawer, HorizontalBarsDrawer, CircleModuleDrawer, GappedSquareModuleDrawer, SquareModuleDrawer
Dim RoundedModuleDrawerType As PyWrapper = Py.ImportModuleFrom("qrcode.image.styles.moduledrawers.pil", "GappedSquareModuleDrawer")
Dim radialGradientColorMask As PyWrapper = Py.ImportModuleFrom("qrcode.image.styles.colormasks", "RadialGradiantColorMask")
Dim qr As PyWrapper = qrcode.Run("QRCode").ArgNamed("box_size", 10).ArgNamed("border", 4).ArgNamed("error_correction", qrcode.GetField("ERROR_CORRECT_L"))
qr.Run("add_data").Arg(Code)
qr.Run("make").ArgNamed("fit", True)
Dim Img As PyWrapper = qr.Run("make_image").ArgNamed("fill_color", "black").ArgNamed("back_color" , "white").ArgNamed("image_factory", styledPilIMage).ArgNamed("module_drawer", RoundedModuleDrawerType.Call).ArgNamed("color_mask", radialGradientColorMask.Call)
Dim rv As PyWrapper = BytesIO.Call
Img.Run("save").Arg(rv)
Wait For (rv.Fetch) Complete (rv As PyWrapper)
Return Py.ImageFromBytes(rv.Value)
End Sub[/CODE]