B4A en español - Juan Antonio Villalpando
(BASIC4Android)
-- Tutorial de B4A --
Volver al índice del tutorial
____________________________
91.- Giro de imagen.
- Este ejemplo trata del giro de una imagen.
- Al mover el Scroll, aumenta o disminuye la velocidad de rotación.
No hace falta Layout, simplemente copia y pega el código.
Añade la imagen mediante la pestaña Files / Add File.
espiral.gif
|
|
Código del programa en B4A
|
#Region Project Attributes
#ApplicationLabel: Giro de imagen
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' Diciembre 2013
Dim paso As Float
Dim angulo As Float
Dim Timer1 As Timer
Dim tiempo As Int
paso = 1
angulo = -1
End Sub
Sub Globals
Dim Canvas1 As Canvas
Dim Bitmap1 As Bitmap
Dim ImageView1 As ImageView
Dim Rect1 As Rect
Dim Button1 As Button
Dim Scroll As SeekBar
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.Color = Colors.White
Bitmap1.Initialize(File.DirAssets,"espiral.gif")
ImageView1.Initialize("")
ImageView1.Bitmap = Bitmap1
' Centrado de la imagen
Activity.AddView(ImageView1,(100%x - Bitmap1.Width) / 2, (100%y - Bitmap1.Height) / 2, Bitmap1.Width, Bitmap1.Height)
Canvas1.Initialize(ImageView1)
Rect1.Initialize(0, 0, Bitmap1.Width, Bitmap1.Height)
Timer1.Initialize("Timer1", 200)
Timer1.Enabled = True
' Crea Botón (Button)
Button1.Initialize("Button1")
Button1.TextColor = Colors.Red
Button1.Text = "Cambio de sentido"
Activity.AddView(Button1, 0dip, 10dip, 100%x, 10%y)
' Crea Scroll (SeekBar)
Scroll.Initialize("scroll")
Scroll.Max = 200
Activity.AddView(Scroll, 5dip, 80dip, 300dip, 30dip)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Timer1_Tick
' Aumento o Disminución del ángulo
angulo = (angulo + paso) Mod 360
' Giro del Canva1
Canvas1.DrawBitmapRotated(Bitmap1, Rect1, Rect1, -angulo)
ImageView1.Invalidate2(Rect1)
End Sub
Sub Button1_Click
paso = paso * -1
End Sub
Sub scroll_ValueChanged (Value As Int, UserChanged As Boolean)
' paso = paso + Scroll.Value
tiempo = Scroll.Value
Timer1.Initialize("Timer1",tiempo)
End Sub
|
__________________________________
- Otro código para girar la imagen.
Dim Canvas1 As Canvas
Dim Rect1 As Rect Dim angulo As Float Dim ImageView1 As ImageView Dim Bitmap1 As Bitmap
Canvas1.Initialize(ImageView1)
Rect1.Initialize(0, 0, ImageView1.Width, ImageView1.Height)
Canvas1.DrawRect(Rect1, Colors.transparent, True, 0)
Canvas1.DrawBitmapRotated(Bitmap1, Null, Rect1, angulo)
ImageView1.Invalidate
_____________________________
- Imagen continua. 360º
Ver tutorial del foro.
________________________________
|