EntityViewInfo中FilterInfo如何设置包含多项的过滤?

EntityViewInfo常常用作bos中接口参数,来做查询用,其中包含了FilterInfo(过滤)、Selector(指定属性)以及Sorter(排序),我们会经常碰到过滤时,某个属性要像sql中的in的查询方式,FilterInfo提供了此功能,具体写法如下:

第一种是CompareType用Inner:

      用inner方式时,值项要写成如下格式:

      数值类型为:(1,2,3),字符串类型为"'1','2','3'"

第二种是CompareType用Include:

      用Include方式时,值项要写成如下格式:

      Set 类型,即建立一个Set对象,将值一个一个加入。

 

注意:FilterInfo在做like的过滤时,值项的两端要类似于sql加上"%"方可正确过滤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: AForge是一个在.NET框架上构建的开源计算机视觉和人工智能库。它为开发人员提供了一系列工具和算法,用于图像、视频、多媒体处理和计算机视觉方面的开发。 我们可以利用AForge库来设置摄像头的参数。首先,需要确保已经安装了AForge库,并将其添加到项目。 接下来,在代码添加必要的命名空间,例如: using AForge.Video; using AForge.Video.DirectShow; 然后,我们需要实例化一个VideoCaptureDevice类,以访问摄像头。使用以下代码进行实例化: //实例化一个准备使用的摄像头 VideoCaptureDevice videoSource = new VideoCaptureDevice(); 接着,需要获取所有可用的摄像头设备列表,并将其添加到ComboBox,以便用户选择设备。以下代码段演示了此操作: FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); foreach (FilterInfo device in videoDevices) { comboBox1.Items.Add(device.Name); } 接下来,我们可以选择设备并设置其参数。使用以下代码段,可将选定设备的视频格式、大小和帧率设置为所需的值: if (comboBox1.Items.Count > 0) { videoSource = new VideoCaptureDevice(videoDevices[comboBox1.SelectedIndex].MonikerString); videoSource.VideoResolution = videoSource.VideoCapabilities[0]; videoSource.DesiredFrameRate = 25; } 在这个例子,我们选择了comboBox1的设备,并将视频分辨率设置为第一个可用的分辨率,帧率设置为25fps。 最后,我们可以开始从摄像头获取视频流并对其进行处理。使用以下代码段开始视频捕捉: videoSource.NewFrame += new NewFrameEventHandler(videoSource_NewFrame); videoSource.Start(); 在以上代码,videoSource_NewFrame是处理新帧的方法。当视频捕捉设备提供新的图像时,将调用该方法。 总体而言,可以通过AForge库轻松地设置摄像头参数,并利用该库实现计算机视觉和图像处理应用程序。 ### 回答2: AForge.NET是一个强大的计算机视觉和人工智能框架,它是用C#编写的,是开源的,可在Windows平台上使用。AForge提供了许多图像、视频处理和机器学习算法。在AForge,可以设置和控制摄像头的参数,以获取最佳的图像质量。本文将使用AForge设置摄像头参数实例,探讨如何使用AForge设置并控制摄像头参数。 1. 首先,在Visual Studio创建一个新的Windows窗体应用程序。 2. 在“工具箱”将“AForge.Controls”添加到窗体。 3. 双击窗体以打开代码视图,然后添加以下代码: ```csharp using AForge.Video; using AForge.Video.DirectShow; private FilterInfoCollection videoDevices; private VideoCaptureDevice videoSource; ``` 4. 使用以下代码初始化摄像头: ```csharp private void InitializeCamera() { videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) { MessageBox.Show("No camera detected"); } else { videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString); videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame); videoSource.Start(); } } ``` 该代码将枚举所有可用的摄像头,并取出第一个摄像头的设备标识符。 5. 使用以下代码设置摄像头参数: ```csharp private void SetCameraParameters() { videoSource.Stop(); videoSource.DisplayPropertyPage(IntPtr.Zero); videoSource.Start(); } ``` 该代码打开“摄像头属性”对话框,可以设置各种摄像头设置,例如亮度、对比度、饱和度、白平衡等等。 6. 将以下代码添加到窗体类的顶部: ```csharp void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); pictureBox1.Image = bitmap; } ``` 该代码显示捕获到的帧在PictureBox上,以供观察。 7. 在窗体Load事件初始化摄像头并设置摄像头参数: ```csharp private void Form1_Load(object sender, EventArgs e) { InitializeCamera(); SetCameraParameters(); } ``` 完成以上步骤后,你可以运行程序并测试设置摄像头参数的效果。在“摄像头属性”对话框更改参数,观察图像显示的变化。 总结:以上示例的代码可用于设置不同品牌和型号的摄像头的参数。使用AForge.NET框架,我们可以轻松地控制摄像头以获得最佳的图像质量。 ### 回答3: AForge是一个在C#使用的计算机视觉和人工智能库。它允许开发人员开发各种应用程序,例如图像处理,人脸识别,移动机器人控制和许多其他用例。在AForge,可以使用类Camera和VideoCaptureDevice来设置摄像头参数。 首先,将AForge库添加到Visual Studio项目。然后,添加引用using AForge.Video.DirectShow;以便访问视频类。 接下来,您可以列出所有可用的摄像头设备并选择一个设备进行设置: var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); VideoCaptureDevice selectedDevice = new VideoCaptureDevice(videoDevices[0].MonikerString); 其FilterInfoCollection用于列出所有可用视频输入设备的过滤器,VideoInputDevice指示设备类别,而MonikerString返回设备的独特标识符。 要更改摄像头的参数,例如分辨率和帧速率,您可以使用VideoCapabilities属性。例如,要更改分辨率为640x480像素,帧速率为30 fps,请执行以下操作: selectedDevice.VideoResolution = selectedDevice.VideoCapabilities.FirstOrDefault(v => v.FrameSize.Width == 640 && v.FrameSize.Height == 480 && v.AverageFrameRate == 30); 这将设置视频设备的VideoResolution属性为特定视频功能。 最后,您需要打开摄像头并开始捕捉图像: selectedDevice.Start(); selectedDevice.NewFrame += new NewFrameEventHandler(captureDevice_NewFrame); 在NewFrame事件处理程序,您可以对图像进行处理或保存到磁盘上的文件。 以上是使用AForge库设置摄像头参数的一个简单实例。实际上,AForge库提供了许多更高级的功能,例如分类器和跟踪算法,可以使用它来开发更高级的计算机视觉应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值