当前位置: 首页 > news >正文

对网站建设展望装修公司取名高端大气

对网站建设展望,装修公司取名高端大气,2019河北省建设厅检测员报名网站,wordpress缓存文件在哪C#&Winform&ListView实现缺陷图片浏览器 功能需求图像浏览行间距调整悬浮提示 功能需求 机器视觉检测系统中特别是缺陷检测系统,通常需要进行对已经检出的缺陷图片进行浏览查阅。主要是通过条件筛选查询出所需要的数据,进行分页再展示到界面中。…

C#&Winform&ListView实现缺陷图片浏览器

  • 功能需求
    • 图像浏览
    • 行间距调整
    • 悬浮提示

功能需求

机器视觉检测系统中特别是缺陷检测系统,通常需要进行对已经检出的缺陷图片进行浏览查阅。主要是通过条件筛选查询出所需要的数据,进行分页再展示到界面中。
预期功能:

  • 条件查询:通过不同的条件查询需要展示的检测记录数据
  • 数据分页:页面大小有限,控制数据来源,对数据进行分页
  • 图像展示:以平铺的方式展示图像
  • 数据提示:鼠标移动到图片上显示其他详细信息
  • 原图查看:点击查看原始大图

本文使用Winform&ListView实现图像展示和数据提示这部分功能需求,效果如下所示:
效果图像

图像浏览

界面上需要放置一个ListView控件和一个ImageList对象。
我们是要平铺显示大图,设置ListView空间的View属性为LargeIcon,说大也不够大,只有256*256。

具体实现过程就是:
1 查询到数据;
2 遍历数据源将图像数据填充到ImageList对象,同时设置ListView的listViewItem集合
3 传递给ListView来展示。

注意:
1 图像失真:设置 imageList.ColorDepth = ColorDepth.Depth32Bit;
2 图像大小:ImageSize.Height或者ImageSize.Width应介于 1 和 256 之间。

private void uiPagination1_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{try{List<DefectResultDetails> data = new List<DefectResultDetails>();if (datas == null){return;}for (int i = (pageIndex - 1) * count; i < (pageIndex - 1) * count + count; i++){if (i >= datas.Count) continue;data.Add(datas[i]);}int index = 0;listView1.Clear();imageList = new ImageList();imageList.ImageSize = new Size(256, 130);//彩色图像需要设置,否则图像会失真imageList.ColorDepth = ColorDepth.Depth32Bit;foreach (var item in data){imageList.Images.Add(Bitmap.FromFile(item.Path));ListViewItem listViewItem = new ListViewItem();listViewItem.ImageIndex = index;listViewItem.Tag = $"{item.Path.Split('\\')[4]}-{item.Path.Split('\\')[5].Split('.')[0]}";listViewItem.Text = $"{item.Path.Split('\\')[4]}-{item.Path.Split('\\')[5].Split('.')[0]}";//使用该方法要将控件的 ShowItemTttlTips设置为True//listViewItem.ToolTipText = $"总面积:{item.Area} 最大高度:{item.Height} 最大宽度:{item.Width} 是否报警:{item.IsAlarm}";listViewItem.SubItems.Add($"总面积:{item.Area} 最大高度:{item.Height} 最大宽度:{item.Width} 异物个数:{item.Count} 是否报警:{item.IsAlarm}");// 为了在点击时预览原始图像,从这里可以拿到图像的绝对路径listViewItem.SubItems.Add($"{item.Path}");listView1.Items.Add(listViewItem);index++;}listView1.LargeImageList = imageList;//调整显示内容之间的行间距留白SetSpacing(170, 319);}catch (Exception ex){Logger.Logger.Error($"{ex}");}
}

行间距调整


[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
const int LVM_FIRST = 0X1000;
const int LVM_SETICONSPACING = LVM_FIRST + 53;/// <summary>
/// y 左右间距,x 是上下间距
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
public void SetSpacing(Int16 x, Int16 y)
{SendMessage(listView1.Handle, LVM_SETICONSPACING, 0, x * 65536 + y);this.listView1.Refresh();
}

悬浮提示

鼠标悬浮与图片上方就可以显示以下内容:
$“总面积:{item.Area} 最大高度:{item.Height} 最大宽度:{item.Width} 异物个数:{item.Count} 是否报警:{item.IsAlarm}”

private void listView_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e)
{ToolTip toolTip = new ToolTip();string itemInfor = e.Item.SubItems[1].Text;toolTip.SetToolTip((e.Item).ListView, itemInfor);
}
http://www.yayakq.cn/news/774550/

相关文章:

  • 建网站不想用怎样撤销百度打广告怎么收费
  • 网站的后台怎么做的保护稀有动物网站建设策划书
  • 东营中移动网站建设江苏省建设资格注册中心网站
  • 免费的推广网站云南seo公司
  • 开源程序做网站任务五金制品东莞网站建设
  • 网站开发的步骤实训内容个人网站的制作
  • 高校后勤网站建设要求网站怎么做虚拟连接
  • 互联网网站解决方案网站的页面布局是什么
  • 黔东南网站建设wordpress 插件路由
  • 南京做网站建设搭建的公司提供邯郸wap网站建设
  • 免费手机建网站平台胶州网站建设电话
  • 培训网站开发需求说明书整合营销传播的六种方法
  • 佛山大型网站设计公司做招聘网站怎么办营业执照
  • 重庆亮哥做网站马鞍山市网站建设服务有限公司
  • 做网站销售东西 需要什么资质久久建筑网是山东省的吗
  • 网络及建设公司网站xmlrpc.php wordpress
  • 网站 活动页面国内设计师个人网页
  • 武义网站建设网站备案 抽查
  • 律师事务所网站 备案杭州英文网站建设
  • 河南网站建设哪家公司好seo 网站关键词
  • 什么网站可以做ppt模板学网页设计有用吗
  • 深圳市住房建设局官方网站网站互动营销
  • 响应式网站开发的设计原则六安网站建设企业
  • django网站开发视频盐城网站制作网络推广
  • 临沂网站建设有哪些简单网站建设报价单
  • 做微网站价格网站建设的经费预算报告
  • 怎样做1个网站响应式设计的网站
  • 珍岛外贸网站建设石家庄网络公司哪里多
  • CP网站建设搭建需要多少钱家在深圳坪山业主论坛
  • 网站外包要花多少钱wordpress怎样改头像