'Code module
'Subs in this code module will be accessible from all modules.
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim rs As Reflector
End Sub
Public Sub InitGB()
Dim Obj1 As Reflector
Dim args(1) As Object
Dim types(1) As String
'RenderScript rs = RenderScript.create(getApplicationContext());
args(0) = Obj1.GetContext
types(0) = "android.content.Context"
rs.Target = Obj1.RunStaticMethod("android.renderscript.RenderScript","create", args, types)
End Sub
Public Sub GaussianBlur(bm As Bitmap, radius As Float) As Bitmap
Dim Obj1 As Reflector
Dim time As Long
time = DateTime.Now
Dim args(1) As Object
Dim types(1) As String
'Element.U8_4(rs)
Dim oU8 As Reflector
args(0) = rs.Target
types(0) = "android.renderscript.RenderScript"
oU8.Target = Obj1.RunStaticMethod("android.renderscript.Element","U8_4", args, types)
' ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur
'.create(rs, Element.U8_4(rs));
Dim theIntrinsic As Reflector
Dim args2(2) As Object
Dim types2(2) As String
args2(0) = rs.Target
types2(0) = "android.renderscript.RenderScript"
args2(1) = oU8.Target
types2(1) = "android.renderscript.Element"
theIntrinsic.Target = Obj1.RunStaticMethod("android.renderscript.ScriptIntrinsicBlur","create", args2, types2)
'Allocation tmpIn = Allocation.createFromBitmap(rs, bm);
'Dim bm As Bitmap
'bm = LoadBitmap(File.DirAssets, "reusedefault.bmp")
Dim tmpIn As Reflector
args2(0) = rs.Target
types2(0) = "android.renderscript.RenderScript"
args2(1) = bm
types2(1) = "android.graphics.Bitmap"
tmpIn.Target = Obj1.RunStaticMethod("android.renderscript.Allocation", "createFromBitmap", args2, types2)
'Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
Dim outputBitmap As Bitmap
outputBitmap.InitializeMutable(bm.Width,bm.Height)
Dim tmpOut As Reflector
args2(0) = rs.Target
types2(0) = "android.renderscript.RenderScript"
args2(1) = outputBitmap
types2(1) = "android.graphics.Bitmap"
tmpOut.Target = Obj1.RunStaticMethod("android.renderscript.Allocation", "createFromBitmap", args2, types2)
'theIntrinsic.setRadius(25.f);
args(0) = radius
types(0) = "java.lang.float"
theIntrinsic.RunPublicmethod("setRadius",args,types)
'theIntrinsic.setInput(tmpIn);
args(0) = tmpIn.Target
types(0) = "android.renderscript.Allocation"
theIntrinsic.RunPublicmethod("setInput",args,types)
'theIntrinsic.forEach(tmpOut);
args(0) = tmpOut.Target
types(0) = "android.renderscript.Allocation"
theIntrinsic.RunPublicmethod("forEach",args,types)
'tmpOut.copyTo(outputBitmap);
args(0) = outputBitmap
types(0) = "android.graphics.Bitmap"
tmpOut.RunMethod4("copyTo",args, types)
Log("Blur took: " & (DateTime.Now - time) & " ms")
Return outputBitmap
'ImageView1.Bitmap = outputBitmap
End Sub