我正在使用 Windows Phone 7
我想在 Timer 对象的每个刻度上执行以下操作:
- 从 PhotoCamera 对象中获取相机数据
- 将其数据转换为 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);
我已经检查了调试器中的前几行,它们都不是 null 等。
我以这种方式创建 WritableBitmap 的目的是什么?
我正在构建条形码扫描仪,我需要 WritableBitmap 数据作为 ZXing 库的输入,以便在使用相机时解码图像上的条形码。
我是 C# 方面的新手,但在此先感谢您抽出时间帮助我解决这个问题 :)