Values does not fall within the expected range, a que se debe?

Iniciado por Blakmaller, 28 Julio 2014, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

Blakmaller

Estimados,

he estado realizando una app, para un biometrico en WindowsCE, pero una parte de ésta (que seria la lectura y despliegue de la huella), me fall, enviandome el error "Values does not fall within the expected range", esto sucede cuando le entego el memorystream a la imagen:

"Image aux = new Bitmap(msaux);"

msaux es el memorystream.

he investigado éste error, pero no encuentro solució a mi problemática..

Muchas gracias.

Eleкtro

#1
Buenas.

Sinceramente me cuesta muchísimo entender porque leches hay gente que formula un post en una sección de "programación general" la cual está orientada a TODOS los lenguajes, sin especificar el lenguaje del que trata su pregunta, y por ende eso hace perder el tiempo a una gran mayoría de usuarios que se toman tiempo para leer tu post sin poder entender realmente de que trata, pero lo que aún me molesta incluso más es que no lo hayas posteado en la sección adecuada de programación .NET (C#) y que no hallas respetado las reglas de formatear el código.

Bien, lo más probable es que el Stream no contenga información de imagen válida, por ejemplo si contiene la ruta hacia una imagen pero no contiene una imagen en si misma.

Aquí tienes un ejemplo de como instanciar un Bitmap desde un MemoryStream, en C#:

Código (csharp) [Seleccionar]
   string ImagePath = "filepath to a bmp file";

   using (FileStream fs = new FileStream(ImagePath, FileMode.Open))
   {
       byte[] data = new byte[fs.Length];
       fs.Read(data, 0, data.Length);

       using (MemoryStream ms = new MemoryStream(data))
       {
           Bitmap bmp = new Bitmap(ms);
           // pictureBox1.Image = bmp;
       }
   }


Si tu pregunta sigue sin poder ser resuelta, entonces muestra la declaración de tu MemoryStream, muestra el código necesario para detectar donde está el problema.

Saludos.








Blakmaller

Elektro,

mil disculpas, no me fije que no coloque el lenguaje, y soy nuevo en el foro.

este es el código que tengo, he realizado varias modificaciones, pero en todos los casos me indica el mismo error.


Código (csharp) [Seleccionar]
byte[] m_buf = new byte[640 * 480];
Array.Clear(m_buf, 0, 640 * 480);
using (System.IO.MemoryStream msaux = new System.IO.MemoryStream(m_buf, true))
{                       
      SMControl_WinCE.GetFpData(msaux.ToArray());  //Funcion de la dll (EDK)         
      aux = new Bitmap(msaux);
      PBfinger.Image = aux;
}



la lectura se hace desde un lector de huellas que se encuentra en un aparato con windows CE, tengo un código en C++ que si funciona (pero es del fabricante) y desde ese código me estoy basando para generar uno en C#.

Por lo que me dices, pienso en lo mismo, que no es una imagen en sí, y lamentablemente tampoco tengo cómo funciona el GetFPData() por ser una dll ofuscada.