C#界面设计--6--“对象当前正在其他地方使用” --aviWriter.AddFrame(bitmap2)多线程录像时出现-已解决
问题:
aviWriter.AddFrame(bitmap2)多线程录像时出现:“对象当前正在其他地方使用”
原因:
Image.Save 方法不是线程安全的(很多GDI+的方法都不是线程安全的)。同时、对同一个Image对象实例进行处理,就可能会导致线程异常。
两个线程同时访问了同一幅图像, 造成冲突。简单的方法是在每个线程都要拥有自己的一份图像副本。分别对自己的副本进行对写操作。
解决:
对返回值的类型做调整:如果Image字段必须要,改用byte[]类型。