Sub SavePhoto (NewFile As String)
'Dim Buffer() As Byte 'declare an empty byte array
'Buffer = Base64StringToImage(NewFile)
Dim bmp As Bitmap = (CreateRoundBitmap(Base64EncodeDecodeImage.Base64StringToImage(NewFile), ImageView1.Width))
B4XPages.MainPage.SQL.ExecNonQuery2("INSERT INTO Studentphoto2 VALUES('smiley', ?, ?)", Array As Object(Base64EncodeDecodeImage.Base64ImageToString2(bmp),Account.Text))
ImageView1.SetBitmap(CreateRoundBitmap(bmp, ImageView1.Width))
'Main.sql_conexion.ExecNonQuery2("Update Clientes Set Imagen = ? where Codigo = ?",Array As Object(buffer1,Cliente_Codigo))
'File.Delete(File.DirRootExternal, NewFile)
' Starter.SQL1.ExecNonQuery2("INSERT INTO Studentphoto2 VALUES('smiley', ?, ?)", Array As Object(NewFile,Account.Text))
'ImageView1.SetBitmap(CreateRoundBitmap(Base64StringToImage(NewFile), ImageView1.Width))
End Sub
Sub CreateRoundBitmap (Input As B4XBitmap, Size As Int) As B4XBitmap
If Input.Width <> Input.Height Then
'if the image is not square then we crop it to be a square.
Dim l As Int = Min(Input.Width, Input.Height)
Input = Input.Crop(Input.Width / 2 - l / 2, Input.Height / 2 - l / 2, l, l)
End If
Dim c As B4XCanvas
Dim xview As B4XView = xui.CreatePanel("")
xview.SetLayoutAnimated(0, 0, 0, Size, Size)
c.Initialize(xview)
Dim path As B4XPath
path.InitializeOval(c.TargetRect)
c.ClipPath(path)
c.DrawBitmap(Input.Resize(Size, Size, False), c.TargetRect)
c.RemoveClip
c.DrawCircle(c.TargetRect.CenterX, c.TargetRect.CenterY, c.TargetRect.Width / 2 - 2dip, xui.Color_White, False, 5dip) 'comment this line to remove the border
c.Invalidate
Dim res As B4XBitmap = c.CreateBitmap
c.Release
Return res
End Sub