none
Image-Control Bilddatei zuweisen VB.NET RRS feed

  • Frage

  • Hallo,

    wie kann man per VB.NET einem Image-Steuerelement in ins Projekt eingebundenes Bild (bild.jpg) zuweisen?

    Da Ganze soll auf einem Raspberry PI funktionieren und sollte für einen Einsteiger nachvollziehbar sein.

    Danke und Gruß

    Micha

    Dienstag, 9. Mai 2017 07:16

Alle Antworten

  • Hallo,

    dafür gibt es mehrere Möglichkeiten

    Private Sub LadeBild()
    	Dim assets = Await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets")
    	Dim img = Await assets.GetFileAsync("BackRepeat.png")
    	Dim bitmap As New Windows.UI.Xaml.Media.Imaging.BitmapImage()
    	Using stream = Await img.OpenReadAsync()
    		Await bitmap.SetSourceAsync(stream)
    	End Using
    	myImage.Source = bitmap
    End Sub
    //XAML in MainPage.xaml
    <Image x:Name="myImage" />

    Hier noch eine weitere Möglichkeit um das Bitmap zu laden

    Dim bitmapImage As New BitmapImage(New Uri("ms-appx://[project-name]/Assets/image.jpg"))

    Wenn Du grade eh erst anfängst würde ich dir vorschlagen dich mit C# auseinander zu setzten, da damit die meisten beispiele geschrieben sind.

    Gleicher Code in C#

    async void LadeBild()
            {
                var assets = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
                var img = await assets.GetFileAsync("BackRepeat.png");
                Windows.UI.Xaml.Media.Imaging.BitmapImage bitmap = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
                using (var stream = await img.OpenReadAsync())
                {
                    await bitmap.SetSourceAsync(stream);
                }
                myImage.Source = bitmap;
            }

    Eine Zuweisung in Xaml ist auch möglich



    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP




    Dienstag, 9. Mai 2017 13:48
  • Hallo Thomas,

    danke für die Antwort, die Sub LadeBild() funktioniert. Genau das habe ich gesucht. Die Zuweisung per XAML kenn ich, nutzt mir aber in diesem Fall nichts.

    Das Projekt existiert schon als VB.NET-Desktop-Projekt und ich will es auf einem Raspberry Pi laufen lassen (und dabei auch was dazu lernen).

    Allerdings habe ich mir das vor dem Hintergrund, dass auch der Raspberry per VB.NET programmiert werden kann, wesentlich einfacher vorgestellt. Es ist nicht die Sprache an sich (VB oder C#), ich habe schon vieles mit VBA und Access (so bin ich zu VB gekommen) bzw. VB6 gemacht, sondern die Unterschiede innerhalb einer Sprache. Im VB.NET-Projekt reicht eine Zeile, um einem Image-Control eine Bilddatei zuzuweisen und hier ist es so umständlich. Insofern würde mir wahrscheinlich ein umsatteln auf C# nicht weiterhelfen.

    Woher weiß man, dass es genau so gemacht werden muss? Gibt es dafür Fachliteratur?  

    Gruß

    Micha

    Mittwoch, 10. Mai 2017 04:53
  • Das ist halt die UWP Plattform sie ist ganz anders als WPF oder WinForms.

    Es gibt von Microsoft ganz viele Samples, die zeigen wie es geht. Die meisten sind aber in C#

     

    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    Mittwoch, 10. Mai 2017 07:45