Principales respuestas
problema al convertir de c# a vb.net para guardar una foto

Pregunta
-
buenas tardes
amigos del foro tengo un problema de trato de convertir un codigo de net c# a vb.net
pero me arroja el sisguiente error
codigo original
public static byte[] ImageToByteArray(Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms, ImageFormat.Jpeg); return ms.ToArray(); }
convertido a vb.net
Public Shared Byte() Function ImageToByteArray(imageIn As Image) Dim ms As New MemoryStream() imageIn.Save(ms, ImageFormat.Jpeg) Return ms.ToArray() End Function
error del codigo al convertirlo
al llamarlo del formulario tambien genera error
error
dice no es un miembro de HelperImage
HelperImage.ImageToByteArray
Respuestas
-
Deleted
- Propuesto como respuesta Alberto PoblacionMVP jueves, 21 de septiembre de 2017 15:29
- Marcado como respuesta Enrique M. MontejoModerator viernes, 22 de septiembre de 2017 5:58
jueves, 21 de septiembre de 2017 0:15 -
"djnilo" escribió:
> me aperece este otro error en el formulario
>
> Function HelperImage.ImageToByteArray(imageIn As Image) As Byte()
>
> El valor de tipo 'Byte()' no se puede convertir en 'Byte'.Hola:
¿Conoces la diferencia entre un valor Byte y una matriz de valores Byte (Byte())?
Un valor Byte es un número entero de 8 bits sin signo dentro del intervalo de valores existentes entre 0 y 255:
Dim valorByte As Byte = 146
Y una matriz de bytes es un array de varios valores Byte:
Dim matrizBytes AS Byte() = {23, 143, 1, 255, 0, 29, 128, 25}
Fíjate bien en los paréntesis de apertura y cierre que aparecen en la declaración de la matriz de valores Byte, que es cómo se declara una matriz o array en Visual Basic.
Si la función ImageToByteArray devuelve una matriz de bytes, ésta no se la puedes asignar a un valor declarado como Byte (sin paréntesis), de ahí el mensaje de error que estás obteniendo.
> objentidade.foto = HelperImage.ImageToByteArray(PicFoto.Image)
Para dejar de obtener ese error, la propiedad 'foto' del objeto declarado con el nombre 'objentidade' tiene que estar declarada como una matriz de valores Byte (con los paréntesis de apertura y cierre), es decir, dicha propiedad tiene que estar declarada como indico a continuación a modo de ejemplo:
Public Class NombreClase Public Property foto As Byte() End Class
Mientras que no sea así, NO PUEDES LLAMAR a la función ImageToByteArray sin dejar de obtener el error mencionado.
Un saludo
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.- Editado Enrique M. MontejoModerator viernes, 22 de septiembre de 2017 6:19
- Marcado como respuesta djnilo viernes, 22 de septiembre de 2017 12:55
Todas las respuestas
-
-
"djnilo" escribió:
> me aperece este otro error en el formulario
>
> Function HelperImage.ImageToByteArray(imageIn As Image) As Byte()
>
> El valor de tipo 'Byte()' no se puede convertir en 'Byte'.Hola:
¿Conoces la diferencia entre un valor Byte y una matriz de valores Byte (Byte())?
Un valor Byte es un número entero de 8 bits sin signo dentro del intervalo de valores existentes entre 0 y 255:
Dim valorByte As Byte = 146
Y una matriz de bytes es un array de varios valores Byte:
Dim matrizBytes AS Byte() = {23, 143, 1, 255, 0, 29, 128, 25}
Fíjate bien en los paréntesis de apertura y cierre que aparecen en la declaración de la matriz de valores Byte, que es cómo se declara una matriz o array en Visual Basic.
Si la función ImageToByteArray devuelve una matriz de bytes, ésta no se la puedes asignar a un valor declarado como Byte (sin paréntesis), de ahí el mensaje de error que estás obteniendo.
> objentidade.foto = HelperImage.ImageToByteArray(PicFoto.Image)
Para dejar de obtener ese error, la propiedad 'foto' del objeto declarado con el nombre 'objentidade' tiene que estar declarada como una matriz de valores Byte (con los paréntesis de apertura y cierre), es decir, dicha propiedad tiene que estar declarada como indico a continuación a modo de ejemplo:
Public Class NombreClase Public Property foto As Byte() End Class
Mientras que no sea así, NO PUEDES LLAMAR a la función ImageToByteArray sin dejar de obtener el error mencionado.
Un saludo
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.- Editado Enrique M. MontejoModerator viernes, 22 de septiembre de 2017 6:19
- Marcado como respuesta djnilo viernes, 22 de septiembre de 2017 12:55
-
"djnilo" escribió:
> me aperece este otro error en el formulario
>
> Function HelperImage.ImageToByteArray(imageIn As Image) As Byte()
>
> El valor de tipo 'Byte()' no se puede convertir en 'Byte'.Hola:
¿Conoces la diferencia entre un valor Byte y una matriz de valores Byte (Byte())?
Un valor Byte es un número entero de 8 bits sin signo dentro del intervalo de valores existentes entre 0 y 255:
Dim valorByte As Byte = 146
Y una matriz de bytes es un array de varios valores Byte:
Dim matrizBytes AS Byte() = {23, 143, 1, 255, 0, 29, 128, 25}
Fíjate bien en los paréntesis de apertura y cierre que aparecen en la declaración de la matriz de valores Byte, que es cómo se declara una matriz o array en Visual Basic.
Si la función ImageToByteArray devuelve una matriz de bytes, ésta no se la puedes asignar a un valor declarado como Byte (sin paréntesis), de ahí el mensaje de error que estás obteniendo.
> objentidade.foto = HelperImage.ImageToByteArray(PicFoto.Image)
Para dejar de obtener ese error, la propiedad 'foto' del objeto declarado con el nombre 'objentidade' tiene que estar declarada como una matriz de valores Byte (con los paréntesis de apertura y cierre), es decir, dicha propiedad tiene que estar declarada como indico a continuación a modo de ejemplo:
Public Class NombreClase Public Property foto As Byte() End Class
Mientras que no sea así, NO PUEDES LLAMAR a la función ImageToByteArray sin dejar de obtener el error mencionado.
Un saludo
Enrique Martínez Montejo
[MS MVP - Visual Studio y Tecnologías de Desarrollo]
Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.
Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.
Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción Option Strict.
-