CSDN下载地址:https://download.csdn.net/download/sns1991sns/87726867
gitee下载地址:https://gitee.com/linsns/SnsPictrueBox
使用SnsPixtureBox显示图像具有以下三大优势:
一、便捷性:
1、输入接口多,支持的输入类型有Bitmap(图像),byte[](图像数据), Intptr(图像数据地址)等。
2、可直接在线程里执行图像显示,不需要使用委托。
二、功能性
1、可以鼠标操作图像,在鼠标位置对图像进行放大缩小平移。
2、当图像不处于全部视野时,右下角会有出现预览图,可在预览图里快速调整图像显示区域。
3、可轻松绘制点、直线、 矩形、填充矩形、圆形、填充圆形、扇形、填充扇形、多边形、填充多边形。
4、可查看当前鼠标位置处的图像坐标和像素点RGB值。
5、可轻松绘制Roi,可调整的Roi。
三、高效性
1、输入接口使用byte[](图像数据), Intptr(图像数据的地址),图像显示帧率会比使用Bitmap高,也就是SnsPixtureBox会比原生的PixtureBox显示帧率高,最高能达到60帧每秒。
2、SnsPixtureBox支持使用OpenGL,当图像分辨率较大时,使用OpenGL绘图能较大提高显示帧率和稳定性。
使用说明
1、显示图像(输入接口为Bitmap)
Bitmap bitmap = (Bitmap)Image.FromFile(@"nature.jpg");
snsPictureBox1.Image = bitmap;
2、显示图像(输入接口为byte[])
Bitmap bitmap = (Bitmap)Image.FromFile(@"nature.jpg");
BitmapData mapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, bitmap.PixelFormat);
bitmap.UnlockBits(mapData);
byte[] imgData = new byte[mapData.Stride*mapData.Height];
Marshal.Copy(mapData.Scan0,imgData, 0, imgData.Length);
snsPictureBox1.ShowImage(imgData,bitmap.Width, bitmap.Height, bitmap.PixelFormat);
3、显示图像(输入接口为Intptr)
Bitmap bitmap = (Bitmap)Image.FromFile(@"nature.jpg");
BitmapData mapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, bitmap.PixelFormat);
snsPictureBox1.ShowImage(mapData.Scan0, bitmap.Width, bitmap.Height, bitmap.PixelFormat);
bitmap.UnlockBits(mapData);
显示效果
技术交流
QQ群: 577276243