Bild aus Pfad in Label laden

Hallo zusammen,

ich habe eine Frage und zwar… Wenn ich einen Pfad zu einer Bilddatei in ein Label übertragen habe und ich möchte nun über einen Button dieses Bild in einem Canvas öffnen, wie muss ich das anstellen?

Beispiel:
Canvas2.Backdrop = lblPfad.Text '(funktioniert natürlich nicht, aber verdeutlicht mein Vorhaben).

Kann mir hier vielleicht jemand behilflich sein?

Ungetestet:

dim theFolderitem as new Folderitem(lblPfad.text, , FolderItem.PathModes.Native)
if theFolderitem = nil or not theFolderitem.exists then
   MessageBox "Bild ist net da"
   return
end if

dim theBinStream as BinaryStream = BinaryStream.Open(theFolderitem)
if theBinStream = nil then return
dim PictureData as MemoryBlock = theBinStream.read(theBinStream.Length)
dim thePicture as new Picture = Picture.FromData(PictureData)

Canvas2.BackDrop = thePicture
1 Like

Vielen Dank für die schnelle Antwort. Leider erhalte ich in der nachfolgenden Zeile einen Fehler:

dim thePicture as new Picture = Picture.FromData(PictureData)

2022-11-25_12h02_49

Das kommt vom Tippen aus dem Kopf:

dim thePicture as Picture = Picture.FromData(PictureData)

Vielen Dank @Beatrix_Willius. So klappt es.

1 Like

könntest das noch vereinfachen
Open(file As FolderItem) As Picture

dim thePicture as Picture = Picture.Open(theFolderitem)

bzw.

Canvas2.BackDrop = Picture.Open(theFolderitem)