Hallo liebe Freunde,
Ich versuche gerade ein B4A Code in B4i zu übernehmen.
In B4A habe ich ein Panel genommen und ein Image reingeladen. danach mit Canvas über das Image gemalt.
Jetzt habe ich 2 Probleme in B4i und zwar,
In B4i kann man kein Image in ein Panel laden, nehme ich jetzt ein Imgage Wiev gibt es kein Touch mehr.
Also wer weiß welche alternativen man nehmen kann das man über ein Image zeichnen kann und es als gesamt Bild wieder speichert.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
			
			Ich versuche gerade ein B4A Code in B4i zu übernehmen.
In B4A habe ich ein Panel genommen und ein Image reingeladen. danach mit Canvas über das Image gemalt.
Jetzt habe ich 2 Probleme in B4i und zwar,
In B4i kann man kein Image in ein Panel laden, nehme ich jetzt ein Imgage Wiev gibt es kein Touch mehr.
Also wer weiß welche alternativen man nehmen kann das man über ein Image zeichnen kann und es als gesamt Bild wieder speichert.
			
				B4X:
			
		
		
		Sub Bild_Bearbeitung
 PanelHGButton.Visible = True
 Panel1Signatur.Visible = True
    Dim bmp As B4XBitmap = xui.LoadBitmap(File.DirDocuments,TabStripMenue.tempImageFile)
     Dim TargetWidth, TargetHeight As Int
     TargetWidth = PanelSignaturePad.Width
     TargetHeight = PanelSignaturePad.Height       
        
        If File.Exists(File.DirDocuments, TabStripMenue.tempImageFile) Then
'            Dim Exif As ExifData
'            Exif.Initialize(File.DirDocuments, TabStripMenue.tempImageFile)
'            bmp = LoadBitmapSample(File.DirDocuments, TabStripMenue.tempImageFile, Max(TargetWidth, TargetHeight), Max(TargetWidth, TargetHeight))
'            Log("Orientation: " & Exif.getAttribute(Exif.TAG_ORIENTATION))
'           
'            Select Exif.getAttribute(Exif.TAG_ORIENTATION)
'                Case Exif.ORIENTATION_ROTATE_180 '3
'                    bmp = bmp.Rotate(180)
'                Case Exif.ORIENTATION_ROTATE_90 '6
'                    bmp = bmp.Rotate(90)
'                Case Exif.ORIENTATION_ROTATE_270 '8
'                    bmp = bmp.Rotate(270)
'            End Select
            'If Exif.getAttribute(Exif.TAG_ORIENTATION) = "0" Then bmp = bmp.Rotate(90)
            
            bmp = bmp.Resize(TargetWidth, TargetHeight, True)
             PanelSignaturePad.Width =     bmp.Width
             PanelSignaturePad.Height = bmp.Height
             PanelSignaturePad.SetBitmap(bmp)
             PanelSignaturePad.Left = 50%x - (PanelSignaturePad.Width/2)   
             PanelSignaturePad.SetBitmap(bmp)
        End If
    cvs.Initialize(PanelSignaturePad)   
    cvs.DrawRect(cvs.TargetRect, 0x00FFFFFF, True, 0)
    cvs.Invalidate
MetaDatum = $"$DateTime{DateTime.Now} - "$
End Sub
Private Sub PanelSignaturePad_Touch (Action As Int, X As Float, Y As Float)
    Select Action
        Case PanelSignaturePad.TOUCH_ACTION_DOWN
            LastX = X
            LastY = Y
        Case PanelSignaturePad.TOUCH_ACTION_MOVE
            cvs.DrawLine(LastX, LastY, X, Y, StrokeColor, StrokeWidth)
            cvs.DrawCircle (x, y, StrokeWidth/2, StrokeColor,  True, StrokeWidth/2)
            cvs.Invalidate
            LastX = X
            LastY = Y
    End Select
    
End Sub
Sub btnUnterschriftSave_Click
    
Msgbox2("Msg", "Soll das Bild jetzt gespeichert werden?", "Bestätigung", Array ("Ja", "Abbruch"))
Wait For Msg_Click (ButtonText As String)
If ButtonText = "Ja" Then
'Zusatzschrift
    LabelReturn.Visible = False
    LabelVerschiebeButton.Visible = False
    'EditText1.Enabled = False
    PanelSchiebe.Width = (PanelSchiebe.Width-45dip)
'Zusatzschrift
        PanelHGButton.Visible = False
         Panel1Signatur.Visible = False
         Sleep(300)
      
          Dim Obj1, Obj2 As Reflector
          Dim bmp As Bitmap
          Dim c As Canvas
          Obj1.Target = Obj1.GetActivityBA
          Obj1.Target = Obj1.GetField("vg")
          bmp.InitializeMutable(PanelSignaturePad.Width, PanelSignaturePad.Height)
          c.Initialize2(bmp)
          Dim args(1) As Object
          Dim types(1) As String
          Obj2.Target = c
          Obj2.Target = Obj2.GetField("canvas")
          args(0) = Obj2.Target
          types(0) = "android.graphics.Canvas"
          Obj1.RunMethod4("draw", args, types)
          Dim Out As OutputStream = File.OpenOutput(File.DirDocuments, TabStripMenue.tempImageFile, False)
          bmp.WriteToStream(Out, 98, "JPEG")
          Out.Close
          
            Main.NavControl.RemoveCurrentPage
    End If
End Sub 
				 
 
		 
						
					 
 
		 
 
		 
 
		 
 
		