Public Sub loadPhoto(photo As String, width As Long, heigth As Long) As Bitmap
Try
Dim su As StringUtils
Dim i As InputStream
i.InitializeFromBytesArray(su.DecodeBase64(photo), 0, su.DecodeBase64(photo).Length)
Dim p As Bitmap
p.Initialize2(i)
Dim cvs As Canvas = CreateBitmap(width, heigth)
DrawRoundBitmap(cvs, p)
Return cvs.Bitmap
Catch
Dim p As Bitmap
p.Initialize(File.DirAssets, "avatar-scholastic.png")
Dim cvs As Canvas = CreateBitmap(width, heigth)
DrawRoundBitmap(cvs, p)
Return cvs.Bitmap
End Try
End Sub
Public Sub roundImage(Img As Bitmap, Width As Long, Heigth As Long) As Bitmap
Dim cvs As Canvas = CreateBitmap(Width, Heigth)
DrawRoundBitmap(cvs, Img)
Return cvs.Bitmap
End Sub
Private Sub CreateBitmap(w As Long, h As Long) As Canvas
Dim bmp As Bitmap
bmp.InitializeMutable(w, h)
Dim cvs As Canvas
cvs.Initialize2(bmp)
Dim r As Rect
r.Initialize(0, 0, bmp.Width, bmp.Height)
cvs.DrawRect(r, Colors.Transparent, True, 0)
Dim p As Path
p.Initialize(0, 0)
Dim jo As JavaObject = p
Dim x = 100dip, y = 100dip, radius = 100dip As Float
jo.RunMethod("addCircle", Array As Object(x, y, radius, "CW"))
cvs.ClipPath(p)
Return cvs
End Sub
Private Sub DrawRoundBitmap (cvs As Canvas, bmp As Bitmap)
Dim r As Rect
r.Initialize(0, 0, cvs.Bitmap.Width, cvs.Bitmap.Height)
cvs.DrawBitmap(bmp, Null, r)
End Sub