草庐IT

c# - 确保导出的 JPEG 小于最大文件大小

我目前有一个应用程序可以截取演示者桌面的屏幕截图,然后通过自定义协议(protocol)将其广播给观众。为了使图像传输速度足够快以达到每秒2-3张图像的帧速率,我需要确保图像大小始终小于~300KB。我将C#用于演示应用程序,它通过以下过程将屏幕截图编码为JPEG。我担心的是,使用静态压缩设置时图像质量可能会有很大差异。如果我的应用程序捕获我的屏幕,当我使用VisualStudio全屏时图像输出将约为200KB,但如果我最小化我的屏幕并显示我的桌面背景,它将约为400KB。我可以将编码过程放入循环中,并不断减小图像大小,直到字节数组的大小小于300KB,但这似乎是一个乏味的操作。我可以

c# - .NET 中定时器的最大精度是多少?

我想知道System.Timers中Timer类的精度是多少,因为它是double(这似乎表明您可以有几分之一毫秒)。这是什么? 最佳答案 Windows桌面操作系统在40毫秒以下确实不准确。操作系统根本不是实时的,因此会出现明显的不确定性抖动。这意味着虽然它可能会报告精确到毫秒甚至更小的值,但您不能指望这些值真正有意义。因此,即使Timer间隔设置为某个亚毫秒值,您也不能依赖设置和触发之间的时间来实现您所说的实际时间。除此之外,您正在运行的整个框架是不确定的(GC可能会暂停您并在Timer应该触发的时间进行收集)并且您最终会面临大

c# - 如何使用 Reactive Extensions 使用最大窗口大小来限制事件?

场景:我正在构建一个UI应用程序,每隔几毫秒从后端服务获取通知。收到新通知后,我想尽快更新UI。因为我可以在短时间内收到很多通知,而且我总是只关心最新的事件,所以我使用了ReactiveExtensions框架的Throttle()方法。这让我可以忽略紧跟新通知的通知事件,因此我的UI保持响应。问题:假设我将通知事件的事件流限制为50毫秒,并且后端每10毫秒发送一次通知,则Thottle()方法将永远不会返回事件,因为它会一次又一次地重置其滑动窗口。在这里,我需要一些额外的行为来指定诸如超时之类的东西,以便在事件吞吐量如此之高的情况下,我每秒至少可以检索一个事件。我如何使用Reacti

c# - WPF TextBox MaxLength——有没有办法将其绑定(bind)到绑定(bind)字段上的数据验证最大长度?

View模型:publicclassMyViewModel{[Required,StringLength(50)]publicStringSomeProperty{...}}XAML:有什么方法可以避免设置TextBox的MaxLength来匹配我的ViewModel(这可能会改变,因为它在不同的程序集中)并让它根据StringLength要求自动设置最大长度? 最佳答案 我用了Behavior将TextBox连接到其绑定(bind)属性的验证属性(如果有)。行为看起来像这样://////Setthemaximumlengthofa

c# - sql server 2008最大数据库数

我们正在编写一个基于ASP.Net/C#的程序,该程序可能会被许多公司访问(每个公司都有单独的登录名和数据)。我们正在考虑拥有多个sqlserver2008数据库(同一实例),每个数据库用于一个公司。但是,访问数据库的C#程序是相同的,并且会根据客户将要访问的数据库创建适当的连接字符串。在看到由于以下原因导致的任何性能下降之前,在sqlserver的单个实例中可以创建多少个这样的数据库限制连接,因为每个连接(不确定它是否会被合并以访问不同的数据库)是使用不同的连接字符串创建的。数据库数量限制,是硬件限制还是sqlserver2008数据库数量增加到100个就会降级?还有什么我可能遗漏的

c# - WCF 日志记录,设置最大文件大小?

我正在使用Microsoft服务配置编辑器来设置诊断(WCF日志记录),但我找不到任何方法来设置最大文件大小?我找到了MaxSizeOfMessageToLog但它对文件大小没有任何作用?编辑1:根据这个:http://msdn.microsoft.com/en-us/library/aa395205.aspxsharedListeners级别应该有一个maxFileSizeKB,但是当在添加标记中点击空格时,我无法键入maxFileSizeKB?编辑2:当添加maxFileSizeKB时,服务将不再启动,而是会出现以下异常:“maxFileSizeKB”不是类型“System.Dia

c# - 如何最小化/最大化打开的应用程序

我有打开的应用程序列表。为了获得这个列表,我使用了以下代码internalstaticclassNativeMethods{publicstaticreadonlyInt32GWL_STYLE=-16;publicstaticreadonlyUInt64WS_VISIBLE=0x10000000L;publicstaticreadonlyUInt64WS_BORDER=0x00800000L;publicstaticreadonlyUInt64DESIRED_WS=WS_BORDER|WS_VISIBLE;publicdelegateBooleanEnumWindowsCallback

c# - 将字符串拆分为最大长度的行而不打断单词的最佳方法

我想将一个字符串分成指定最大长度的行,如果可能的话,不拆分任何单词(如果有一个单词超过了最大行长度,那么它就必须被拆分)。一如既往,我敏锐地意识到字符串是不可变的,最好使用StringBuilder类。我见过将字符串拆分为单词然后使用StringBuilder类构建行的示例,但下面的代码对我来说似乎“更简洁”。我在描述中提到“最好”而不是“最有效”,因为我也对代码的“Eloquent”感兴趣。字符串永远不会很大,一般分成两三行,也不会出现几千行的情况。下面的代码真的很糟糕吗?privatestaticIEnumerableSplitToLines(stringstringToSplit

c# - 如何获得特定长度的最大数量

我有一个号码,例如1234567897865;我如何最大化它并创建99999999999999?我是这样做的:intlen=ItemNo.ToString().Length;StringmaxNumString="";for(inti=0;i完成此任务的更好、更合适和更短的方法是什么? 最佳答案 varx=1234567897865;returnMath.Pow(10,Math.Ceiling(Math.Log10(x+1e-6)))-1;为了扩展下面的评论,如果这个问题用十六进制或二进制表示,可以非常简单地使用移位运算符来完成即,

c# - .NET 垂直滚动条不遵守最大属性

我有一个表单,并在上面放置了一个垂直滚动条。无论我将“最大值”属性设置为什么,滚动条都只会向上滚动到该值减9。这是为什么?我在VisualStudio2008中使用C#。(WinForms) 最佳答案 经过一些研究,我发现滚动条只能达到最大值减去滚动条slider的大小。slider的大小似乎等于(LargeChange-1)。对我来说似乎不是很直观,但你去吧。 关于c#-.NET垂直滚动条不遵守最大属性,我们在StackOverflow上找到一个类似的问题: