Chyba při načtení obrázku z DGW do PictureBoxu   otázka

VB.NET, WinForms, Databáze

Prosím o pomoc.

Mám databázi access (accdb, kde je i pole s obrázky formátu .png, jsou načtené jako OLE objekty, v accesu to vidím jako "package". Nevím co to znamená...

Chci zobrazit obrázek z DataGridView z vybraného řádku do PictureBoxu na jiném formuláři.



        'Načtení obrázku
        Dim a
        Dim img As Byte()
        img = DGW1.SelectedRows(0).Cells(27).Value
        Dim ms As New MemoryStream(img)
        a = MsgBox("Velikost obrázku " & ms.Length)             'jen pro kontrolu jak velký je stream
        If ms.Length > 0 Then
            Form3.PictureBox2.Image = Image.FromStream(ms)
        Else
            Form3.PictureBox2.Image = Nothing
        End If

        Form3.ShowDialog()

Na řádku: Form3.PictureBox2.Image = Image.FromStream(ms) mi to hlásí: "Parametr není platný"

Googlil jsem kdeco, ale už nevím, kde hledat chybu.

ms.length je větší než 0, tzn. že nějaká data tam jsou.

Prosím poradí někdo?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

zkus pred to dat ms.Position = 0 ale je to bez zaruky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nemá to na to vliv, stále stejná chyba. Nebude to něco v datových typech nebo tak něco...?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

jedine, ze by VB neumel PNG (coz se mi nezda, ale uz v nem dlouho nedelam), zkus si prevest na JPG ci BMP a dat to do databaze. pokud to nepomuze tak uz nevim

nahlásit spamnahlásit spam 0 odpovědětodpovědět
'Načtení obrázku
Dim a
Dim img As Bitmap()
img = DGW1.SelectedRows(0).Cells(27).Value

a = MsgBox("Velikost obrázku " & img.Width & " X " & img.Height, MsgBoxStyle.Information, "Kontrola")             'jen pro kontrolu jak velký je stream
Try
    Form3.PictureBox2.Image = Image.FromStream(ms)
Catch
    Form3.PictureBox2.Image = Nothing
End Try
 
Form3.ShowDialog()
nahlásit spamnahlásit spam 0 odpovědětodpovědět
'Načtení obrázku
Dim a
Dim img As Bitmap()
img = DGW1.SelectedRows(0).Cells(27).Value

a = MsgBox("Velikost obrázku " & img.Width & " X " & img.Height, MsgBoxStyle.Information, "Kontrola")             'jen pro kontrolu jak velký je stream
Try
    Form3.PictureBox2.Image = Image.FromStream(ms)
Catch
    Form3.PictureBox2.Image = Nothing
End Try
 
Form3.ShowDialog()
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se, oprava. Ještě jednu věc jsem přehlédl.

'Načtení obrázku
Dim img As Bitmap()
img = DGW1.SelectedRows(0).Cells(27).Value

MsgBox("Velikost obrázku " & img.Width & " X " & img.Height, MsgBoxStyle.Information, "Kontrola")             'jen pro kontrolu jak velký je stream
Try
    Form3.PictureBox2.Image = Image.FromStream(ms)
Catch
    Form3.PictureBox2.Image = Nothing
End Try
 
Form3.ShowDialog()
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se, oprava. Ještě jednu věc jsem přehlédl.

'Načtení obrázku
Dim img As Bitmap()
img = DGW1.SelectedRows(0).Cells(27).Value

MsgBox("Velikost obrázku " & img.Width & " X " & img.Height, MsgBoxStyle.Information, "Kontrola")             'jen pro kontrolu jak velký je stream
Try
    Form3.PictureBox2.Image = Image.FromStream(img)
Catch
    Form3.PictureBox2.Image = Nothing
End Try
 
Form3.ShowDialog()
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback