C#使用SnsPictureBox.dll显示图像,自带缩放和平移功能,带预览图调整显示区域。

发布时间 2023-04-26 10:58:36作者: 雨云雨巷

下载地址 SnsPictureBox.dll图像显示样例-C#文档类资源

使用SnsPixtureBox显示图像具有以下三大优势:

一、便捷性:

1、输入接口多,支持的输入类型有Bitmap(图像),byte[](图像数据),  Intptr(图像数据地址)等。

2、可直接在线程里执行图像显示,不需要使用委托。

二、功能性

1、可以鼠标操作图像,在鼠标位置对图像进行放大缩小平移。

2、当图像不处于全部视野时,右下角会有出现预览图,可在预览图里快速调整图像显示区域。

3、可轻松绘制点、直线、  矩形、填充矩形、圆形、填充圆形、扇形、填充扇形、多边形、填充多边形。

4、可查看当前鼠标位置处的图像坐标和像素点RGB值。

三、高效性

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);

显示效果 :https://live.csdn.net/v/292525

技术交流

QQ群: 577276243