基于WPF图像处理Demo软件(一)

本文深入探讨WPF中TreeView控件的定制方法,包括自定义节点样式、实现文件路径通知及展示磁盘目录结构。通过代码示例,讲解如何创建适配不同文件类型的节点图标,以及响应选中事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WPF控件模版TreeView

  1. 整个Demo效果图。
    在这里插入图片描述

  2. 前言
    最近准备接触图像处理领域的东西,想想还是从opencv开始学习,看到模板匹配的时候忍不住想动手实现之间接触的一个项目,因某些原因图像的来源是从CSharp程序里实现的,所以得转到C++里面调用opencv处理,但是到选取模板区域有点麻烦了,wpf自带的image控件并不支持选区的编辑,而且还有坐标、RGB等重要信息输出,就动手Do It!

  3. 感谢
    首先这里参阅了好多大神的例子,包括这个主界面(论坛大神用纯C/C++实现基础的图像处理功能,简直是我等楷模!),站在别人的肩膀上果然不腰疼。。。

  4. 正题
    框架介绍下,左边是TreeViee控件,反射的自己磁盘目录文件,如果是文件的话只区分两种,图片文件和非图片文件,本软件仅处理图像文件(bmp、jpg、png);右边为图像控件,能实现鼠标操作,缩放、拖动、实时显示位置和RGB、局部放大、选取编辑(仅以三种形状Demo)等功能。

    • TreeView控件
      添加节点选中的属性,对外通知选中的文件路径(参阅)。
class MyTreeView : TreeView
    {
   
   
        public MyTreeView() : base()
        {
   
   
            this.SelectedItemChanged += new RoutedPropertyChangedEventHandler<object>(___ICH);
        }

        void ___ICH(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
   
   
            if (SelectedItem != null)
            {
   
   
                //将SelectedItem通知到SelectedItem_Property也就是代理属性SelectedItem_,以便往外传播
                SetValue(SelectedItem_Property, SelectedItem);
            }
        }

        public object SelectedItem_
        {
   
   
            get {
   
    return (object)GetValue(SelectedItem_Property); }
            set {
   
    SetValue(SelectedItem_Property, value); }
        }
        public static readonly DependencyProperty SelectedItem_Property = DependencyProperty.Register("SelectedItem_", typeof(object), typeof(MyTreeView
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值