Я использую Windows Phone 7Захват данных камеры и преобразовать его в WritableBitmap для штрихкода просмотрит
Я хочу сделать следующее на каждом такте объекта таймера:
- Захват данных камеры от объекта фотоаппаратом
- преобразовать свои данные в WritableBitmap.
Я застрял в системном исключении Ошибка.
Вот мой код
if (camReady == true)
{
try
{
var image = new Image();
byte[] ba = new byte[camBufferSize];
cam.GetPreviewBufferY(ba);
var mem = new MemoryStream(ba);
bitmap.SetSource(mem);
var result = reader.Decode(bitmap);
if (result == null)
{
txtDebug.Text = "Tick\t" + savedCounter + "\n" + (result == null ? "Result jest nullem" : result.Text) + "\tsize " + buffer.Length
+ "\nPierwszy elem" + buffer[0];
//+ "\nByteArray Len "+byteArray.Length
//+ "\nFirst Elem of ByteArray "+byteArray[0];
}
else
{
txtDebug.Text = "HURRAAAAAAAA!!!!"+
"\nresult.Text\t" + result.Text;
}
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
txtDebug.Text = "{0} Exception caught.\t"+ ex;
}
Console.WriteLine("Buffer", buffer);
if (savedCounter % 6 == 0) cam.Focus();
//var result = reader.Decode(bitmap);
}
"растровый" объект и объект camBufferSize создаются в другой части кода
bitmap = new WriteableBitmap((int)cam.Resolution.Width, (int)cam.Resolution.Height);
camBufferSize = (int)cam.Resolution.Width * (int)cam.Resolution.Height;
У меня есть ошибки при выполнении создания WritableBitmap
bitmap.SetSource(mem);
Я проверил предыдущие строки в отладчике, и ни один из них не является нулевым и т. Д.
Какова моя цель в создании WritableBitmap таким образом?
Я строю сканер штрих-кода, и мне нужны данные WritableBitmap в качестве входных данных для библиотеки ZXing для декодирования штрих-кода на изображении при использовании камеры.
Я новичок в C# вещи, но спасибо заранее лет за ваше время, помогая мне решить этот вопрос :)