Image控件的BitmapSource加载WriteableBitmap速度慢
WriteableBitmap是相机采集的IntPtr来转换的
internal WriteableBitmap CreateBitmap(WriteableBitmap bitmap, int width, int height, IntPtr ptr)
{
try
{
byte[] rgbData = new byte[width * height * 3];
Marshal.Copy(ptr, rgbData, 0, rgbData.Length);
if(bitmap == null ) return null;
bitmap.Lock();
bitmap.WritePixels(new Int32Rect(0, 0, width, height), rgbData, width * 3, 0);
bitmap.AddDirtyRect(new Int32Rect(0, 0, width, height));
bitmap.Unlock();
return bitmap;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
图片是双屏幕显示的
ShowImage.Source = MicroscopeCamera.Instance.writeableBitmap;
seconDivest.ShowImage.Source = MicroscopeCamera.Instance.writeableBitmap;
1080p的画面,这时帧率只有19帧每秒,如果去掉一个屏幕显示就能达到预期的30帧每秒
而且还发现一个问题就是使用VS Debug直接F5运行后双屏也能达到预期的30帧每秒,但是使用Ctrl + F5运行就不行,最多只能达到19帧。这是什么原因,如何解决
...全文
相关推荐
WPF加载超大图片
突破WPF加载超大图片时,一定概率出现的加载失败,出现白色的问题。 使用多任务分片加载图片的方式,可加载超大高清图片(>20M以上)
WPF 基础视频教程(共50集)-38.WriteableBitmap类
WPF 基础视频教程(共50集)---38.WriteableBitmap类
WPF播放gif图片
wpf播放gif,简单实用,不卡顿,适合各种启动界面,等待界面动画播放等
WPF 修改图片颜色 1.2
本文告诉大家如何修改图片的颜色,如去掉图片的蓝色 在 WPF 可以使用很多图片处理的方法,本文告诉大家的是一个图片处理,可以把处理的图片保存在文件 这是博客使用的例子
WPF 支持gif图片的控件
WPF不支持GIF图片,自定义控件,支持GIF,可供参考



