German Wie löscht man eine bitte eine Grafik ?

funkheld

Member
Licensed User
Hallo, guten Tag.
Wie löscht man bitte eine Grafik , die ganze Fläche.
Wie kann man sie auch komplett einfärben ?

Die ist das image:
------------------------
image1.Invalidate
cvsGraph.DrawLine(130,130, 130+x,130+y, Colors.Red, 1.0)
------------------------

Danke.Gruss
 

MarkusR

Well-Known Member
Licensed User
Wenn Du im Designer ein Canvas einfügst, dann per Menu Generate Dim Canvas1 As Canvas klickst
dann kann man es so einfärben:
B4J
B4X:
Sub Test

   Dim fx As JFX 'ist üblicher weise oben schon definiert
   Canvas1.DrawRect(0,0,Canvas1.Width,Canvas1.Height,fx.Colors.Blue,True,1)
   
End Sub
 

funkheld

Member
Licensed User
Danke für die Info.
Irgendwie funktioniert es nicht.

Hier mal mein ganzer Code
B4X:
#Region Module Attributes
    #FullScreen: False
    #IncludeTitle: True
    #ApplicationLabel: esp8266
    #VersionCode: 1
    #VersionName: 
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    Dim Timer1 As Timer
End Sub

Sub Globals   
      Private links As Button
    Private mitte As Button
    Private rechts As Button
    Private vor As Button
    Private zurueck As Button
    Private stop As Button
    Private cls As Button
    Private edit1 As EditText
   
    Dim WebView1 As WebView
    Dim WebViewExtras1 As WebViewExtras
   
    Private image1 As Panel
    Private cvsGraph As Canvas
   
    Dim zs As String 
    Dim z As Int   
    Dim pi As Float
    Dim x As Int
    Dim y As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)   
    Timer1.Initialize("Timer1", 300)
      Activity.LoadLayout("esp8266")
    edit1.text =""
    WebView1.Initialize("WebView1")
    WebViewExtras1.addJavascriptInterface(WebView1, "B4A")
   
    cvsGraph.Initialize(image1)   
End Sub

Sub Activity_Resume
    Timer1.Enabled = True
    pi=3.14159265
End Sub

Sub Activity_Pause (UserClosed As Boolean)
   
End Sub

Sub Exit_App
    Activity.Finish
    ExitApplication
End Sub

Sub WebView1_PageFinished (Url As String)
    Dim Javascript As String
    Javascript = "B4A.CallSub('ProcessHTML', false, document.documentElement.innerText)"
    ' Javascript = "B4A.CallSub('ProcessHTML', false, document.documentElement.outerText)"
    ' Javascript = "B4A.CallSub('ProcessHTML', false, document.documentElement.innerHTML)"
    ' Javascript = "B4A.CallSub('ProcessHTML', false, document.documentElement.outerHTML)"
    ' Log("PageFinished: " & Javascript) 
    WebViewExtras1.executeJavascript(WebView1, Javascript)
End Sub

Sub ProcessHTML(Html As String)
    ' Log(Html)
    zs = Html
End Sub

Sub Timer1_Tick
  WebView1.LoadUrl("http://192.168.2.104/leer")
  edit1.Text=zs
End Sub

Sub cls_Click
   
End Sub

Sub zeichne_Click
    zeichne
End Sub

Sub rechts_Click
    WebView1.LoadUrl("http://192.168.2.104/rechts")
End Sub

Sub mitte_Click
    WebView1.LoadUrl("http://192.168.2.104/mitte")
End Sub

Sub links_Click
    WebView1.LoadUrl("http://192.168.2.104/links")
End Sub

Sub zurueck_Click
    WebView1.LoadUrl("http://192.168.2.104/zur")
End Sub

Sub vor_Click
    WebView1.LoadUrl("http://192.168.2.104/vor")
End Sub

Sub stop_Click
    WebView1.LoadUrl("http://192.168.2.104/stop")
End Sub

Sub zeichne
  For z=0 To 360
      x=Sin(z*pi/180)*100
    y=Cos(z*pi/180)*100
    image1.Invalidate
    cvsGraph.DrawLine(130,130, 130+x,130+y, Colors.Red, 1.0)
  Next
End Sub
Hier möchte ich den Code reinsetzen für das Löschen:
---------------------------------------------
Sub cls_Click

End Sub
---------------------------------------------

Ich kann dein Beispiel nicht umsetzen.

Danke.
Gruss
 

DonManfred

Expert
Licensed User
Hier mal mein ganzer Code
Es ist wesentlich einfacher wenn Du dein Testproject mit File -> Export as ZIP exportierst und dieses ZIP hier hochlädst.
Wo kann man bitte die Grafikbefehle nachlesen ?
Wenn Du von Canvas redest dann benutz die forumssuche um nach Canvas zu suchen. Der erste Link ist der Link zur dokumentation. Da findest Du alles zu Canvas.

Ansonsten ist halt auch https://www.b4x.com/b4a.html#documentation zu nennen.
Und die B4X Booklets von Klaus natürlich auch.
 

MarkusR

Well-Known Member
Licensed User
Ich habe hier B4A.
Panel in Designer
B4X:
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.


    
    Private Panel1 As Panel
End Sub
B4X:
Sub Test
    
    Dim C As Canvas
    C.Initialize(Panel1)
    
    C.DrawColor(Colors.Red)
        
End Sub
 
Top