German Imageview und Gallerie

Discussion in 'German Forum' started by Silvio76, Jun 4, 2015.

  1. Silvio76

    Silvio76 Member Licensed User

    Hallo,

    ich sitze schon seit einer gefühlten Ewigkeit vor einem Problem.
    Der User soll ein Bild aus der Gerätegallerie wählen und dies soll dann in einem Imageview angezeigt werden. Das funktioniert aber leider nur teilweise. Fotos, die ich direkt mit der internen Kamera gemacht habe, werden in dem Imageview nicht angezeigt, aber Fotos, die ich z.b. über Whatsapp geschickt bekommen habe, werden in dem Imageview angezeigt.
    Könnt ihr mir helfen?

    Code:
    Sub imgChooser_Result(Success As Boolean, Dir As String, FileName As String)

    If Success Then
      
       imgbild.Bitmap = 
    LoadBitmap(Dir, FileName)  
       imgbild.Gravity = 
    Gravity.FILL
         
        
    Else
               
    ToastMessageShow("Kein Bild ausgewählt."True)
        
    End If

       
    End Sub
    Vielen Dank bereits im voraus.
     
  2. Silvio76

    Silvio76 Member Licensed User

    So, den ganzen Abend habe ich damit verbracht... für alle, die es interessiert...
    ich habe hier einen Codeschnipsel gefunden, der mir dass perfekt organisiert...
    --- B4X --- Danke für den Codeschnipsel --- :)

    Code:
    If Success Then
       imgbild.Bitmap = 
    Null
       
    Private bmp As Bitmap = LoadBitmap(Dir, FileName)
        
    Private cvs As Canvas
        cvs.Initialize(imgbild)
        
    Dim rectDest As Rect
        
    Dim delta As Int
        
    If bmp.Width / bmp.Height > imgbild.Width / imgbild.Height Then
            delta = (imgbild.Height - bmp.Height / bmp.Width * imgbild.Width) / 
    2
            rectDest.Initialize(
    0, delta,imgbild.Width, imgbild.Height - delta)
            
    Else
            delta = (imgbild.Width - bmp.Width / bmp.Height * imgbild.Height) / 
    2
            rectDest.Initialize(delta, 
    0, imgbild.Width - delta, imgbild.Height)
            
    End If
            cvs.DrawBitmap(bmp, 
    Null, rectDest)
        imgbild.Gravity = 
    Gravity.Fill
        imgbild.Invalidate
     
        
    Dim tempbitmap As Bitmap
        tempbitmap = imgbild.Bitmap
        
    Dim out As OutputStream
        out = 
    File.OpenOutput(File.DirRootExternal, "100.jpg"False)
        tempbitmap.WriteToStream(out, 
    100"JPEG")
     
        out.Close
     
        
    Else
             
    ToastMessageShow("Kein Bild ausgewählt."True)
       
    End If
     
Loading...