[VB.Net 2.0] Bitmap object uit SQL server

Pagina: 1
Acties:

  • BasSpruit
  • Registratie: September 2002
  • Laatst online: 09-04-2022
Ik heb een paar bestandjes gemaakt die het mogelijk maken om een plaatje in een SQL server te uploaden. dit gaat prima.

nu wil ik het plaatje eruit halen, maar ik krijg een byte array terug. Ik wil echter een bitmap object hebben ( ik werk alleen maar met business objects )

hoe kan ik het beste een bytearray naar een bitmap omzetten?

ik heb het al geprobeerd met een memorystream, maar het bitmap object accepteert dit niet.

een een nieuw stream object aanmaken gaat ook al niet (new stream = ongeldig)




ik post hier wat relevante code bij.

code:
1
2
3
4
5
6
7
8
9
10
11
12
myconn.open
dim objdr as sqldatareader = cmd.executereader(commandbehavior.closeconnection)
if objdr.read then
 if not objdr(0) is dbnull.value then
  dim mysource() as Byte = ctype(objdr(0), byte())
  dim imgcontent as memorystream = new memorystream(mysource)
  dim inststatus as integer = imgcontent.read(mysource, 0, mysource.length)
  mypicture = new bitmap(imgcontent)
 end if
end if

return mypicture


op de regel waarop ik de nieuwe bitmap maak, krijg ik de fout dat ik een ongeldige parameter gebruik.

een search op google leverde veel informatie op, maar niks waar ik wat mee kon.
als ik de de foute regel verander naar "new bitmap(100, 100)" dan doet ie het wel, en krijg ik een zwart vierkant in beeld.

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:09
Kan je geen Bitmap object creeëren die een Stream krijgt in z'n constructor ?

Je byte array kan je omzetten naar een stream dacht ik.

Zoiets ongeveer:

code:
1
Bitmap b = new Bitmap (new MemoryStream (byteArray, true));


Ik lees net dat je Bitmap geen memorystream accepteert zeg je, hoezo ?
Een MemoryStream is een Stream, en een Bitmap heeft een constructor die een Stream accept.

[ Voor 56% gewijzigd door whoami op 01-02-2005 10:22 ]

https://fgheysels.github.io/


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Welk formaat is (was) het plaatje dat je wegschreef? Gif, Jpeg, Bmp....
En heb je bij het wegschrijven nog een bepaalde encoding gebruikt, of heb je rechtstreeks de bytearray van het ding gedumpt?

My personal website


  • BasSpruit
  • Registratie: September 2002
  • Laatst online: 09-04-2022
Ik heb zo het vage id dat er iets bij het wegschrijven verkeerd is gegaan, maar ik heb geen id wat. ik ga het nu gewoon proberen met byte arrays, kijken of ik het zo wel aan de praat krijg.

edit:
Waarschijnlijk bij het converteren is er iets fout gegaan. nu ik de ruwe data opsla in en uit de database haal, gaat het stukken beter


nu kan ik heb idd ook in een stream / bitmap proppen. thankx.

[ Voor 37% gewijzigd door BasSpruit op 01-02-2005 11:24 ]