to make the transition between two photos I am using this code but is very very slow, any ideas for improvement? Thanks
--------------------------------------------------------------------
para hacer la transicion entre dos fotos estoy usando este codigo pero va muy muy lento, alguna idea para mejorarlo ? Gracias
Sub Process_Globals
End Sub
Sub Globals
Dim can As Canvas
Dim bm,bm2 As Bitmap
Dim value As Int
Dim i() As Int
Dim bucleA,bucleX,bucleY As Int
Dim IV1,IV2 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
bm.Initialize3(LoadBitmapSample(File.DirAssets,"img08.jpg",100%x,100%y))
bm2.Initialize3(LoadBitmapSample(File.DirAssets,"img04.jpg",100%x,100%y))
iv1.Initialize("")
iv2.Initialize("")
activity.AddView(iv1,0,0,100%x,100%y)
activity.AddView(iv2,0,0,100%x,100%y)
iv1.Gravity = Gravity.FILL
iv2.Gravity = Gravity.FILL
iv1.Bitmap = bm
iv2.BringToFront
iv2.Color = Colors.Transparent
can.Initialize(iv2)
For buclea = 50 To 250 Step 50
For bucleX=0 To iv2.Width
For bucleY=0 To iv2.Height
Try
value = bm2.GetPixel(buclex ,bucley )
i = GetARGB(value)
can.DrawPoint(buclex,bucley,Colors.ARGB(bucleA,i(1),i(2),i(3)))
Catch
End Try
Next
Next
ToastMessageShow(BUCLEA,False)
Activity.Invalidate
DoEvents
Next
End Sub
Sub GetARGB(Color As Int) As Int()
Dim res(4) As Int
res(0) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff000000), 24)
res(1) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff0000), 16)
res(2) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff00), 8)
res(3) = Bit.And(Color, 0xff)
Return res
End Sub
--------------------------------------------------------------------
para hacer la transicion entre dos fotos estoy usando este codigo pero va muy muy lento, alguna idea para mejorarlo ? Gracias
Sub Process_Globals
End Sub
Sub Globals
Dim can As Canvas
Dim bm,bm2 As Bitmap
Dim value As Int
Dim i() As Int
Dim bucleA,bucleX,bucleY As Int
Dim IV1,IV2 As ImageView
End Sub
Sub Activity_Create(FirstTime As Boolean)
bm.Initialize3(LoadBitmapSample(File.DirAssets,"img08.jpg",100%x,100%y))
bm2.Initialize3(LoadBitmapSample(File.DirAssets,"img04.jpg",100%x,100%y))
iv1.Initialize("")
iv2.Initialize("")
activity.AddView(iv1,0,0,100%x,100%y)
activity.AddView(iv2,0,0,100%x,100%y)
iv1.Gravity = Gravity.FILL
iv2.Gravity = Gravity.FILL
iv1.Bitmap = bm
iv2.BringToFront
iv2.Color = Colors.Transparent
can.Initialize(iv2)
For buclea = 50 To 250 Step 50
For bucleX=0 To iv2.Width
For bucleY=0 To iv2.Height
Try
value = bm2.GetPixel(buclex ,bucley )
i = GetARGB(value)
can.DrawPoint(buclex,bucley,Colors.ARGB(bucleA,i(1),i(2),i(3)))
Catch
End Try
Next
Next
ToastMessageShow(BUCLEA,False)
Activity.Invalidate
DoEvents
Next
End Sub
Sub GetARGB(Color As Int) As Int()
Dim res(4) As Int
res(0) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff000000), 24)
res(1) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff0000), 16)
res(2) = Bit.UnsignedShiftRight(Bit.And(Color, 0xff00), 8)
res(3) = Bit.And(Color, 0xff)
Return res
End Sub