Jump to content

Explicação de código parcial de carregamento de imagem


legd1991
 Share

Recommended Posts

boas,

nao sei se aqui é o sitio ideal para fazer esta pergunta, mas se nao for peço ao moderador q a mova sff..

aqui vai:

na minha pap tenho uma parte em q trabalha com fotos, mas tenho de explicar o código tdo do projecto no manual do programador, mas estou com problemas em conseguir explicar correctamente este pedaço de código:

Dim theMemStream As New System.IO.MemoryStream()
        theMemStream.Write(newbyte, 0, newbyte.Length)
        PictureBox2.Image = New Bitmap(Image.FromStream(theMemStream))
        theMemStream.Close()

alguem me podia dar uma explicaçao deste código?

obrigado

cumps

legd1991

Link to comment
Share on other sites

Bem, se está na tua PAP e não sabes o que o código faz... é grave 🙂

O post está no sítio certo, o título é que podia ser melhor. Vou alterar desde já.

 'instancias um novo memorystream, vazio
Dim theMemStream As New System.IO.MemoryStream()
'escreves tudo o que tens no byte "newbyte" para o stream
theMemStream.Write(newbyte, 0, newbyte.Length)
'instancias uma classe bitmap e passas esse stream, que agora contém dados da imagem
'a esta altura, se a imagem for de formato "conhecido", tens uma classe bitmap com referencia à tal imagem
'por fim, dás a imagem que acabou de ser "extraída" do newbyte à imagem da PictureBox
'depois desta linha, a imagem aparece na picturebox
PictureBox2.Image = New Bitmap(Image.FromStream(theMemStream))
'finalmente, fechas o stream porque não vais precisar mais dele
theMemStream.Close()

Deixa que te diga, que a própria classe Bitmap faz o trabalho por ti.

Basta:

PictureBox2.Image = New Bitmap("c:\qqcoisa.jpg")

onde "c:\qqcoisa.jpg" é o caminho absoluto para o teu ficheiro de imagem.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Deve ser, internamente, exactamente a mesma coisa, as far as i'm concerned.

Cabe ao developer escolher o datatype que mais lhe convém.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Sendo assim, está correcto.

Na BD, armazenas imagens como Binary Large OBject (BLOB) (ou datatype semelhante), e uma das formas de o resgatar é através de uma array de Bytes.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.