首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

关于WinForms的跨显示器DPI自适应

PPI 的意思是 Pixels per inch,也就是每英寸屏幕显示多少像素的意思。这个值越高,表示屏幕的显示能力越细腻。...但也意味着,要显示物理尺寸和低PPI屏幕相同的画面,高PPI屏幕需要更多的像素来填充。对于一张非矢量图来说,这个问题不好解决,由于向高像素拉伸,这个图片会被“拉模糊”。...例如,用 Surface Pro 外接一个 1920x1080 的22寸显示器,那么Surface的主屏幕通常是 150%以上DPI,而外接显示器是100%。...WinForms 能抢救吗 Windows桌面开发最native的三种技术分别是:WinForms、WPF、UWP。因为UWP诞生于现代,所以天生没有DPI适配问题。...的描述,.NET Framework 从4.7开始,改善WinForms的DPI支持。

2.3K20

Qt 显示视频流——安装ffmpeg(一)

最近项目中有这样一个需求:需要从相机中读取视频流,然后利用Qt显示实时视频流。 最终使用的是这样的结构:ffmpeg从USB免驱相机中获取视频流,然后推流到nginx服务器上。...这次和大家介绍下linux下安装ffmpeg。...ffmpeg怎么读——大家和我一起读:“ef ef em peg” ffmpeg是一个很强大的音视频处理工具,官网是:http://ffmpeg.org/ 官网介绍ffmpeg是:一个完整的、跨平台的解决方案.../configure make sudo make install 编译参数都是默认的,直接安装到系统中即可,安装成功之后继续回到ffmpeg解压后的目录,执行下面命令编译并安装: ②安装ffmpeg.../ffmpeg -version 显示就正常了 ? 查看结果如图: 之前安装时目录写错了,所以是图中的效果。 ?

3.4K20

C# FFmpeg 音视频开发总结

2、如果需要用Opencv或者C#的Emgucv这种库来处理视频流,也多是用FFmpeg做编解码然后再转换图像数据给Opencv去处理。用Opencv编解码延迟很高。...首先是C#使用FFmpeg基本上用的是FFmpeg.autogen这个库。...也可以使用FFmpeg.exe,先不谈论FFmpeg.exe的大小,我尝试过从exe中取数据到C#前端显示,相同参数情况下,延迟比使用FFmpeg.autogen高,主要是不能边播放边录制(可以用其它的库来录制...对于部分基础函数(有些函数会把帧用掉就释放,要注意)查看FFmpeg的源码,理解原理。 对于一些概念性的东西,我是翻阅硕博论文(一般都有总结这些)。 C#使用FFmpeg需要注意什么?...3、其次是c# 要将图像数据渲染到界面显示,最最好使用WriteableBitmap,将WriteableBitmap和绑定到一个Image然后更新WriteableBitmap。

39350

SkeyeExPlayer(Windows)开发之ffmpeg log输出报错

SkeyeExPlayer主要基于ffmpeg进行开发,在SkeyeExPlayer开发过程中,曾遇到一个相对比较棘手的问题,该问题一般在播放不是很标准的流或者网络情况较差,容易出现丢帧的情况特别容易出现...后面补上),不过在播放没有音频的rtsp流的时候比较容易出现,报错定位output.c源文件中,应该是字符串格式化输出的时候出错,经过排查,定位到ffmpeg的日志输出,为了便于查看错误,我在avformat_open_input...()打开流函数前加了日志输出打印函数调用: av_log_set_level(AV_LOG_WARNING); av_log_set_callback(callback);在callback...回调函数中输出的日志打印,从而能看到FFMPEG的内部报错信息,而屏蔽这两句,虽然在丢帧的情况下视频卡帧了,但是上文提到的报错的问题却不再出现了,所以,我们猜测在ffpeg内部应该存在一个地方的日志打印出现错误的地方

25750

C# 如何写 DEBUG 输出

但是输出的窗口只有一个,如果有一个逗比在不停输出,那么就会让输出窗口看不到自己的内容。...需要在文件的开始写下面的代码 #define DEBUG_取消注释显示林德熙调试 using System; using System.Collections.Generic; using System.Diagnostics...Task.Run(() => { while (true) { #if DEBUG_取消注释显示林德熙调试...使用 Debug.WriteLine 输出 推荐使用 Debug.WriteLine 而不是使用 Console.WriteLine 输出,在发布的版本里面,使用 Console 输出将会作为控制台输出...的时候记得在你的调试下开启 DEBUG 宏 过滤输出 在 VisualStudio 里面,我的团队争夺最多的是输出窗口内容,我会发现我的输出窗口不断在输出我不关注的内容,于是我找到了 VisualStudio

87430

dotnet 5 破坏性改动 WPF 和 WinForms 的 OutputType 输出类型重定向为 WinExe 类型

官方团队为了防逗比,默认将 OutputType 输出类型重定向为 WinExe 类型,这样能解决很多新手遇到的 WPF 项目显示出黑框控制台界面问题。...而对于一些老司机来说,这个特点反而有点迷,特别是在尝试打开控制台调试的时候 在开始之前,先复习一下 OutputType 这个属性的作用,这个属性告诉了 SDK 程序集输出的文件是什么。...可以选的值是 Library 类库和 Exe 控制台程序以及 WinExe 带界面的程序 而 Exe 和 WinExe 的差别对于 WPF 和 WinForms 程序来说就是是否在启动的时候显示出控制台出来...而在 dotnet 5 的时候,只要引用了 WPF 或 WinForms 的 SDK 内容,那么 SDK 默认将会重定向 OutputType 为 WinExe 类型 这个行为也能说明为什么引用了 WPF...因为如果原先是控制台程序,引用了 WPF 之后不显示控制台了,但是项目原先又没有显示如任何的窗口,就好像应用啥都不做一样 如果想要禁用这个默认的行为,只需要在 csproj 上添加 DisableWinExeOutputInference

80910

FFmpeg内存IO模式(内存区作输入或输出)

内存区作输出 2.1 用法 用法如示例中注释的步骤,如下: // @opaque : 是由用户提供的参数,指向用户数据 // @buf : 作为FFmpeg输出,此处FFmpeg已准备好buf...FFmpeg会将输出写入内存缓冲区obuf,用户可在回调函数中将obuf中的数据取走。...所有输出数据的时刻,都将调用回调函数。和输出是普通文件相比,只不过输出变成了内存区,其他各种外在表现并无不同。...buffer用作FFmpeg输入时,由用户负责向buffer中填充数据,FFmpeg取走数据。 buffer用作FFmpeg输出时,由FFmpeg负责向buffer中填充数据,用户取走数据。...write_flag是缓冲区读写标志,读写的主语是指FFmpeg。 write_flag为1时,buffer用于写,即作为FFmpeg输出

4.4K10
领券