【发布时间】:2011-09-16 15:38:42
【问题描述】:
我有一个 uEye 相机,我以 1000 毫秒的间隔拍摄图像快照,我想像这样在 WPF Image 控件中渲染它们
Bitmap MyBitmap;
// get geometry of uEye image buffer
int width = 0, height = 0, bitspp = 0, pitch = 0, bytespp = 0;
long imagesize = 0;
m_uEye.InquireImageMem(m_pCurMem, GetImageID(m_pCurMem), ref width, ref height, ref bitspp, ref pitch);
bytespp = (bitspp + 1) / 8;
imagesize = width * height * bytespp; // image size in bytes
// bulit a system bitmap
MyBitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);
// fill the system bitmap with the image data from the uEye SDK buffer
BitmapData bd = MyBitmap.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
m_uEye.CopyImageMem(m_pCurMem, GetImageID(m_pCurMem), bd.Scan0);
MyBitmap.UnlockBits(bd);
我正在尝试以 1 秒的速度将这些位图放入 Image 控件中。我怎样才能让Bitmap 出现在Image 控件中,并在我完成后立即处理它们以留下最小的内存占用以成为一个优秀的小程序员:)?
【问题讨论】: